Prueba de hipótesis con Big Data

12

¿Cómo se realizan las pruebas de hipótesis con Big Data? Escribí el siguiente script de MATLAB para enfatizar mi confusión. Todo lo que hace es generar dos series aleatorias y ejecutar una regresión lineal simple de una variable sobre la otra. Realiza esta regresión varias veces utilizando diferentes valores aleatorios y promedios de informes. Lo que suele suceder es que a medida que aumento el tamaño de la muestra, los valores p en promedio se vuelven muy pequeños.

Sé que debido a que el poder de una prueba aumenta con el tamaño de la muestra, dada una muestra lo suficientemente grande, los valores p serán lo suficientemente pequeños, incluso con datos aleatorios, para rechazar cualquier prueba de hipótesis. Pregunté y algunas personas dijeron que con 'Big Data' es más importante observar el tamaño del efecto, es decir. si la prueba es significativa Y tiene un efecto lo suficientemente grande como para que nos importe. Esto se debe a que en los tamaños de muestra grandes, los valores p recogerán diferencias muy pequeñas, como se explica aquí .

Sin embargo, el tamaño del efecto puede determinarse mediante el escalado de los datos. A continuación, escalo la variable explicativa a una magnitud lo suficientemente pequeña que, dado un tamaño de muestra lo suficientemente grande, tiene un gran efecto significativo sobre la variable dependiente.

Entonces, me pregunto, ¿cómo podemos obtener una idea de Big Data si existen estos problemas?

%make average
%decide from how many values to make average
obs_inside_average = 100;

%make average counter
average_count = 1;

for average_i = 1:obs_inside_average,






%do regression loop
%number of observations
n = 1000;

%first independent variable (constant term)
x(1:10,1) = 1; 

%create dependent variable and the one regressor
for i = 1:10,

    y(i,1) = 100 + 100*rand();

    x(i,2) = 0.1*rand();

end





%calculate coefficients
beta = (x'*x)\x'*y;

%calculate residuals
u = y - x*beta;

%calcuatate sum of squares residuals
s_2 = (n-2)\u'*u;

%calculate t-statistics
design = s_2*inv(x'*x);

%calculate standard errors
stn_err = [sqrt(design(1,1));sqrt(design(2,2))];

%calculate t-statistics
t_stat(1,1) = sqrt(design(1,1))\(beta(1,1) - 0);
t_stat(2,1) = sqrt(design(2,2))\(beta(2,1) - 0);

%calculate p-statistics
p_val(1,1) = 2*(1 - tcdf(abs(t_stat(1,1)), n-2));
p_val(2,1) = 2*(1 - tcdf(abs(t_stat(2,1)), n-2));






%save first beta to data column 1
data(average_i,1) = beta(1,1);

%save second beta to data column 2
data(average_i,2) = beta(2,1);

%save first s.e. to data column 3
data(average_i,3) = stn_err(1,1);

%save second s.e. to data column 4
data(average_i,4) = stn_err(2,1);

%save first t-stat to data column 5
data(average_i,5) = t_stat(1,1);

%save second t-stat to data column 6
data(average_i,6) = t_stat(2,1);

%save first p-val to data column 7
data(average_i,7) = p_val(1,1);

%save second p-val to data column 8
data(average_i,8) = p_val(2,1);

end

%calculate first and second beta average
b1_average = mean(data(:,1));
b2_average = mean(data(:,2));

beta = [b1_average;b2_average];

%calculate first and second s.e. average
se1_average = mean(data(:,3));
se2_average = mean(data(:,4));

stn_err = [se1_average;se2_average];

%calculate first and second t-stat average
t1_average = mean(data(:,5));
t2_average = mean(data(:,6));

t_stat = [t1_average;t2_average];

%calculate first and second p-val average
p1_average = mean(data(:,7));
p2_average = mean(data(:,8));

p_val = [p1_average;p2_average];

beta
stn_err
t_stat
p_val
JoeDanger
fuente
La prueba de hipótesis se trata de rechazar modelos nulos. Con más datos, puede rechazar "modelos nulos más grandes", por ejemplo, teniendo más covariables o probando múltiples hipótesis.
momeara
2
El elefante en la sala es la representatividad del "big data". Muchos conjuntos de datos enormes recopilados en Internet son (en el mejor de los casos) muestras de conveniencia; Hay peligros ocultos pero bien conocidos que acechan en el esfuerzo de generalizar de la muestra a una población más grande o un proceso en curso.
whuber
1
"Algunas personas dijeron que con 'Big Data' es más importante observar el tamaño del efecto". Con 'Small Data' también es importante observar el tamaño del efecto.
Ari B. Friedman

Respuestas:

11

Como sugirió Peter, creo que una de las cosas importantes en la era de "Big Data" es poner aún menos énfasis en los valores p, y más en una estimación de la magnitud del efecto.

Algunos de mis propios trabajos luchan con esto de una manera que creo que es aún más insidiosa que con Big Data: para los modelos informáticos estocásticos, su poder es completamente una función de paciencia y recursos informáticos. Es una construcción artificial.

Así que regrese a la estimación del efecto. Incluso si es significativo, ¿un aumento del 0,0001% en algo importa en el mundo real?

También he estado jugando con revertir algunas de las ideas detrás de informar sobre el poder del estudio. En lugar de informar el poder que su estudio tenía para detectar el efecto observado, informar el tamaño mínimo del efecto que el estudio tuvo poder para encontrar. De esa manera, el lector puede saber si la importancia estaba esencialmente garantizada.

Fomite
fuente
7

La idea que desea vendrá de los intervalos de confianza, no tanto de los valores p. Con un tamaño de muestra muy grande, obtendrá intervalos de confianza muy precisos, siempre que sus suposiciones estadísticas sean correctas.

Mike Flynn
fuente
Gracias Mike ¿Está diciendo que en estas situaciones, el examen de los intervalos de confianza mostrará que son tan amplios que no deberíamos confiar realmente en el valor exacto de nuestras estimaciones?
JoeDanger
Lo interesante es cuán intuitivamente, la pregunta fue formulada como un problema para datos grandes (donde las pruebas de hipótesis que nos informan cuán improbable es que algo sea 0 son bastante inútiles), y no como un problema para datos pequeños (donde las estimaciones de parámetros son muy imprecisas y a menudo, todo lo que se podría decir es cuán poco probable es que el parámetro sea precisamente 0).
jona
6

Es importante observar el tamaño del efecto independientemente de si los datos son grandes o pequeños.

Con datos puramente aleatorios, debe obtener un resultado significativo el 5% del tiempo. Eso es lo que significa el valor p. Esto también es cierto independientemente del tamaño de la muestra. Lo que varía con el tamaño de la muestra es cuán pequeño debe ser significativo el tamaño del efecto; pero, con grandes muestras de ruido puro, solo es probable que haya pequeñas diferencias; con muestras pequeñas, las diferencias más grandes ocurren con mayor frecuencia. Piense en lanzar una moneda 10 veces: obtener 8, 9 o incluso 10 caras no sería absurdo. Sin embargo, si arroja una moneda 1000 veces, sería realmente extraño obtener 800 caras, mucho menos 900 o 1000 (se pueden calcular los números exactos, pero ese no es el punto. Sin embargo, con 1000 lanzamientos, incluso una pequeña desviación a partir de 500 será significativo.

Por ejemplo, una prueba t con datos aleatorios, 2 vectores de longitud 10

set.seed(102811)
samp.size <- 10
t10 <- vector("numeric", 100)
for (i in 1:100){
x <- rnorm(samp.size)
y <- rnorm(samp.size)
t <- t.test(x,y)
t10[i] <- t$p.value
sum(t10 < .05)/100

Obtuve 0.07

Con dos vectores de tamaño 1000

set.seed(10291)
samp.size <- 1000
t1000 <- vector("numeric", 100)
for (i in 1:100){
  x <- rnorm(samp.size)
  y <- rnorm(samp.size)
  t <- t.test(x,y)
  t1000[i] <- t$p.value
}  
sum(t1000 < 0.05)/100

Tengo 0.05.

Peter Flom - Restablece a Monica
fuente
1
Florn, me parece bien redactado, ¿hay algún documento académico / libro de texto de estadísticas al que se pueda hacer referencia que haga un punto similar?
SAFEX
1
¿Qué punto específico? ¿Sobre mirar los tamaños del efecto? ¿O sobre qué es el azar?
Peter Flom - Restablece a Monica
"Lo que varía con el tamaño de la muestra es cuán pequeño debe ser significativo el tamaño del efecto", esto es muy intuitivo del texto, pero ¿existe
algún
1
No conozco un libro que lo demuestre explícitamente: si quieres algún tipo de libro de estadística matemática, no soy la persona a quien preguntar. Estoy seguro de que alguien aquí lo sabrá, pero es posible que no vean este hilo de comentarios. Tal vez haga una pregunta por separado como "Prueba explícita de lo que varía ..."
Peter Flom - Restablece a Monica
1
hecho y gracias de nuevo por la descripción intuitiva ( stats.stackexchange.com/questions/412643/… )
SAFEX
2

Como ya se mencionó, en las pruebas de hipótesis en realidad está investigando la hipótesis nula, generalmente con la esperanza de poder rechazarla. Además de las otras respuestas, me gustaría proponer un enfoque algo diferente.

En términos generales, si tiene algún tipo de teoría sobre lo que podría estar sucediendo en sus datos, podría hacer un análisis confirmatorio (como el análisis factorial confirmatorio como solo un ejemplo). Para hacerlo, necesitarías un modelo. Luego puede ver qué tan bien su modelo se ajusta a los datos. Este enfoque también permitiría probar diferentes modelos uno contra el otro. Lo bueno de Big Data es que te permite hacer estas pruebas de modelo. En contraste, en psicología, por ejemplo, a menudo no es realmente posible hacerlo, porque los tamaños de muestra tienden a ser demasiado pequeños para este tipo de métodos.

Me doy cuenta de que, por lo general, con Big Data, se utiliza un enfoque exploratorio, porque todavía no existe una teoría. Además, dado que no sé qué le interesa exactamente, esto podría no ser realmente una opción.

Jens Kouros
fuente