Nota: Si, nuevamente asumiré que sabes algo de R, y un poquito que sea de estadísticas (nivel tomaste un par de clases del tema y era). Es difícil escribir todo desde 0, y la verdad para eso hay material de sobra y mil veces mejor en internet, ponele talentoooo!!
Hagamos un test de diagnóstico pa empezar. De los siguientes enunciados, cual o cuáles creen que pueden ser definiciones correctas del p.valor:
- Es la medida que determina si un resultado es o no producto del azar
- Es una medida de si el efecto buscado es real
- Es una medida del tamaño del efecto buscado
- Es una medida de lo significativo que es un estudio
- Es una medida que valida si una hipótesis es cierta
- Es la probabilidad de que la hipótesis nula sea cierta
- Es la probabilidad de que el resultado sea cierto
Revisa tus apuntes!!
.
.
.
.
.
.
.
.
.
.
RESPUESTA:
NINGUNA
Así es, ninguna de estas definiciones es cierta, pese a ser bastante comunes en manuales de psicología o economía, y tal vez más de algún profesor te lo definió así. De hecho la primera definición es el error más comúnmente cometido; el p.valor tiene algo que ver con el azar, pero no es una cuantificación directa de este (asumiendo que algo así existe). Ya pero entonces ¿Qué es?
Primero tenemos que partir hablando de las 2 grandes tradiciones de la estadística (existe una tercera que es más o menos tributaria, conocida como la de Máxima Verosimilitud, pero sinceramente aún no la entiendo del todo).
La primera tradición es la llamada Bayesiana. El razonamiento de esta perspectiva es que tu te conformas ideas previas o "priors" respecto de la realidad, por ejemplo, que existe una diferencia entre A y B. Recoges los datos, y después contrastas tus priors con tus datos observados y ves si estos se distancian demasiado, en cuyo caso ajustas o "actualizas" tus priors en función de esta nueva información. Como podrás intuir esos priors son dados o informados (informative priors) por investigación previa (abducción) o cierto desarrollo teórico (matemático deductivo). Aunque también pueden provenir de otras fuentes como la percepción agregada, el juicio experto o la subjetividad, manteniendo la misma lógica.
Frente a esta tradición existe otra en la que en vez de priors, tenemos la intuición o hipótesis de que existe un efecto o diferencia sistemática en los datos entre un A y un B, vamos a estos, y vemos si en los datos se encuentra esta relación a la larga, es decir, tras repetir múltiples veces el estudio o experimento. Si logramos sorprendernos con un hallazgo a partir desde los mismos datos, podemos establecer que tal hipótesis sobre los datos es cierta. Este enfoque se conoce como Frecuentista.
Así como vemos, mientras el enfoque bayesiano tiende un lazo más directo con la comprobación teórica, el enfoque frecuentista es más datacéntrico, por supuesto también puede servir para reducir cierta incertidumbre respecto de la relación estudiada, pero su nexo con la teoría no es tan directo.
>Ya pero y el p.valor?? Ya calmao, pa allá voy
Como dijimos el enfoque frecuentista funciona "in the long run", a la espera que la ley de los grandes números y el Teorema Central del Límite hagan lo suyo (lo cual no siempre ocurre, sobre esto ver Taleb). Veámoslo con un ejemplo.
Digamos que en el mundo real los chilenos son unos otakus culiaos, y ven más monos chinos que los argentinos, y que la cantidad de horas semanales de consumo de monos shinos está normalmente distribuida en la población, con los siguientes parámetros.
- Chile promedio de horas de monos shinos visto a la semana de 3(±0.7)("±" es la desviación estándar por si acaso)
- Argentina promedio de horas de monos shinos visto a la semana 2(±1)
Estos son parámetros poblacionales, y son los que queremos estimar. Con estos atributos podemos simular datos en R, lo que se hace de esta forma.
library(tidyverse)
options(scipen = 999)
cl <- rnorm(1000, 3, .7) %>% round(2)
ar <- rnorm(1000, 2, 1) %>% round(2)
cl <- data.frame(nac= rep("cl", 1000), otakismo = cl)
ar <- data.frame(nac= rep("ar", 1000), otakismo = ar)
pop <- rbind(cl, ar) %>% as.data.frame()
Lo que estamos haciendo es simular dos poblaciones de 1.000 personas, porque en este mundo ficticio Chile y Argentina tienen solo 1.000 personas ¿problem? (puedes ir jugando con las partes del código que no entiendas pa ver que hace cada cosa)
Luego juntamos esas 2 poblaciones en un solo data frame, que llamaremos "pop", de population.
Teniendo una población de 2.000 personas, generaremos nuestra distribución nula, y aquí entra un poco el azar. Para esto haremos mil simulaciones donde por cada simulación sacamos dos grupos de 30 personas al azar sin reposición, promediaremos la cantidad de horas de monos shinos vistos por grupo, y luego restaremos estos promedios, lo que en R se ve así.
null <- replicate(1000, {
a <- sample(pop$otakismo, 30) %>% mean()
b <- sample(pop$otakismo, 30) %>% mean()
a-b
})
Esto nos da como resultado un vector con los valores de las diferencias medias. Si graficamos nuestra distribución el Teorema Central del Límite nos dice que esto debiera darnos una distribución típica, y bueno juzguen ustedes.
Esto significa que si sacáramos muestras como enfermos mentales al azar de la población y restáramos sus medias, por pura cuea (para los no chilenos "cuea" es azar) podríamos tener diferencias muy grandes y muy chicas, concentrándose la mayoría en torno al 0, lo que implica que no hay efecto o no hay diferencias. Esta es la hipótesis nula o
Ho, lo que nosotros vamos a testear es si
Ho = 0 vs
Ha ≠ 0.
Ya sabemos que Ho ≠ 0 porque en este mundo somos Dios, pero la cosa es hacer de cuenta que no lo fuéramos, en cuyo caso lo que podemos hacer es sacar muestras aleatorias de cada grupo, restar sus medias y ver que pasa. Esto lo hacemos así (fíjense en el orden de la resta).
experimentos <- replicate(1000, {
chilenos <- sample(pop$otakismo[pop$nac=="cl"], 30) %>% mean()
argentinos <- sample(pop$otakismo[pop$nac=="ar"], 30) %>% mean()
chilenos - argentinos
})
Similar a cuando construimos la distribución nula, ahora hacemos 1.000 experimentos o estudios, donde sacamos 30 longis y pibes de cada país sin reposición cada vez, promediamos que tan otakus son, y restamos esos promedios. Ahora, hagamos el razonamiento: ya sabemos que los chilenos son más otakus, porque así hizo Dios (nosotros) al hombre. Si sobreponemos esta distribución junto a la nula ¿Debiera estar más a la derecha o a la izquierda?
En este caso es a la derecha (en rojo), ya que la media de Chile es mayor a la de Argentina, si en la simulación hubiéramos puesto Argentina menos Chile, la distribución estaría a la izquierda. Hay hipótesis en las que tal orientación es relevante, lo que se conoce como
test de una cola (eg.
Ho > 0 o Ho <0); en nuestro caso es de
dos colas, dado que nos interesa saber si la
Ho es igual o distinta de 0 (ie. que los valores caigan a la derecha o izquierda de la
Ho, si fuera de una cola, nos importaría la ubicación).
Y es más, dado que tenemos la población, podemos sacar directamente el p.valor. de cualquier muestra
chilenos <- sample(pop$otakismo[pop$nac=="cl"], 30) %>% mean()
argentinos <- sample(pop$otakismo[pop$nac=="ar"], 30) %>% mean()
dif <- chilenos - argentinos
pnorm(dif, mean(null), sd(null), lower.tail = F)
# la "p" en pnorm() indica probabilidad
Para que se entienda, en una distribución típica que presenta los parámetros de nuestra distribución nula (recordar que la distribución típica se arma con la media y la desviación estándar), la probabilidad de obtener el valor que sacamos de las diferencias de promedios de chilenos y argentinos de 30 personas, es de 0.00002116596 (si repites este ejercicio puede que te de un valor distinto, porque son datos simulados cuasi aleatorios, una manera de evitar eso es seteando las "semillas" con
set.seed(x), pero ya no lo hice y me da paja hacer todo de nuevo, haré un post sobre simulaciones explicando toda esa vaina).
Como vemos, asumiendo que no hay ningún efecto, sacar el valor que obtuvimos es realmente improbable ¿Cachaste o no? Este numerito de mierda "0.00002116596" ES nuestro p.valor, porque si, el p.valor no es lo que es menor que un 0.05 o un 0.01, no, es un valor concreto o más bien una probabilidad ¿Qué probabilidad?
En este contexto, si asumiéramos que en realidad chilenos y argentinos son igual de otakus, y rechazáramos tal supuesto, que tan probable es que nos equivoquemos al repetir este ejercicio en infinitas muestras, lo que conocemos como Error de Tipo I o Falso Positivo. Entonces, si traducimos esto al español, puedo decir que, con base a los datos recogidos, los chilenos en promedio son más otakus que los argentinos, donde la probabilidad de cagarla (en el sentido del Falso Positivo) es del 0.00002116596 ¿Quién no creería esto?
Y si bien es un error pequeño... ¿Es pequeño comparado con qué? Bueno, acá aparece el señor Ronald Fisher, un
racista de mierda, pero genio matemático, quién dijo que por convención un error tolerable o alpha debía ser de un 0.05, y punto, ahí quedó. Si, ese p< .05 es solo una convención social, no un criterio matemático 100% facts and logic, DÓNDE ESTÁ TU DIOS AHORA.
Bueno, harías bien en no creer, porque este resultado en sí puede ser puro producto del azar (descartando la posibilidad de p-hacking), y tal como dijimos, el paradigma frecuentista funciona in the long run, así que simularemos ese long run.
p.valores <- replicate(10000, {
chilenos <- sample(pop$otakismo[pop$nac=="cl"], 30) %>% mean()
argentinos <- sample(pop$otakismo[pop$nac=="ar"], 30) %>% mean()
chilenos - argentinos
dif <- chilenos - argentinos
pnorm(dif, mean(null), sd(null), lower.tail = F)
})
Dado que la diferencia es real, simulé más casos que antes para obtener p.valores que por pura cuea nos de p>.05. Con estos datos podemos graficar la famosa "curva p". Bueno no es tan famosa, en realidad es bastante subvalorada, pero es terrible útil, porque está enraizada directamente en lo que la estadística frecuentista hace. Si el efecto es real, es esperable que la distribución de los p.valores simulados estén concentrados hacia la izquierda, y veamos que pasa.
La línea roja marca p = .05, y como se aprecia, casi todos los valores están debajo de esa banda, en mi caso el 99.72% de estos lo está, pero noten también que existen casos donde no se encuentran diferencias significativas, es decir si te tocara hacer este estudio, existe una chance, aunque baja, de que te de un p>.05 ¿Debieras descartar tu investigación entonces? ¡No po! Y ese es el punto de entender bien que carajo te dice o no un p.valor. Y lo mismo puede ocurrir en el sentido contrario, es decir si las medias fueran iguales, por puro azar podrías encontrar diferencias significativas, en cuyo caso, el error sería asumir que tu investigación es cierta, y lo siento pero NO.
En cualquier caso ahora entiendes porque la definición de p.valor como una medida del "azar" no tiene sentido.
Ahora, con todos estos antecedentes, vamos un poco más allá. El ejercicio que hicimos es ideal, pero in the wild, casi nada de lo que hicimos aplica!!!
- Conocíamos los parámetros poblaciones: ¡Eso no pasa en la vida real! O bueno, rara vez, como en un Censo, y aún en ese caso es con reparos.
- Las muestras que sacamos son i.i.d.: Independientes e Idénticamente Distribuidas, dado que nuestras herramientas son digitales, podemos simular un muestreo ideal, pero nuevamente, esto es terriblemente complejo de lograr en el mundo real, muchas veces la independencia de las muestras no es tal, no están distribuidas como se espera (de hecho las más de las veces tal distribución se asume!), etc.
- La aleatoriedad del muestreo se cumple: Aunque las computadoras son máquinas deterministas, gracias a los algoritmos de Monte Carlo, a micro escala podemos producir resultados muy próximos al azar (aunque esto también es discutible). En el mundo real tienes sesgos de selección, error de medición, índice de no respuesta, datos perdidos no aleatorios, y un montón de dolores de cabeza. Esto en general se tiende a resolver con test no-paramétricos, pero estos NO son soluciones ideales, solo cambian unos supuestos por otros que pueden ser tan o más problemáticos.
Todos estos factores terminan incidiendo en el p.valor y otros valores que obtendrás. En el fondo lo que te quiero decir es que NO HAY QUE FIJARSE SOLO EN EL P.VALOR!!!!
Lo más relevante es como se llega a este p.valor, cuántos datos se recogieron, como se recogieron, como se garantizó su integridad, su limpieza y consolidación, su proceso de análisis ¿serías capaz de replicar el estudio (de tener las competencias y recursos suficientes claro)? Etc.
A esto agregar que existen más estimadores que aportan información como el tamaño de efecto o los intervalos de confianza de los que puede que te hable más adelante.
¿Se parece a la definición de p.valor que te habían contado o habías leído? ¿Se diferencia mucho? ¿Lo entendiste mejor ahora?
Epílogo:
Si necesitas una fuente más seria de esta definición de p.valor, y citar este blog sea problemático, te recomiendo revises este paper, que resume excelentemente lo expuesto, pero con matemáticas y esas cosas.
Además puedes jugar con ciertos parámetros, por ejemplo en vez de asumir que las distribuciones son típicas, asumir que están sesgadas, te recomiendo por ejemplo cambiar la desviación estándar, por ejemplo haciéndola más chica o más grande, y ver que pasa. Haz el razonamiento, si los datos están más dispersos la probabilidad de cometer un error de tipo I ¿debiera ser mayor o menor?
Comments
Post a Comment