Cuidado con el p-valor. Depende del tamaño de la muestra

El otro martes, Teresa mi profesora de la Facultad de Estudios Estadísticos, dijo una frase que me dejó helado.“Ojo con el p-valor porque depende del tamaño muestral” Estábamos estudiando regresión logística y test de independencia. Ahora que uno mismo vuelve a estudiar que es lo que hay detrás de la salida de los programas estadísticos se plantea muchas dudas. Por definición el p-valor depende del tamaño muestral y es una medida que la tomamos como un axioma para todo: El p-valor nunca miente hasta que tenemos mucha exposición. Voy a utilizar un ejemplo que vi en clase con Teresa ligeramente retocado (no creo que se enfade, no creo ni que lea esto). Trabajo con SAS porque estoy más acostumbrado a la salida que ofrece. Se trata de realizar un test de independencia para una tabla 2×2. La H0 o hipótesis nula es que existe independencia entre el factor de nuestro estudio y la variable dependiente en nuestro caso H0 es no hay relación entre la utilización de un pesticida y la presencia de una enfermedad frente a H1 hay relación entre la utilización del pesticida y la presencia de la enfermedad. Simulamos los datos con SAS:

 data datos;
do i=1 to 85;
pesticida = 0; enfermedad = 0; output; end;
do i = 1 to 15;
pesticida = 0; enfermedad = 1; output; end;

do i = 1 to 168;
pesticida = 1; enfermedad = 0; output; end;

do i = 1 to 31;
pesticida = 1; enfermedad = 1; output; end;
run;

proc freq; tables pesticida*enfermedad; quit;

 

Si realizamos un modelo de regresión logística sobre esta tabla 2×2 y vemos la salida correspondiente al test de Wald:

 proc logistic data=datos;
class pesticida;
model enfermedad = pesticida;
quit;

 

Como el p-valor es mayor de 0,05 no rechazamos la H0. No hay relación entre estar expuesto al pesticida y la enfermedad. Estamos de acuerdo todos. Con esa cantidad de individuos hay independencia. Pero, ¿con las mismas proporciones y muchos más individuos que pasa? Si aumentamos el número de individuos, ¿disminuye el p-valor? Un proceso iterativo y sobre cada iteración volvemos a recalcular el p-valor:

 
ods select none;
data datos2; run;
data wald; run;

*MACRO CON 250 ITERACIONES;
%macro doit();
%do i=1 %to 250;
data datos2;
set datos2 datos;
run;

*PARA CADA ITERACION NOS QUEDAMOS CON EL TEST DE WALD;
ods output Type3=wald_aux;
proc logistic data=datos2;
class pesticida;
model enfermedad = pesticida;
quit;
*UNIMOS TODAS LAS ITERACIONES;
data wald_aux;
set wald_aux;
ejecucion = &i.;

data wald; 
set wald wald_aux;
run;

%end;
%mend;

%doit;

data wald;
set wald;
if _n_=1 then delete; 
run;

*GRAFICAMOS EL PROCESO;
ods select all;
proc sgplot data=wald;
series x=ejecucion y=probchisq/;
yaxis max=1 min=0;
refline 0.05;
run;quit;

Como resultado obtenemos…

Al final terminamos por no rechazar la H0. Menos mal que nos queda el odds ratio y los intervalos de confianza, pero de eso hablaremos otro día. Saludos.