Saltar al contenido principal
LibreTexts Español

12.7: La prueba exacta de Fisher

  • Page ID
    151277
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    ¿Qué debes hacer si tus recuentos de celdas son demasiado pequeños, pero aún así quieres probar la hipótesis nula de que las dos variables son independientes? Una respuesta sería “recopilar más datos”, pero eso es demasiado sencillo: hay muchas situaciones en las que sería inviable o poco ético hacer eso. Si es así, los estadísticos tienen una especie de obligación moral de proporcionar a los científicos mejores pruebas. En esta instancia, Fisher (1922) amablemente proporcionó la respuesta correcta a la pregunta. Para ilustrar la idea básica, supongamos que estamos analizando datos de un experimento de campo, observando el estado emocional de las personas que han sido acusadas de brujería; algunas de las cuales actualmente están siendo quemadas en la hoguera. 181 Desafortunadamente para el científico (pero más bien afortunadamente para la población en general), en realidad es bastante difícil encontrar personas en proceso de ser incendiadas, por lo que los recuentos de células son muy pequeños en algunos casos. El archivo Salem.rdata ilustra el punto:

    load("./rbook-master/data/salem.Rdata")
    
    salem.tabs <- table( trial )
    print( salem.tabs )
    ##        on.fire
    ## happy   FALSE TRUE
    ##   FALSE     3    3
    ##   TRUE     10    0

    Al observar estos datos, sería difícil no sospechar que las personas que no están en llamas tienen más probabilidades de ser felices que las personas en llamas. Sin embargo, la prueba de chi-cuadrado hace que esto sea muy difícil de probar debido al pequeño tamaño de la muestra. Si trato de hacerlo, R me da un mensaje de advertencia:

    chisq.test( salem.tabs )
    ## Warning in chisq.test(salem.tabs): Chi-squared approximation may be
    ## incorrect
    
    ## 
    ##  Pearson's Chi-squared test with Yates' continuity correction
    ## 
    ## data:  salem.tabs
    ## X-squared = 3.3094, df = 1, p-value = 0.06888

    Hablando como alguien que no quiere que le prendan fuego, realmente me gustaría poder obtener una mejor respuesta que esta. Aquí es donde la prueba exacta de Fisher viene muy útil.

    La prueba exacta de Fisher funciona de manera algo diferente a la prueba de chi-cuadrado (o de hecho cualquiera de las otras pruebas de hipótesis de las que hablo en este libro) en la medida en que no tiene una estadística de prueba; calcula el valor p “directamente”. Explicaré los conceptos básicos de cómo funciona la prueba para una tabla de contingencia 2×2, aunque la prueba funciona bien para mesas más grandes. Como antes, vamos a tener alguna notación:

    Feliz Triste Total
    Prenden fuego O 11 O 12 R 1
    No prendido fuego O 21 O 22 R 2
    Total C 1 C 2 N

    Para construir la prueba Fisher trata tanto los totales de fila como de columna (R 1, R2, C 1 y C 2) son conocidos, cantidades fijas; y luego calcula la probabilidad de que hubiéramos obtenido las frecuencias observadas que hicimos (O 11, O 12, O 21 y O 22) dados esos totales. En la notación que desarrollamos en el Capítulo 9 esto está escrito:

    P (O 11, O 12, O 21, O 22 | R 1, R 2, C 1, C 2)

    y como te imaginas, es un ejercicio un poco complicado averiguar cuál es esta probabilidad, pero resulta que esta probabilidad es descrita por una distribución conocida como la distribución hipergeométrica. 182 Ahora que sabemos esto, lo que tenemos que hacer para calcular nuestro valor p es calcular la probabilidad de observar esta tabla en particular o una tabla que sea “más extrema”. 183 Ya en la década de 1920, calcular esta suma era desalentador incluso en las situaciones más simples, pero en estos días es bastante fácil siempre que las tablas no sean demasiado grandes y el tamaño de la muestra no sea demasiado grande. El tema conceptualmente complicado es averiguar qué significa decir que una tabla de contingencia es más “extrema” que otra. La solución más sencilla es decir que la tabla con menor probabilidad es la más extrema. Esto nos da entonces el valor p.

    La implementación de la prueba en R es a través de la función fisher.test (). Así es como se usa:

    fisher.test( salem.tabs )
    ## 
    ##  Fisher's Exact Test for Count Data
    ## 
    ## data:  salem.tabs
    ## p-value = 0.03571
    ## alternative hypothesis: true odds ratio is not equal to 1
    ## 95 percent confidence interval:
    ##  0.000000 1.202913
    ## sample estimates:
    ## odds ratio 
    ##          0

    Esto es un poco más de salida de lo que obtuvimos de algunas de nuestras pruebas anteriores. Lo principal que nos interesa aquí es el valor p, que en este caso es lo suficientemente pequeño (p=.036) como para justificar rechazar la hipótesis nula de que las personas en llamas son tan felices como las personas que no están ardiendo.


    This page titled 12.7: La prueba exacta de Fisher is shared under a CC BY-SA 4.0 license and was authored, remixed, and/or curated by Danielle Navarro via source content that was edited to the style and standards of the LibreTexts platform.