Вы находитесь на странице: 1из 4

Test de independencia de Fisher

Vicente Arias, Roberto Moreno, Cristopher Salazar, Estudiantes de Ingeniería en Electricidad


U .T.E.Q
F.C.I

cris_esl@hotmail.es

 totales >1000 los resultados de los test aproximados son muy


Abstract—. The purpose of this document is to present the parecidos. [1]
function to perform the fisher independence test and to test its Es importante tener en cuenta que el test de Fisher está
usefulness in some examples. diseñado para situaciones en las que las frecuencias marginales
de filas y columnas (los totales de cada fila y columna) son fijas,
Index Terms—. Test de independencia de Fisher, Test Exacto de se conocen de antemano. [1]
Fisher, R project.
Si esta condición no se satisface el test de Fisher deja de ser
exacto, por lo general pasando a ser más conservativo. [1]
I. INTRODUCCIÓN
B. Hipótesis
L a prueba de Fisher se utiliza con tablas de contingencia 2x2
y es la más aconsejable cuando exista una o más celdas con
frecuencias esperadas menores que 5.
Ho: Las variables son independientes por lo que una variable
no varía entre los distintos niveles de la otra variable. [1]
La prueba se basa en la determinación, a partir de una Ha: Las variables son dependientes, una variable varía entre
distribución hipergeometrica, de la probabilidad de obtener las los distintos niveles de la otra variable. [1]
frecuencias observadas cuando los totales de filas y columnas
son constantes, teniendo como hipótesis nula que las variables C. Condiciones del test
son independientes.
Independencia: las observaciones de la muestra deben ser
Esta prueba se comprobó con distintos ejemplos realizados independientes unas de otras. [1]
mediante la función incorporada en R.

II. OBJETIVO  Muestreo aleatorio.


 Tamaño de la muestra < 10% población.
 Determinar la función para realizar la prueba de  Cada observación contribuye únicamente a uno de los
independencia de Fisher y sus parámetros. niveles.
 Comprobar el funcionamiento de la prueba por medio
de ejemplos. Las frecuencias marginales de columnas y filas tienen que
ser fijas. Si esta condición no se cumple, el test de Fisher deja
III. DESCRIPCIÓN METODOLÓGICA de ser exacto. [1]
A. Test de independencia de Fisher
La prueba de Fisher es el test exacto utilizado cuando se D. Cálculo del p-value
quiere estudiar si existe asociación entre dos variables El test exacto de Fisher se basa en la distribución
cualitativas, es decir, si las proporciones de una variable son hipergeométrica, que permite calcular la probabilidad exacta de
diferentes dependiendo del valor que adquiera la otra variable. obtener una determinada distribución de eventos dentro de una
En la gran mayoría de casos, el test de Fisher se aplica para tabla. Supóngase la siguiente tabla de contingencia: [1]
comparar dos variables categóricas con dos niveles cada una
(tabla 2x2). Es posible utilizarlo con tablas 2xK niveles pero los .. nivel-A1 nivel-A2 total
requerimientos de cálculo son altos. [1]
nivel-B1 a b a+b
El test de Fisher es más preciso que sus equivalentes
aproximados (test chi-square de independencia o G–test de nivel-B2 c d c+d
independencia) cuando el número de eventos esperado por
total a+c b+d n= a+b+c+d
nivel es pequeño. Se recomienda utilizarlo siempre que sea
posible (tiempo de computación) aunque para observaciones
Si las frecuencias marginales son fijas (conocidas), sabiendo IV. EJEMPLOS
el valor de una celda se puede calcular el valor de las demás. La A continuación se muestran algunos ejemplos de la prueba
probabilidad de que a adquiera un determinado valor (dentro de de independencia de Fisher:
las limitaciones impuestas por las frecuencias marginales) se
corresponde con la fórmula de la distribución hipergeométrica: A. Ejemplo 1
[1] En este ejemplo, usamos el conjunto de datos de nacimientos
de 2006 del package nutshell. Echaremos un vistazo al número
de bebés de ambos sexos que nacieron en julio de 2006, según
el método de parto. Tomaremos un subconjunto de nacimientos
durante julio donde se conocía el método de parto y luego
El test de Fisher calcula las probabilidades de todas las tabularemos los resultados: [2]
posibles tablas y suma las de aquellas tablas que tengan
probabilidades menores o iguales que la tabla observada, Teniendo en cuenta que los métodos de parto fueron en
generando así el p-value de dos colas. [1] realidad ligeramente desequilibrados por género durante julio
E. Test de Fisher en R de 2006:
En R, puede utilizar la función fisher.test para realizar la
births.july.2006=births2006.smpl[births2006.smpl$DMETH_
prueba exacta de Fisher: [2]
REC!="Unknown"&births2006.smpl$DOB_MM==7,]
fisher.test(x, y = NULL, workspace = > nrow(births2006.smpl)
200000, hybrid = FALSE, control [1] 427323
= list(), or = 1, alternative =
"two.sided", conf.int = TRUE,
> nrow(births.july.2006)
conf.level = 0.95, [1] 37060
simulate.p.value = FALSE, B = 2000) >
method.and.sex=table(births.july.2006$SEX,as.factor(as.chara
He aquí una descripción de los argumentos para fisher.test. cter(births.july.2006$DMETH_REC)))
> method.and.sex
Argumento Descripción Predeterminado C-section Vaginal
Especifica los datos simples que se
utilizarán para la prueba. Ya sea una matriz
F 5326 12622
x
(que representa una tabla de contingencia M 6067 13045
bidimensional) o un factor. Los resultados fueron ligeramente desequilibrados por
Especifica los datos de la muestra que se
utilizarán para la prueba. Si x es un factor, género durante julio del 2006.
y NULL
entonces y debería ser un factor. Si x es
una matriz, entonces y se ignora.
Un valor entero que especifica el tamaño
> 5326 / (5326 + 6067)
Workspace del espacio de trabajo a utilizar en el 200000 [1] 0.46748
algoritmo de red (en unidades de 4 bytes). > 12622 / (12622 + 13045)
En el caso de los cuadros de tamaño
superior a 2 × 2, especifíquese si deben [1] 0.4917598
Hybrid calcularse las probabilidades exactas FALSE Sin embargo, no hay una razón intuitiva para que esto sea
(hybrid=FALSE) o si debe utilizarse una
aproximación (hybrid=TRUE). cierto. Comprobamos entonces si esta diferencia es
Una lista de componentes con nombre para estadísticamente significativa: ¿la diferencia se debe al azar o
el control de bajo nivel de fisher.test;
Control
consulte el archivo de ayuda para obtener
List() es probable que estas dos variables (método de parto y sexo)
más información. sean independientes? Podemos usar la prueba exacta de Fisher
Or
La relación de probabilidades hipotética
1 para responder a esta pregunta:
para el caso de 2 × 2.
La hipótesis alternativa. Debe ser uno de
Alternative “two.sided”
"dos caras", "mayor" o "menor".
Un valor lógico que especifica si se deben
Conf.int calcular y devolver los intervalos de TRUE
confianza en los resultados.
Especifica el nivel de confianza que se
Conf.level utilizará para calcular el intervalo de 0.95
confianza.
Valor lógico que indica si se debe utilizar
Simulate.p.value la simulación de Monte Carlo para calcular FALSE
valores p en tablas mayores de 2 × 2. El valor p es la probabilidad de obtener resultados que estaban al
Un número entero que indica el número de menos tan alejados de la independencia como estos resultados. En este
B réplicas a utilizar en las simulaciones de 2000
caso, el valor p es muy bajo, lo que indica que los resultados estaban
Monte Carlo.
muy lejos de lo que esperaríamos si las variables fueran
verdaderamente independientes. Esto implica que debemos rechazar la
Si usted especifica x e y como factores, entonces R calculará hipótesis de que las dos variables son independientes.
una tabla de contingencia a partir de estos factores.
Alternativamente, puede especificar una matriz para x que Como segundo ejemplo, veamos sólo los nacimientos de
contenga la tabla de contingencia. gemelos. (Tenga en cuenta que cada registro representa un
. solo nacimiento, no un solo embarazo).
>
twins.2006=births2006.smpl[births2006.smpl$DPLURAL=="
2 Twin" & births2006.smpl$DMETH_REC != "Unknown",]
>
method.and.sex.twins=table(twins.2006$SEX,as.factor(as.char #Realización del test Fisher
acter(twins.2006$DMETH_REC))) fisher.test(tabla)
> method.and.sex.twins

C-section Vaginal
F 4924 1774
M 5076 1860

Ahora veamos si hay una diferencia estadísticamente


significativa en los métodos de parto entre los dos sexos:

Conclusión: Si hay asociación entre las variables, es decir, el


bajo peso y el fumar durante la gestación están asociados de
manera significativa (p-value <0.05)

EJEMPLO # 3
Se quiere estudiar si la reacción alérgica a un compuesto y una
En este caso, el valor p (0.67) es muy alto, por lo que es muy determinada mutación en un gen están relacionados. Para ello
probable que las dos variables sean independientes. se realiza un test alérgico sobre un grupo de individuos
seleccionados al azar y se genotipa el estado del gen de interés
EJEMPLO # 2 ¿Existe un diferencia significativa en la incidencia de la
Supongamos que se quiere estudiar la posible asociación entre mutación entre los alérgicos y no alérgicos?
el hecho de que una gestante fume durante el embarazo y que
el niño presente bajo peso al nacer. Por lo tanto, se trata de ver Planteamiento de las hipótesis
si la probabilidad de tener bajo peso es diferente en gestantes Ho= No existe una diferencia significativa en la incidencia de
que fumen o en gestantes que no fumen durante la gestación. la mutación entre los alérgicos y no alérgicos.
Para responder a esta pregunta se realiza un estudio de Ha= Existe una diferencia significativa en la incidencia de la
seguimiento sobre una cohorte de 2000 gestantes, a las que se mutación entre los alérgicos y no alérgicos.
interroga sobre su habito durante la gestación y se determina
además el peso del recién nacido. Los resultados de este estudio Se realiza para un conjunto de 30 datos los cuales representaran
se muestran a continuación: el número de personas alérgicas y no alérgicas.

Cuadro. 1. Tabla de contingencia para estudiar la asociación >sujeto=c(rep("No alergico",14),rep("alergico",16))


entre fumar durante la gestación y el bajo peso del niño al nacer. >Estado_gen=c(rep("FALSE",11),rep("TRUE",3),rep("FALS
Estudio de seguimiento de 2000 gestantes E",6),rep("TRUE",10))

El test de Fisher trabaja con frecuencia de eventos, por lo tanto


con tablas de contingencia en las que se sumariza el número de
eventos de cada tipo.

>tabla=table(sujeto, Estado_gen)
>tabla
Planteamiento de la hipótesis:
H0: No hay asociación entre las variables (en el ejemplo, el bajo
peso del niño y el hecho de fumar durante la gestación son
independientes o no están asociados).
H1: Si hay asociación entre las variables, es decir, el bajo peso
y el fumar durante la gestación están asociados.
#Formación de la tabla de contingencia a estudiar
Si<-c(43,105) Test de Fisher
Ahora el comando para realizar el análisis del test de Fisher es
No<-c(207,1645)
el siguiente:
tabla<-data.frame(Si,No)
>fisher.test(tabla)
rownames(tabla)<-c("Fumadores","No fumadores")
tabla
A la tabla del test de Fisher se la representará con el nombre de
Fisher, para poder desclasificar cada variable de la tabla y tomar
solo los valores que nos interesen en este caso p_value que es
el valor de P:

Ahora lo redondearemos a 3 decimales:

Como se observa el valor p_value que representa al valor de P,


es 0,033 siendo inferior a 0,05 que representa al 5% del nivel
de significancia y entonces por lo tanto se rechaza la hipótesis
nula.

V. CONCLUSIONES
 Se determinó la función para realizar la prueba de
Fisher o Test exacto de Fisher.
 Se comprobó la prueba de Fisher en ejemplos donde
se rechazaba y aceptaba la hipótesis de independencia
con éxito.

VI. REFERENCIAS

[1] J. A. Rodrigo, «https://rpubs.com,» Enero 2016. [En


línea]. Available: https://rpubs.com/Joaquin_AR/220579.
[Último acceso: 10 Agosto 2018].
[2] J. Adler, R in a Nutshell, 2012.