(#366). MODELO DE HOMOGENEIDAD EN TABLAS DE 2X2

[MONOTEMA] A veces los investigadores aplicados no tenemos muy claro qué procedimiento emplear para analizar nuestros datos, incluso en las situaciones más sencillas, como en una tabla de contingencia de 2×2.

En este post voy a tratar de mostrar algunos errores comunes, y reflexionar acerca del papel que tiene el tamaño de muestra en la interpretación de los resultados. No voy a profundizar en las múltiples opciones de análisis, sino que el objetivo es familiarizarse con la forma de manejar los datos.

Modelo de homogeniedad

En una tabla de 2×2, cuando los totales en fila están fijados por muestreo y los totales de columna son aleatorios, el modelo de probabilidad asociado a este análisis se denomina “modelo de homogeneidad” (ver Ato & López, 1996). Veamos un ejemplo (Tabla 1):

Tabla 1. Datos observados en un experimento

  ¿Compra el producto?  
Grupo Compra No compra Total
Control 50 50 100
Experimental 180 120 300
Total 230 170 400

Aquí tenemos a 400 individuos que han participado en un estudio, asignados  a dos grupos (control y experimental). Hay 100 personas en el grupo de control y 300 en el experimental, es decir, los tamaños de muestra no están balanceados.

Estamos interesados en conocer si la probabilidad de compra de un producto está asociada al grupo, o lo que es lo mismo, si aquellos que están en el grupo experimental tienen un patrón de respuesta diferente a los del grupo de control.

A primera vista parece que el grupo experimental ha comprado el producto en mayor proporción que el grupo de control: 180/300 vs 50/100, pero hay que emplear un test estadístico para comprobarlo.

El test de la chi-cuadrado

La prueba de la chi-cuadrado de Pearson, es probablemente, una de las opciones estadísticas más conocidas y empleadas. Seguiremos la notación de Ato & López (1996). 

Donde nij son las frecuencias observadas y mij las frecuencias esperadas en las a filas y b columnas.

Básicamente, esta fórmula refleja la desviación cuadrática entre lo que sería esperable bajo la hipótesis nula (no hay asociación) y lo que realmente encontramos. Y esa diferencia (elevada al cuadrado para evitar compensaciones), se pondera (relativiza) por el tamaño de lo que esperamos. El valor que obtenemos sigue una distribución chi-cuadrado con grados de libertad igual al número de filas menos 1, multiplicado por el número de columnas menos 1. En el caso de una tabla de 2×2, los grados de libertad son 1.

Los resultados del análisis de la Tabla 1 nos dicen que: chi-cuadrado=3.07 y que el valor de probabilidad asociado (p-valor), es p=0.08. De este modo, el resultado no sería significativo al 95% (p>0.05), aunque sí al 90% (p<0.10). Es el investigador quien tiene que valorar en qué medida esos resultados apoyan o no su hipótesis nula de carencia de asociación.

En Stata, podemos usar el comando tabi, e incluir las frecuencias en filas tal y como se muestra a continuación.

365_2

Cuidado con la construcción de la tabla

Hemos de tener cuidado con la construcción de la tabla, porque podemos caer en el error de escribirla de la manera siguiente (Tabla 2).

Tabla 2. Datos observados en un experimento (que producen confusión)

  ¿Compra el producto?
Grupo Compra Total
Control 50 100
Experimental 180 300

Aunque es obvio que lo que dice la tabla es correcto, podemos confundirnos a la hora de aplicar el test de la chi-cuadrado, si tomamos el total como la columna de “no compra”. Así, se podría confundir la estimación, tal y como muestro en esta salida de Stata:

365_3

Afortunadamente, la salida de Stata nos da la construcción de los totales por fila y columna, y ahí podemos identificar el error que hemos cometido en la forma de programar el test.

En epidemiología, donde en ocasiones tenemos datos sobre número de enfermos o muertes sobre un total de personas/año, es fácil caer en este error.

Cuidado con las frecuencias esperadas

También hemos de estar atentos para no confundirnos al tomar las frecuencias esperadas. El test de la chi-cuadrado puede implementarse sin necesidad de establecer una tabla de contingencia 2×2 (o de mayor rango), sino simplemente a través de las categorías de una variable discreta.  

Por ejemplo, imaginemos que tenemos sólo datos del grupo experimental: 300 personas, de las cuales 180 compran y 120 no compran. Si queremos testar la hipótesis de que ambos porcentajes son iguales, es decir,  de que estadísticamente no hay diferencias entre comprar y no comprar, podemos tomar como frecuencia esperada 150. Entonces la fórmula sería así:

De este modo, p=0.0005, lo que sería estadísticamente significativo al 99.9% (p<0.001). Ahí podríamos concluir que, efectivamente, hay diferencias en el patrón de compra. Es decir, si no hay grupo de control, con la información que manejamos hemos de admitir diferencias significativas.

Pero, ¿qué ocurre cuando hay grupo de control?. Pues que aunque el grupo de control tenga un patrón de respuesta de 50/50, es decir, de no diferencias, los resultados cambian ostensiblemente. Y cambian porque las frecuencias esperadas no son 150 para el grupo experimental, sino 172.5 y 127.5. Si volvemos a visionar la Tabla 1, tenemos que:

Frecuencia esperada para la celda (1,1)=100*230/400=57.5

Frecuencia esperada para la celda (1,2)= 100*170/400=42.5

Frecuencia esperada para la celda (2,1)= 300*230/400=172.5

Frecuencia esperada para la celda (2,1)= 300*170/400=127.5

Con esa distribución de frecuencias esperadas, la tabla quedaría así (Tabla 3):

Tabla 3. Distribución de frecuencias esperadas

  ¿Compra el producto?  
Grupo Compra No compra Total
Control 57.5 42.5 100
Experimental 172.5 127.5 300
Total 230 170 400

El porcentaje que compra sería del 57.5% en ambos grupos (control y experimental) y el test de la chi-cuadrado nos daría, obviamente, evidencia de que no hay ninguna asociación (quitando decimales porque las frecuencias deben ser números enteros):

365_4

Por tanto, el test de la chi-cuadrado en tablas de contingencia tiene en cuenta la información de toda la tabla para computar las frecuencias esperadas de cada celda, lo que a priori puede parecer contra intuitivo, ya que si lo que pretendemos contrastar es que no hay asociación, ¿por qué hemos de tomar como frecuencias esperadas unos valores que hacen que el porcentaje no sea del 50%?.

La respuesta a esta pregunta es, aunque parezca mentira, uno de las grandes cuestiones objeto de discusión en estadística y epidemiología, porque significa que las conclusiones que sacamos sobre la significatividad de una hipótesis sobre el comportamiento de una variable, dependen del conjunto de variables que hemos tenido en cuenta. 

El debate

Si ahora los datos de la Tabla 1 hubieran sido obtenidos de una investigación en Estados Unidos y España, quedaría así (Tabla 4):

Tabla 4. Datos observados en un experimento en dos países

  ¿Compra el producto?  
País Compra No compra Total
Estados Unidos 50 50 100
España 180 120 300
Total 230 170 400

¿Debemos entonces tener en cuenta lo que pasa en Estados Unidos para analizar si hay un resultado significativo en España? Preguntas similares a esta han llevado a algunos epidemiólogos a cuestionarse los test múltiples y los ajustes posteriores por el número de comparaciones hechas. 

En cualquier caso, es un asunto muy profundo y no es objetivo de tratar en este post más allá de incluirlo como elemento de reflexión.

La muestra (casi) infinita

No obstante, todo sería más fácil si la muestra para Estados Unidos fuera casi infinita (estadísticamente hablando), y en la misma proporción (Tabla 5)

Tabla 5. Datos observados en un experimento en dos países (con muestra casi infinita en uno de ellos)

  ¿Compra el producto?  
País Compra No compra Total
Estados Unidos 50000 50000 100000
España 180 120 300
Total 50180 50120 100300

 Y ahora nos fijamos en el desarrollo de la chi-cuadrado de Pearson:

Vemos que es prácticamente idéntico al análisis que hacíamos antes sólo con el grupo experimental, es decir, haciendo un contraste enfocado sin tener en cuenta más datos.

De este modo, lo que podemos inferir de este ejemplo es que al considerar todos los datos disponibles en la tabla, estamos incluyendo toda la variabilidad inherente al conjunto de la muestra, añadiendo cada vez más ruido (las muestras casi nunca son tan grandes como sería deseable) e influyendo en los resultados de cualquier test específico que planteáramos hacer.

¿Recomendaciones? En un principio podemos sugerir que los datos hay que analizarlos con la rigurosidad de la estadística, pero mirándolos siempre de manera global y contextualizada. En función de cada objetivo de investigación y del diseño del estudio, tomar una aproximación u otra podría estar justificado.

El efecto del tamaño de la muestra en una tabla de 2×2

La Tabla 1 también puede analizarse usando el test Z de diferencia en probabilidades (ver Ato & López, 1996). 

donde:

p11=n11/n1. siendo n1. el total de la fila 1

p21=n21/n2. siendo n2. el total de la fila 2

 = (n11+n21)/(n1.+n2.), es decir una estimación media de la probabilidad de la primera columna

De este modo: Z=-1.75, lo que no es significativo al 95% (Z=-1.96).

Como bien es sabido, la chi-cuadrado es una suma de variables Z al cuadrado, por lo que Z2=3.069, que es precisamente el valor obtenido de la chi-cuadrado.

Para simular el comportamiento de Z cuando cambia el tamaño de la muestra, vamos a suponer que la Tabla 1 es ahora así (Tabla 6):

Tabla 6. Datos observados en un experimento

  ¿Compra el producto?  
Grupo Compra No compra Total
Control 150 150 300
Experimental 180 120 300
Total 230 270 600

Es decir, tenemos las mismas probabilidades de celda que en el  caso anterior, pero con el mismo tamaño de muestra en cada fila:

Vamos a programar en Maxima usando el siguiente código:

Z99: -2.56; Z95: -1.96;Z90 -1.64 ;

A:-0.1; B:0.55;

g1(A,B,x):=block([Z, C],
C:4/x,
Z:(A)/(sqrt(B*(1-B)*C)),
return(Z)
)$

funcion:g1(A,B,x)$

plot2d([funcion, Z99,Z95,Z90], [x,0,1000],[y,-3,0],[legend,false],[xlabel,”Tamaño de la muestra”], [ylabel, “Z”],[color, red, magenta, orange, green]);

Lo que hemos hecho es muy sencillo. En primer lugar, hemos estipulado los valores de corte del estadístico Z al 99%, 95% y 90% (en el lado negativo de la distribución), con los colores magenta, naranja y verde, respectivamente.

En segundo lugar le damos valores a A y B, siendo:

A=p11-p21

B=

Es decir, según la Tabla 6, A=-0.1 y B=0.55

En tercer lugar, generamos la función g1 donde reproducimos la fórmula de Z en función de A, B y C,  estipulando que C=4/x. La explicación del valor de C es simple, ya que hemos considerado que los totales en fila son iguales.

Dado que n1=x/2, siendo x el tamaño total de la muestra, entonces C=4/x

El gráfico que obtenemos en función del tamaño de la muestra es este:

365_5

Como puede apreciarse, para valores idénticos de probabilidad, la significatividad del test Z (y por ende de la chi-cuadrado), se incrementa con el tamaño muestral. En otras, palabras, y como no podía ser de otro modo, cuanta más muestra tenemos más capacidad disponemos para detectar efectos significativos con los mismos valores de probabilidad en las celdas de la tabla de contingencia.

(La simulación no es estrictamente correcta porque el valor de  también cambia con el tamaño muestral, pero son cambios relativamente pequeños y no alteran en demasía la interpretación, por lo que por sencillez de cálculo lo hemos omitido).

Conclusión

Hemos visto que analizar una sencilla tabla de 2×2 conlleva una serie de cuestiones y matices importantes a nivel estadístico y conceptual. Los investigadores aplicados, que no somos más que unos simples estudiantes que tratamos de aprender de las grandes eminencias en estadística y metodología, debemos afrontarlas y evitar los errores de interpretación. 

Existen más herramientas, como el test exacto de Fisher, por ejemplo, que también se emplean con mucha profusión (y que es preferible a la chi-cuadrado con muestras pequeñas). Pero cada test tiene sus particularidades y sus limitaciones.

El establecimiento de grupos de control y la consideración de sus datos tiene más sentido cuando no se conoce a priori la proporción de casos sobre la que hacer la comparación del grupo experimental (no es evidente que sea un número conocido a priori). Esto ocurre, por ejemplo, cuando el control es un grupo al que se le suministra placebo.

Aún así, fijando una probabilidad a priori sobre la que contrastar la hipótesis, con el grupo experimental únicamente se podría completar el análisis. Sin embargo, perderíamos información sobre la idoneidad o no de la intervención (en términos de coste-beneficio), ya que no intervenir podría reportar beneficios similares sin ningún coste.

No vamos alargar más la discusión, porque ciertamente es casi interminable. Si el estudiante ha llegado hasta aquí pacientemente, este no sería el final, porque podríamos introducir medidas de tamaño de efecto para tener en cuenta el tamaño muestral. En el caso de la chi-cuadrado se suele usar el coeficiente phi.

En mi experiencia, quizá la forma más efectiva para lidiar con la sensibilidad muestral y con las dificultades de interpretación es replicar el estudio, y si es posible más de una vez. Un visionado conjunto a esas replicaciones ayudaría bastante a obtener conclusiones válidas, pero, desafortunadamente, no siempre es posible llevarlas a cabo.

Todos los posts relacionados




(#365). BÁSICOS DE ECUACIONES ESTRUCTURALES (V): MATRIZ DE DATOS BRUTOS

[MONOTEMA] En esta quinta entrega, vamos a explicar en qué consiste la matriz de datos brutos que debemos emplear como entrada para realizar los análisis, que no es más que la matriz de covarianzas entre todos los observables de la muestra. Esa matriz se suele denominar como S.

El profesor Leslie A. Hayduk, explica perfectamente en su libro de 1987 cómo se construye esa matriz (pp. 62-63). Lo que quizá llame la atención a los estudiantes es que esa matriz de entrada no es una matriz de n x m, es decir casos en filas y m variables en columnas, que es el tipo de disposición habitual para realizar un análisis de regresión por mínimos cuadrados, por ejemplo, donde debemos especificar las puntuaciones de cada caso en cada variable.

Aquí no es así. Y no lo es porque, como ya hemos explicado en capítulos anteriores, las relaciones entre los coeficientes de los modelos se pueden obtener a partir de las covarianzas directamente. Obviamente, las covarianzas se construyen desde los datos individuales, pero no necesitamos especificarlos en SEM.

Si partimos de una matriz X de n filas y m columnas (casos x variables), podemos construir la matríz X’X, donde X’ es la transpuesta de X. La matriz X’ es de dimensión m x n. De este modo, la matriz resultante es una matriz de m x m, es decir, una matriz cuadrada donde sólo hay relaciones entre las variables observables.

Esas relaciones son relaciones de covarianza cuando se divide esa matriz resultante por n, es decir, S=Cov(X’X)=(X’X)/n. Eso es así porque recordemos que los datos estaban tomados en desviaciones sobre la media, y que por tanto la multiplicación de las dos matrices da una suma de cuadrados. La matriz S es simétrica, y en la diagonal están las varianzas de los observables.

Ejemplo con Stata

Vamos a realizar una entrada manual de datos en Stata a través de una matriz de 3 casos x 2 variables, muy sencillo por tanto.

/*Generamos la matriz, primero metiendo las filas y después las columnas*/
matrix input X = (3,2\1,0\0,1)
/*Le pedimos un listado para asegurarnos que los datos están como queremos*/
matrix list X
/*Calculamos la matriz traspuesta*/
mat Xtraspuesta=X’
/*Le pedimos un listado para asegurarnos que los datos están como queremos*/
matrix list Xtraspuesta
/*Multiplicamos ambas matrices, y nos da una suma de cuadrados*/
mat sumcuad=X’*X
/*Le pedimos un listado para asegurarnos que los datos están como queremos*/
matrix list sumcuad
/*Dividimos la suma de cuadrados por el tamaño de la muestra (3 casos)*/
mat covar=sumcuad/3
/*Y le pedimos un listado para ver la matriz de covarianzas, que es la matriz S de datos brutos*/
matrix list covar

De este modo, por muy grande que sea el número de casos, nuestra matriz de datos brutos siempre tendrá el tamaño de m x m variables observables.

Dos cosas importantes a considerar son: (1) Los datos de entrada están en desviaciones con respecto a la media. Es decir, los vectores de datos el ejemplo con Stata [3,1,0] y [2,0,1] son datos en desviaciones sobre la media. Si no lo están, basta con hacer ese cálculo previo para seguir con el procedimiento indicado; (2) De momento no vamos a considerar ni la posibilidad de incluir en la matriz de entrada los valores medios, ni la ocurrencia de casos perdidos (ambos temas de índole más avanzado).

El efecto del tamaño de muestra

Aunque usemos una matriz de covarianzas, el tamaño de la muestra, es decir, el número de casos, es fundamental. Quizá se pueda pensar que el tamaño muestral no importa si dos matrices de covarianzas son iguales cuando provienen de muestras de tamaño diferente (lo que puede suceder perfectamente).

Pero sí que importa, porque esas covarianzas estarán mejor estimadas si provienen de muestras más grandes. Para comprobar empíricamente esta cuestión, vamos a ejecutar el siguiente código:

/* Borrramos lo anterior */
clear
/* Generamos una muestra aleatoria Normal (500 casos) con media 0 y varianza=1*/
drawnorm x1, n(500)
/* Ahora dividimos la muestra en 10 grupos diferentes*/
gen g1=1 in 1/50
gen g2=2 in 51/100
gen g3=3 in 101/150
gen g4=4 in 151/200
gen g5=5 in 201/250
gen g6=6 in 251/300
gen g7=7 in 301/350
gen g8=8 in 351/400
gen g9=9 in 401/450
gen g10=10 in 451/500
/* Generamos la desviación típica para cada uno de los grupos*/
egen SD = sd(x1), by(g1 g2 g3 g4 g5 g6 g7 g8 g9 g10)
/* Convertimos esas desviaciones típicas en varianzas*/
gen varianza=SD*SD
/* Listamos el primer valor de cada grupo, generando las 10 varianzas diferentes*/
list var in 1
list var in 51
list var in 101
list var in 151
list var in 201
list var in 251
list var in 301
list var in 351
list var in 401
list var in 451
/* Obtenemos la varianza de la muestra de 500 casos y así podemos compararla con las obtenidas para las submuestras*/
sum x1, detail

Lo que hemos hecho es un simple ejercicio de simulación donde podemos ver que, siempre que corremos el código, la varianza de la muestra de 500 casos es muy cercana a 1. Sin embargo, en los 10 subgrupos esa varianza puede oscilar mucho, pudiendo obtener varianzas muy cercanas pero también muy lejanas a 1.

Por tanto, aunque la varianza de la población sea realmente 1, escoger muestras pequeñas puede hacer que algunas varianzas (y también covarianzas) de la matriz S disten mucho de su valor real, lo que a su vez puede distorsionar la comparación que ha de hacerse con la matriz implicada por el modelo (que explicaremos en capítulos posteriores).

Conclusión

La matriz de entrada en SEM es una matriz cuadrada de covarianzas de las variables observables, donde en la diagonal están las varianzas,y que además es simétrica. Esa matriz se denomina S, y está sujeta a la inherente variabilidad muestral.

Tamaños de muestra pequeños pueden distorsionar de forma importante esta matriz, por lo que aunque el número de casos no esté explícitamente expresado en S, es fundamental para que S sea válida. Es cierto que, en algunas ocasiones SEM puede funcionar bien con muestras relativamente pequeñas, pero probablemente sea arriesgarse demasiado.

Todos los posts relacionados




(#362). ¿HORMESIS ENTRE EL VOLUMEN DE ENTRENAMIENTO Y LA HIPERTROFIA?

[MONOTEMA] Emplear ejemplos de otras disciplinas científicas es una herramienta muy interesante para conseguir estimular el aprendizaje de los alumnos que cursan una determinada rama del conocimiento. En mis clases de marketing suelo utilizar, sobre todo, analogías con el ámbito de la salud y el deporte, donde también tengo experiencia como investigador.

Es cierto que, a veces, podemos abusar de ejemplos sacados del mundo del deporte, pensando que son familiares para todos, cuando en realidad siempre hay una parte del alumnado que les cuesta seguirlo, tal y como comenta Andrew Gelman en su blog.

Sin embargo, sigo pensando que las sinergias obtenidas de la unión de varias áreas de la ciencia, junto con el ejercicio de trasladar la explicación de un contexto a otro, son muy estimulantes y motivadoras, y producen un entendimiento global mucho más completo del problema.

En este post, vamos de nuevo a pararnos en un fenómeno no lineal: la hormesis, algo de lo que ya hemos hablado en post anteriores, pero que sigue siendo un concepto de difícil digestión para algunos estudiantes de marketing en el Grado de Administración y Dirección de Empresas. A través de la analogía con lo que sucede en el entrenamiento de hipertrofia muscular, vamos a intentar mejorar la comprensión de una de las más relevantes características de los sistemas complejos.

La explicación de Bayesian Bodybuilding

Menno Henselmans publicó recientemente este interesante artículo en su blog, donde aludía a resultados de sus propias investigaciones y también a otras publicaciones para realizar un dibujo estimulante sobre la relación entre el volumen de entrenamiento con pesas y la hipertrofia muscular.

Henselmans analiza la relación entre ambas variables tras consultar decenas de estudios publicados hasta la fecha. En esos estudios, se reporta el tamaño de efecto (magnitud de la diferencia sustantiva) y el volumen referido al número de series por grupo muscular ejecutadas en una semana de entreno.

Recordemos que el tamaño de efecto complementa al resultado de los clásicos test estadísticos. Por ejemplo, con muestras muy grandes las diferencias entre el grupo de experimental y de control pueden ser significativas estadísticamente, pero el tamaño de efecto (magnitud real de la diferencia) puede ser de escasa relevancia. Por contra, resultados estadísticamente no significativos por falta de potencia (como puede ocurrir con muestras pequeñas) pueden enmascarar tamaños de efecto importantes.

Por ejemplo, con muestras suficientemente grandes se podría decir que la estatura de una población de niños es mayor que otra cuando la diferencia es de 150 cm a 149.5 cm. Sería una diferencia estadísticamente significativa pero sustantivamente poco relevante; la magnitud del efecto es muy pequeña. Sin embargo, otro estudio con muestras pequeñas de otras poblaciones de niños podría reportar que ambas poblaciones tienen la misma estatura aunque la diferencia real fuera de 150 cm frente a 140 cm. Aquí la magnitud del efecto sería considerable, pero la baja potencia lo haría estadísticamente no significativa. Lo ideal, por tanto, es diseñar estudios que detecten estadísticamente magnitud de efectos, y los valoren según su importancia sustantiva.

La conclusión a las que llega Henselmans es que un incremento del volumen de entrenamiento se asocia linealmente con el incremento de la hipertrofia muscular. Sin embargo, en subpoblaciones distintas, como en deportistas inexpertos frente a deportistas experimentados, esa relación difiere, y muestra un carácter no lineal con rendimientos decrecientes. Gráficamente se entiende mejor:

Henselmans-meta-analysis-training-volume-untrainedHenselmans-meta-analysis-training-volume-trainedEs más, un entrenamiento de alto volumen puede llevar al sobre entrenamiento, como bien indica citando este estudio. De este modo, hay un patrón de respuesta a la dosis por el cual las máximas ganancias de hipertrofia se consiguen con un volumen medio de entrenamiento, pero no con los extremos testados. Esto puede ocurrir también en el entrenamiento de fuerza (no siempre hipertrofia y fuerza van de la mano).

Henselmans concluye el artículo con la identificación de diferentes variables que pueden afectar a la relación entre el volumen y la hipertrofia (ver siguiente figura).

Training-volume-vs-recovery-capacity

Esas variables son moderadoras en el sentido de que cambian el tamaño de efecto de la asociación entre ambas. De este modo, se complica mucho más el entendimiento de esa relación, porque en función de una o varias de esas variables, la curva de hormesis puede variar. En suma, cada individuo necesita un estudio pormenorizado de esas variables para diseñar una rutina de entrenamiento óptima. Sin embargo, para dar reglas generales hemos de tomar la distribución de tamaños de efecto, y dar una curva de hormesis promedio, pero que no tiene por qué funcionar con la situación de un individuo particular. Así, volvemos a darnos cuenta de cómo se pueden producir cambios importantes cuando se baja del “universo promedio” a los casos particulares. Y esto es el “abc” de la interpretación de los análisis estadísticos en ciencias sociales.

Matizaciones al análisis de Bayesian Bodybuilding

Pero lo más atractivo de todo esto es que quizá podríamos interpretar los resultados de los análisis de Henselmans de manera diferente.

Para ello, hemos pasado los datos de las gráficas a una hoja de cálculo. Hemos perdido precisión, sí, y no conocemos las varianzas de cada uno de los tamaños de efecto. Pero, aunque sea de manera aproximada (y no podemos ir más allá por esta limitación), podemos ofrecer un dibujo ligeramente divergente.

En cuanto a los deportistas inexpertos, podemos hacer un primer análisis del modelo lineal, y obtenemos estos resultados:

hiper1

Claramente se aprecia que no hay evidencias para un efecto lineal.  La regresión lineal simple por mínimos cuadrados ordinarios (con homocedasticidad) nos dice perfectamente que no existe asociación entre el volumen de entrenamiento (volumen) y la hipertrofia (efecto). Por tanto, contradecimos la conclusión de Henselmans.

Si añadimos un término cuadrático buscando la no linealidad, tampoco obtenemos significatividad:

hiper2

bayesian1

Y lo mismo ocurre con un análisis similar (no igual) realizado con polinomios fraccionales:

hiper3 bayesian2

No obstante, tanto el ajuste cuadrático como el de polinomios fraccionales nos muestran una posible relación de hormesis, donde la dosis justa de entrenamiento que maximiza la hipertrofia se da en los valores centrales.

Pero, aunque la relación sea no significativa, ¿se puede hablar de hormesis? No del todo, hay que ser prudente, porque tenemos poca muestra (39 observaciones). Quizá con una muestra más grande (más estudios publicados) se podría llegar a la significatividad, pero no lo sabemos. Siendo conservadores, diríamos que para deportistas inexpertos no hay una relación clara entre volumen de entrenamiento e hipertrofia, y que, por ejemplo, entrenar 10 series por músculo y semana ofrece las mismas ventajas que cualquier otro entrenamiento más exigente.

Pero, de nuevo, esto son recomendaciones generales; la heterogeneidad de los estudios (como puede apreciarse en los diagramas de dispersión mostrados por Henselmans) es ciertamente importante.

¿Y qué sucede para deportistas con experiencia?. Pues podríamos matizar las conclusiones de Henselmans en función de los datos (de nuevo insisto que no es una crítica  Henselmans, ya que no dispongo de datos originales), sino un ejercicio sencillo de interpretación, con fines docentes, nada más.

En este caso el efecto sobre la hipertrofia lo hemos llamado “e2” y el volumen de entrenamiento “v2”. Vemos que estamos cerca de una relación lineal. Como hay heterocedasticidad, al computar los errores estándar robustos la significatividad al 95% se pierde ligeramente.

hiper4

Si intentamos hacer un ajuste cuadrático y con polinomios fraccionales, de nuevo los resultados son no significativos. Sin embargo, al visionar las gráficas de ajuste vemos que existe una tendencia creciente, y no esos rendimientos decrecientes de los que hablaba Henselmans.

bayesian3 bayesian4

De este modo, conseguir ganancias de hipertrofia es más complicado para deportistas entrenados (algo lógico, porque se parte de un nivel inicial de hipertrofia superior), pero aquí la tendencia es lineal, y probablemente con más estudios podríamos conseguir un nivel de asociación significativo, es decir, a mayor volumen mayores ganancias de músculo. No obstante, y de nuevo siendo prudentes, con esos 44 estudios que tenemos no podemos concluir más que existe una evidencia limitada de que así ocurre.

Conclusión

Menno Henselmans, de Bayesian Bodybuilding, ha realizado un interesante análisis sobre la relación entre el volumen de entrenamiento y la ganancia muscular. Sus interpretaciones sobre linealidad, hormesis y rendimientos decrecientes pueden, quizá, ser matizadas, aunque como hemos indicado nuestro análisis es sólo aproximado, ya que no disponemos de los datos originales y ha habido contaminación por pasar los datos de los gráficos de dispersión a una hoja de cálculo. No obstante, y teniendo en cuenta esta limitación, hemos mostrado que las relaciones mostradas en gráficos no tienen por qué ser significativas a nivel estadístico, y que esas tendencias pueden ser reinterpretadas en función del tipo de ajuste elegido, es decir, el tipo de modelo empleado.

Sin embargo, esas tendencias son en sí valiosas, en el sentido en que es probable que muestren un efecto escondido por un tamaño pequeño de muestra. Si aceptamos esta hipótesis, podemos decir que existe una relación de hormesis entre el volumen y la hipertrofia en deportistas no entrenados, pero esa relación desaparece en individuos más expertos, donde la asociación es creciente y lineal. 

Como puede apreciarse, esto cambia de forma importante las recomendaciones generales sobre entrenamiento de hipertrofia en función de las características de cada individuo, y es ahí donde de nuevo Henselmans acierta en indicarnos los múltiples factores que pueden entrar en juego.

El traslado de este ejemplo al ámbito del marketing o de la administración de empresas, es sencillo, como vimos en posts anteriores. Es un buen ejercicio para los estudiantes el pensar en relaciones de variables en el ámbito de las ciencias sociales donde se pueden dar relaciones análogas a las descritas en este post, así como reflexionar sobre la complejidad de todos los fenómenos que nos rodean y que pretendemos entender, y la diferencia que existe entre encontrar patrones generales y la realidad a nivel de caso individual.

Todos los posts relacionados




(#358). BÁSICOS DE ECUACIONES ESTRUCTURALES (IV): REGRESIÓN LINEAL SIMPLE CON FIABILIDADES DIVERSAS

[MONOTEMA] En esta cuarta entrega, vamos a pasar del modelo de dos variables correlacionadas a un modelo de regresión en el que una se postula como causa de la otra.

La especificación gráfica se muestra en la Figura 4.1.

Figura 4.1. Modelo de regresión entre dos variables latentes

Como puede apreciarse, la Figura 4.1 es una pequeña variación de la Figura 3.1. Las ecuaciones son las mismas, salvo que ahora la relación entre Z1 y Z2 es planteada como causal. Esto indica que existe covarianza entre las dos variables (como en la Figura 3.1), pero ahora esa covariación se produce porque hay una dependencia entre ambas. Variaciones en Z1 influyen en Z2, pero variaciones en Z2 no influyen en Z1.

La relación entre Z1 y Z2, de este modo, debe ser planteada así:

Todas estas expresiones representan la relación de dependencia entre Z1 y Z2, asumiendo (como hemos hecho hasta ahora) que el error ε1 es ruido blanco y que Cov(ε1Z1)=0.

Como vimos en el tercer capítulo, a través de las covarianzas observadas podemos llegar a esta expresión:

que escalando a 1 las variables latentes y especificando una covarianza nula entre los errores observables, se simplifica a:

Por tanto, realmente la estimación de la covarianza entre las variables latentes es la misma aunque el modelo pase de ser “correlacional” a “causal”

Para estimar el coeficiente estructural Gamma1 (,) que es el que muestra el peso que tiene la causa Z1 sobre el efecto Z2, sólo necesitamos conocer Var(Z1), que como hemos comentado ya en anteriores capítulos, depende del observable z1:

Usando una escala unitaria, vemos que Var(Z1)=Var(z1)-Var(e1), es decir, la varianza de la variable latente depende de nuestra especificación de la fiabilidad del observable. A medida que la fiabilidad aumenta, Var(e1) disminuye, con lo que Var(Z1) aumenta, y disminuye. Y, de manera opuesta, a medida que la fiabilidad disminuye, Var(e1) aumenta, con lo que Var(Z1) disminuye, y aumenta.

Por tanto, si la fiabilidad es perfecta (100%), Var(Z1)=Var(z1), y el coeficiente de regresión (coeficiente estructural) se estima sin sesgo. Sin embargo, si la fiabilidad no es perfecta (<100%), se produce un inflado de la varianza observable por lo que hay que “corregir” la varianza de la variable latente. De este modo, la estimación del coeficiente depende de la especificación de la fiabilidad de z1, es decir, de la varianza del observable que actúa como causa.

Ejemplo con Stata

Vamos a realizar un ejemplo empleando la misma matriz de covarianzas que en la  Figura 3.1, y con fiabilidades perfectas, sin error de medida en los observables.

/*Generamos la matriz de covarianzas deseada*/
matrix D=(2, .8 \ .8, 1)
/*Creamos 400 observaciones para cada una de las variables z1 y z2*/
corr2data z1 z2, n(400) cov(D)
/*Realizamos un rápido descriptivo de las variables*/
sum
/* Analizamos la normalidad univariante y multivariante*/
swilk z1 z2
mvtest normality z1 z2
/* Hacemos una regresión lineal simple y luego una regresión sin término constante*/
regress z2 z1
regress y2 z1, no constant
/*Especificamos el modelo SEM con las restricciones sobre las medias, varianzas y parámetros deseados*/
sem (Z2 <- _cons@0, ) (Z2@1 -> z2, ) (z1 <- _cons@0, ) (z2 <- _cons@0, ) (Z1 -> Z2, ) (Z1@1 -> z1, ), latent(Z2 Z1 ) cov( e.z1@0 e.z2@0 Z1@2) means( Z1@0) nocapslatent

Los resultados que provee Stata son sencillos de interpretar. En la Figura 4.2 vemos los estadísticos descriptivos de las variables observables, ambas con media cero y con varianzas 2 y 1, respectivamente. Los datos se han generado para que esas variables estén normalmente distribuidas, tal y como muestra el test de Shapiro-Wilk, y además multivariantemente distribuidas, como indica el test de Doornik-Hansen. Veremos más adelante la importancia de estos aspectos de las distribución.

Figura4.2

Figura 4.2. Estadísticos descriptivos y test de normalidad de los observables

En la Figura 4.3 hemos realizado una regresión lineal simple entre los observables. En el primer caso se estima también un término constante, pero vemos que es cero (o prácticamente cero debido a la inherente variabilidad muestral). Recordemos que tenemos las variables estandarizadas, y como explicamos en su momento esto hace que el término constante o intercept en los modelos de regresión sea cero. El coeficiente de regresión estimado es 0.4. De interés también es el valor de 0.6817, que es el cociente entre la suma de cuadrados de los residuos (SS) y los grados de libertad (df). Como los datos están centrados sobre la media, la suma de cuadrados de los residuos dividido por el tamaño de la muestra menos 1 (n-1) es similar a la varianza del error. Como hay 398 grados de libertad, ese valor es de 0.6817 es prácticamente idéntico al de la varianza del error: 0.68, que es precisamente el resultado que obtenemos cuando no estimamos el término constante y sumamos un grado de libertad adicional. Esa diferencia en el denominador (dividir por los grados de libertad o dividir por n-1) es la diferencia entre el “Adj R-squared” y el “R-squared”, que son medidas de la capacidad explicativa del modelo. Así, a mayor varianza de error, menor “R-squared”, es decir, menos varianza de la variable dependiente explica nuestro modelo. Por ahora, es lo que necesitamos saber.

Figura4.3

Figura 4.3. Regresión lineal simple entre los observables

En la Figura 4.4. testamos el modelo SEM. Ahora no empleamos la estimación por mínimos cuadrados ordinarios como en el anterior análisis, sino la de máxima verosimilitud. Consideramos las fiabilidades de los observables como perfectas, por lo que no existe varianza de error para z1 y para z2. Esto nos lleva a una estimación prácticamente idéntica. El coeficiente estructural es 0.4, y la varianza de error de Z2 es 0.6783

Figura4.4

Figura 4.4. Modelo de regresión SEM con fiabilidades perfectas

Pero la real utilidad de SEM proviene cuando tenemos en cuenta los errores de medida. En este caso, fijamos la fiabilidad al 90% en ambos observables, z1 y z2.

/*Especificamos el mismo modelo SEM anterior, pero con fiabilidades al 90%*/
sem (Z2 <- _cons@0, ) (Z2@1 -> z2, ) (z1 <- _cons@0, ) (z2 <- _cons@0, ) (Z1 -> Z2, ) (Z1@1 -> z1, ), latent(Z2 Z1 ) cov( e.z1@0.2 e.z2@0.1 Z1@1.8) means( Z1@0) nocapslatent

Y ya los resultados cambian de manera ostensible (Figura 4.5). Ahora el coeficiente de regresión es 0.44 y no 0.4, y la varianza de error de Z2 es de 0.54 y no 0.68. Es decir, teniendo en cuenta que existe el error de medida, hemos estimado un modelo en el que el tamaño del efecto es mayor (cómo influye Z1 sobre Z2) y la capacidad explicativa del modelo es mejor. Si no hubiésemos tenido en cuenta el error de medida, las estimaciones habrían estado sesgadas (el tamaño de efecto se habría atenuado).

Figura4.5

Figura 4.5. Modelo de regresión SEM con fiabilidad del 90% en los observables

Rápidamente se puede comprobar que se cumplen las fórmulas que planteábamos al inicio. En el caso de fiabilidades perfectas:

Y en el caso de que la fiabilidad es del 90% en los observables:

Cambio en la fiabilidad de la variable dependiente

Aunque los cambios en la fiabilidad del observable exógeno afectan a la estimación del coeficiente de regresión, no ocurre lo mismo con la fiabilidad del observable endógeno, es decir, de la variable dependiente. De este modo, el tamaño de efecto o coeficiente estructural no depende de la calidad de la medición de la variable dependiente.

Sin embargo, la fiabilidad del observable de la latente que actúa como efecto sí que influye en la estimación de la varianza de error de la variable latente. Un poco de manejo de las ecuaciones que hemos visto lo ilustra sin problema:

No obstante, hemos de indicar también que las fiabilidades de los observables no afectan a la covarianza entre las variables latentes Cov(Z1Z2), siempre y cuando la Cov(e1e2)=0.

Conclusión

Pasar de un modelo correlacional a uno casual implica realizar unas asunciones cualitativas sobre la especificación del modelo en el que unas variables latentes influyen sobre otras. No olvidemos, asimismo, que los modelos de variables latentes correlacionadas también son modelos causales en el sentido de que la variable latente causa variación en los observables. Sin embargo, el uso común de “modelo causal” es cuando esa relación de causalidad se establece entre variables latentes.

En este post hemos visto la importancia de considerar la fiabilidad de los indicadores observables, y como la especificación de ésta en la variable que actúa como causa afecta a la estimación del coeficiente estructural (parámetro de regresión) y a la varianza explicada por el modelo. Las fiabilidades no afectan a la covariación entre las latentes, pero sí que la fiabilidad de la variable endógena incide en la estimación de su varianza de error.

De este modo, queda patente la gran relevancia que tiene la especificación de los errores de medida a la hora de interpretar los resultados de cualquier modelo de investigación. 

Todos los posts relacionados




(#354). BÁSICOS DE ECUACIONES ESTRUCTURALES (III): COVARIANZA Y CORRELACIÓN ENTRE VARIABLES LATENTES

[MONOTEMA] En este tercera entrega de nuestra introducción a SEM, vamos ir avanzando en el modelo simple de variable latente e indicador, planteando un modelo en el que deseamos saber la covarianza entre 2 variables latentes Z1 y Z2.

Para ello, partimos de esta representación gráfica (Figura 3.1), en el que ya conocemos toda la notación y su significado, y donde estamos interesados en hallar  Cov(Z1Z2) y su correlación r(Z1Z2). Recordemos que la correlación es simplemente una covarianza estandarizada, es decir:

Figura 3.1. Modelo de dos variables latentes y dos indicadores sin covariación de errores

Como bien sabemos, sólo observamos z1 y z2, y no las variables latentes, pero podemos conocer Cov(Z1Z2) a partir de la información del modelo. Para ello, practicamos un poco de álgebra.

Cov(z1z2)=E[(z1-E(z1))(z2-E(z2))]=E(z1z2)

ya que los datos están en desviaciones respecto a la media.

Ahora sustimos el valor de z1 y z2 por la ecuación que implican, es decir:

Cov(z1z2)= E[(b1Z1+e1)(b2Z2+e2)]=E(b1b2Z1Z2+b1Z1e2+b2Z2e1+e1e2)

Dado que la esperanza de una suma es la suma de las esperanzas, y sacando fuera las constantes, tenemos:

Cov(z1z2)=b1b2E(Z1Z2)+b1E(Z1e1)+b2E(Z2e1)+E(e1e2)

Y, por tanto:

Cov(z1z2)=b1b2Cov(Z1Z2)+ b1Cov(Z1e1)+b2Cov(Z2e1)+Cov(e1e2)

Como en las asunciones básicas de la ecuación de medición suponemos que el error es ruido blanco y que no está asociado a la variable latente (ver capítulo 2), entonces cov(Ze)=0, y la ecuación anterior se simplifica a:

Cov(z1z2)=b1b2Cov(Z1Z2)+Cov(e1e2)

Y si reordenamos:

Cov(Z1Z2)= [Cov(z1z2)- Cov(e1e2)]/b1b2

De este modo, la covarianza entre las variables latentes depende de la covarianza observada de los datos y de si existe covarianza entre los errores. Ya que, tal y como indicamos, solemos escalar el observable como la variable latente, entonces b1=b2=1, la covarianza entre las variables latentes depende, básicamente, de si especificamos que los errores covarían. Sin embargo, por la propia definición de ruido blanco, tanto e1 y e2 no deben estar asociados, son errores aleatorios en la medición de sus respectivas variables latentes.

Covarianzas entre los errores

Cabe la posibilidad, no obstante, de que pensemos que puede haber algún factor que sistemáticamente afecta a los observables, y que no hemos tenido en cuenta. Ese es, precisamente el significado de la covariación de errores, cuyo esquema se muestra en la Figura 3.2.

Figura 3.2. Modelo de dos variables latentes y dos indicadores con covariación de errores

Es evidente que la covarianza entre las variables latentes va a decrecer con el incremento de la covarianza entre los errores.

Equivalencia con una nueva variable latente

La Figura 3.2 es equivalente a la que mostramos a continuación (Figura 3.3), donde se ha sustituido la covarianza entre los errores por una nueva variable latente M que afecta a los indicadores observables.

Figura 3.3. Modelo equivalente de dos variables latentes y dos indicadores con covariación de errores

Partiendo de las siguientes expresiones:

z1=b1Z1+m1M+e1

z2=b2Z2+m2M+e2

y considerando siempre un escalamiento unitario, es decir, b1=b2=m1=m2=1, llegamos a:

Cov(Z1Z2)= Cov(z1z2)- Cov(Z1M)-Cov(Z2M)-Var(M)

Así, para que haya equivalencia, y mirando las Figuras 3.2 y 3.3:

Cov(e1e2)= Cov(Z1M)+Cov(Z2M)+Var(M)

Es decir, especificar una covariación de errores es equivalente a incluir una nueva variable latente que cause variación en ambos indicadores, y cuyas restricciones de covarianza tienen que ser las especificadas en la ecuación anterior. Dado que, en algunos casos podremos suponer que Cov(ZM)=0, entonces: Cov(e1e2)= Var(M), por lo que realmente podemos ver que especificar una covariación entre errores de los observables es equivalente a admitir que existe una variable latente que afecta a ambos errores por igual, y que cuya varianza es la covarianza de los errores.

Estimación con Stata

Aunque todavía es muy pronto para entender las programaciones de SEM con LISREL y Stata, podemos ir haciendo ya algunos análisis para, simplemente, comprobar a nivel numérico qué sucede con los ejemplos descritos. Insisto en que más adelante explicaré con detalle los códigos, pero ahora lo importante es manejar ejemplos numéricos con lo que acabamos de exponer.

Vamos a crear dos observables z1 y z2, normalmente distribuidos y con 400 casos cada uno. Esas variables tendrán media=0 y varianza 2 y 1, respectivamente. La covarianza entre los observables será de 0.8.

Además, vamos a tomar un valor de fiabilidad del 90%, por lo que la varianza de error de ambos indicadores será un 10% de la varianza observable. Escalaremos unitariamente las variables latentes, y ya podremos estimar el modelo.

/*Generamos la matriz de covarianzas deseada*/
matrix D=(2, .8 \ .8, 1)
/*Creamos 400 observaciones para cada una de las variables z1 y z2*/
corr2data z1 z2, n(400) cov(D)
/*Especificamos el modelo SEM con las restricciones sobre las medias, varianzas y parámetros deseadas*/
sem (Z1@1 -> z1, ) (z1 <- _cons@0, ) (Z2@1 -> z2, ) (z2 <- _cons@0, ), covstruct(_lexogenous, diagonal) latent(Z1 Z2 ) cov( Z1@1.8 Z1*Z2 e.z1@0.2 Z2@0.9 e.z2@0.1) nocapslatent

Como puede verse en la salida de Stata, Cov(Z1Z2)=0.80 con un intervalo de confianza al 95% IC95%= (0.72 ; 0.88). Por tanto, la covarianza entre las variables latentes tiene el valor que esperábamos, ya que es el valor de la covarianza entre los observables, porque hemos especificado que la covarianza entre los errores sea cero.

Sin embargo la correlación entre las variables latentes no es r=0.57 como sí que lo es entre las variables observables, sino r=0.63, ya que las varianzas de las variable latentes son menores que las observables y, por ende, la correlación resultante es mayor. Por tanto, el error de medida ha atenuado el verdadero valor de la correlación, y esto es un tema muy a tener en cuenta en posteriores análisis.

Si ahora planteamos en el modelo que existe una covariación entre los errores: Cov(e1e2)=0.25, entonces podemos programar el siguiente modelo:

/*Especificamos el modelo SEM con las restricciones sobre las medias, varianzas y parámetros deseadas, añadiendo la covarianza entre los errores como un valor fijo*/
sem (Z1@1 -> z1, ) (z1 <- _cons@0, ) (Z2@1 -> z2, ) (z2 <- _cons@0, ), covstruct(_lexogenous, diagonal) latent(Z1 Z2 ) cov( Z1@1.8 Z1*Z2 e.z1@0.2 e.z1*e.z2@0.25 Z2@0.9 e.z2@0.1) nocapslatent

Vemos que Cov(Z1Z2)=0.55, IC95%=(0.47 ; 0.63), es decir, y como era de esperar la covarianza de las variables latentes se reduce (pasa de 0.80 a 0.55).en la cantidad de la varianza de error de los observales (0.25)

La correlación r=0.43, que es menor que la correlación estimada cuando no existía covarianza entre los errores.

Conclusión

La covarianza y correlación entre variables latentes depende de la estructura de errores de los observables que planteemos en el modelo. No tener en cuenta la fiabilidad de los datos atenúa el coeficiente de correlación entre las variables de interés, que recordemos no son los observables sino las variables latentes.

Considerar además una covarianza de error, reduce la covarianza entre las latentes, y también el coeficiente de correlación.

Todos los posts relacionados




(#353). BÁSICOS DE ECUACIONES ESTRUCTURALES (II): VARIABLES LATENTES Y FIABILIDAD

[MONOTEMA] En este segundo paso en nuestra introducción a conceptos básicos de SEM, vamos  a explicar el concepto de variable latente y las implicaciones que tiene para la partición de la varianza observable, lo que a su vez nos llevará a discutir sobre la fiabilidad de los datos.

Variable latente

Una variable latente Z es, por definición, no observable directamente, por lo que se manifiesta a través de algún observable z, que usualmente es llamado indicador. Es fácil deducir la siguiente ecuación:

z=bZ+e

donde b es el coeficiente estructural (a veces llamado “peso”) que define la escala del observable con respecto a la variable latente, y e es el error inherente a tener una observación que puede ser una simplificación de Z (porque es un término muy abstracto y complejo de aproximar), o porque, por ejemplo, haya errores de codificación o de registro en la recogida de datos. Este último hecho es esencial para entender qué significa que exista un error de medida y nos hace ver que todas las variables que manejemos pueden considerarse latentes porque, aunque sean variables aparentemente sencillas  (ej. sexo, edad), siempre pueden estar sujetas a error en el proceso de recogida y preparación de los datos.

Ahora podemos tomar esperanzas y varianzas para ver qué ocurre con la ecuación anterior:

E(z)=bE(Z)+E(e); 0=b(0)+0

Var(z)=b2Var(Z)+Var(e)

Si estamos manejando ya datos en desviaciones con respecto a la media como hablamos en el capítulo 1, no nos deben sorprender esos resultados.

La forma de representar gráficamente esta relación sigue unas normas muy sencillas. Con círculos u ovoides se representan las variables latentes y con cuadrados o rectángulos los indicadores observables. La relación entre esas variables viene determinada por flechas que tienen un sentido causal, es decir, apuntan desde la causa hasta el efecto, desde donde se produce el cambio hasta donde se manifiesta dicho cambio (ver Figura 2.1).

Figura1

Figura 2.1. Esquema básico de variable latente y observable

Como se aprecia en la Figura 2.1, el error e es también una variable latente, porque realmente no lo observamos, pero sabemos que existe. Y el sentido de las flechas es capital; ambas variables latentes afectan causalmente al indicador observable, ya que el cambio en ellas se manifiesta en un cambio en el indicador.

Así, si el error se mantiene constante y Z crece, también crece z en función del peso que tenga b. Y si Z se mantiene constante, z puede variar en la medida que lo haga el error de medición. Ese error de medición hemos supuesto que es ruido blanco, es decir, se considera aleatorio, por lo que no sesga el observable, sino que cuando se realizan muchas medidas, los errores se compensan, y de ahí que su esperanza matemática sea cero.

Aunque parezca una asunción fuerte, realmente no lo es. Si sospechamos que existe algún tipo de error sistemático en lugar de aleatorio siempre se puede incorporar al modelo. Por ejemplo, si z es la edad que medimos en una muestra de consumidores, es posible que el error e no sea aleatorio porque haya un grupo de personas que digan a la baja su edad (sesgo de presentación favorable). Pero este hecho se puede fácilmente modelar en SEM, de la siguiente manera (Figura 2.2.):

Figura 2

Figura 2.2. Esquema básico de variable latente y observable con un sesgo sistemático

De este modo, la ecuación quedaría así:

Var(z)=b2Var(Z)+m2Var(M)+Var(e)

Es decir, hemos introducido una nueva variable latente M, que influye con un peso m en el observable z, y que tiene en cuenta el sesgo producido por la presentación favorable. Así, seguiríamos manteniendo e como ruido blanco, y tendríamos un modelo que contemplar una causa adicional a la variación del observable z.

Fiabilidad

Pero estamos todavía muy al comienzo de la andadura en SEM, y debemos ir resolviendo las cuestiones más sencillas antes de las más complejas.

Volvamos, por tanto, a la ecuación básica:

Var(z)=b2Var(Z)+Var(e)

Hemos partido la varianza observable en la varianza real Var(Z) más la varianza de error Var(e). Recordemos que las varianzas siempre son positivas.

Si Var(e)=0, significa que la varianza observable es igual a la varianza de error, siempre que se midan en la misma escala, es decir, b=1. Por medir en la misma escala nos referimos a que si estamos midiendo la variable latente está en metros, el indicador observable lo vamos a medir en metros, o si está en una escala de 0 a 10, el observable lo vamos a medir en una escala de 0 a 10. Es algo muy recomendable que escalemos siempre con b=1, ya que esto nos evita de cometer muchos errores innecesarios.

De este modo, si Var(e)=0, los datos son totalmente fiables, en el sentido de que no hay error de medida, por tanto la fiabilidad es del 100%. Pero claro, una de las ventajas de SEM es que nos permite ser prudentes y admitir en nuestro modelo que puede haber algún error de medida que haga que la fiabilidad no sea del 100%.

¿Pero cómo se mide la fiabilidad cuando hay error de medida? Es sencillo, porque depende únicamente del tamaño relativo de la varianza de error. 

Fiabilidad=1-(Var(e)/Var(z))

O en porcentaje:

Fiabilidad=(1-(Var(e)/Var(z)))100

Por tanto, a medida que la varianza de error se incrementa disminuye la fiabilidad. Es evidente que son preferibles fiabilidades altas, porque en el grado en que la fiabilidad sea más baja la varianza observable Var(z) será más alta, es decir, se produce un inflado de la varianza de los datos que luego tiene efectos notables en la estimación de los coeficientes estructurales del modelo, produciendo una atenuación de los mismos (el efecto estimado es menor que el real, por lo que hay un sesgo). Con SEM podemos tener en cuenta esos errores de medida y obtener coeficientes insesgados con fiabilidades diferentes del 100%, y esta es otra de la grandes ventajas de esta metodología.

La relación que existe entre el cociente Var(e)/Var(z) y la fiabilidad se muestra en la Figura 2.3.

Figura 3

Figura 2.3. Fiabilidad en función del tamaño relativo de la varianza de error

 Para obtener esa figura hemos empleado el siguiente código de Stata:

/*Generamos una variable con 100 observaciones cuyos valores van del 1 al 100*/
set obs 100
/*Llamamos a esa variable Var_e que hace referencia los distintos valores a la varianza de error que vamos a simular*/
generate Var_e= _n
/*Ahora generamos un valor constante para la varianza observable Var_z=100*/
gen Var_z=100
/*El siguiente paso es construir la variable Fiabilidad, en función de la varianza de error y la varianza observable*/
gen Fiabilidad=1-(Var_e/Var_z)
/*Ahora generamos una nueva variable con el cociente entre ambas varianzas, con el fin de poder realizar un gráfico que nos permita ver cómo cambia la fiabilidad en función del valor de este nueva expresión.*/
gen Cociente_entre_varianzas= Var_e/ Var_z
/*Por último generamos un gráfico bidimensional donde podemos ver que la fiabilidad disminuye linealmente con el incremento del cociente de varianzas, es decir, con el aumento relativo de la varianza de error*/
twoway (line Fiabilidad Cociente_entre_varianzas, lcolor(magenta) lwidth(thick)), xtitle(Var(e)/Var(z)) xscale(line) xlabel(, grid)

Por tanto, para fijar la fiabilidad del indicador observable sólo hay que escoger el porcentaje de la varianza observada que constituye la varianza de error. Así, si por ejemplo Var(z)=5, y la fiabilidad es fijada al 90%, entonces Var(e)/Var(z)=0.10, por lo que la Var(e) debe fijarse a 0.05, es decir, un 10% de la varianza del indicador observable.

Conclusión

Hemos visto que es muy atractivo poder considerar a todas las variables que manejamos en nuestros modelos teóricos como latentes, incluso en los casos más sencillos donde esas variables no sean abstracciones psicológicas, sino variables claramente definidas y cuantificables.

Esto permite especificar errores de medida, que no son más que el tamaño relativo de la varianza de error, y de este modo indicar la fiabilidad de las mediciones, realizando (como veremos posteriormente) diferentes simulaciones con respecto a cómo variarían los resultados ante fiabilidades distintas.

Todos los posts relacionados




(#350). BÁSICOS DE ECUACIONES ESTRUCTURALES (I): COVARIANZAS Y DESVIACIONES SOBRE LA MEDIA

[MONOTEMA] Comenzamos una serie de entradas sobre una introducción práctica a los modelos de ecuaciones estructurales, en la que emplearemos los programas LISREL y Stata para estimar modelos sencillos, que pretenden ser una guía para estudiantes que comienzan a adentrarse en esta temática.

Para ello, necesitamos primeramente abordar varios aspectos de la idisosincrasia de esta metodología, con el fin de entender paso a paso qué estamos haciendo.

En este post inicial, vamos a explicar por qué se emplean covarianzas como input, y que debemos interpretar los datos en desviaciones sobre la media, y no en su naturaleza bruta.

La ecuación básica

Partimos de la siguiente ecuación básica, en la que relacionamos linealmente la variable aleatoria X con la variable aleatoria Y, mediante los parámetros (constantes) a y b.

Y=a + bX

Tomando esperanzas y varianzas, tenemos:

E(Y)=a+bE(X)

Var(Y)=b2Var(X)

El parámetro b, por tanto, es un coeficiente estructural que representa el cambio en Y cuando X cambia. En el caso de tomar esperanzas:

E(Y)-a=bE(X)

es decir, a simplemente es un parámetro de escala que modifica el valor esperado de Y.

Al tomar varianzas desaparece el parámetro a (la varianza de una constante es cero), por lo que obtenemos también una relación entre Y y X, pero esta vez sin la necesidad de conocer ese parámetro de escala.

Es fácil comprobar que si, por ejemplo, a=0 y b=2, para n=5, tenemos que x=[0,1,2,3,4] e y=[0,2,4,6,8], entonces la varianza de Y es 4 veces (b2) la varianza de X.

Asimismo, podemos expresar la relación entre Y e X a nivel de covarianzas con un poco de álgebra:

Por tanto:

De este modo, sabiendo las varianzas y covarianzas de X e Y podemos cuantificar el parámetro b, que es el que mide el peso de la asociación entre X e Y, o el tamaño del efecto si estamos usando terminología causal.

Ya tenemos una pista de por qué los modelos de ecuaciones estructurales se llaman también modelos de estructuras de covarianza (recordemos que una varianza no es más que la covarianza de una variable consigo misma).

Tomar desviaciones sobre la media

Lo que un investigador quiere al final no es solamente saber cuál es la relación entre las varianzas de dos variables, sino principalmente qué sucede en Y cuando X cambia en una unidad. Esto es básico para hacer predicciones sobre datos individuales.

Como hemos visto, para eso necesitamos conocer el parámetro a, y ese parámetro no aparece en las relaciones de covarianza. Pero esto no es un problema si interpretamos los datos en desviaciones sobre la media.

E(Y-E(Y))=a + bE(X-E(X))

0=a+0

Es decir, necesariamente a=0.

Por tanto, al tomar los datos en desviaciones sobre la media nos hemos quitado “el problema” del parámetro de escala. Y eso no es todo, podemos comprobar que las relaciones de covarianza no cambian.

De este modo, podemos seguir conociendo el parámetro estructural b a partir de únicamente las covarianzas cuando los datos están en desviaciones sobre la media. Ese parámetro b es exactamente el mismo que se habría obtenido con los datos brutos y la estimación de a, pero la interpretación cuando no se conoce a es en términos de desviaciones sobre la media, que al fin y al cabo no deja de ser una pequeña reparametrización de las variables originales, unos simples cambios de escala.

Simulación con Stata

El siguiente código en Stata nos proporciona una prueba empírica de lo que hemos explicado. Abrimos un fichero “Do-file”, copiamos el código y lo ejecutamos en un archivo .dta del programa que previamente hemos abierto en blanco.

/*Generamos una variable X Normal de media=10 y con varianza=1, con 100 observaciones*/
drawnorm X, n(100) means(10)
/*Ahora generamos dos variables Y(Y1,Y2), que son una combinación lineal de X, con igual pendiente (b1=b2=2), pero con diferente escala (a1=100, a2=0)*/
gen Y1=100+2*X
gen Y2=0+2*X
/*Ahora calculamos la media de todas las variables generadas*/
egen Xmean=mean( X)
egen Y1mean=mean(Y1)
egen Y2mean=mean(Y2)
/*Y entonces generamos las nuevas variables en desviaciones sobre sus medias*/
gen Xdif=X-Xmean
gen Y1dif=Y1-Y1mean
gen Y2dif=Y2-Y2mean
/*Una vez generadas todas las variables, pasamos a realizar un análisis de regresión lineal, donde podemos ver en los resultados que los parámetros se estiman correctamente, es decir, b1=b2=2, a1=100, a2=0*/
regress Y1 X
regress Y2 X
/*Ya hacemos los mismo pero ahora empleando las desviaciones sobre las medias.
Comprobamos que b1=b2=2, aunque el parámetro de escala a1=a2=0*/
regress Y1dif Xdif
regress Y2dif Xdif
/*Por tanto, usando los datos en desviaciones sobre la media, la estimación del efecto b es idéntico aunque el parámetro de escala (ordenada en el origen) sea diferente. De este modo, los coeficientes estructurales son estimados correctamente por medio de las covarianzas, independientemente del valorde la ordenada en el origen*/

Conclusión

Los modelos de ecuaciones estructurales emplean las covarianzas entre las variables como datos de entrada. La relación entre las covarianzas permite la estimación de los coeficientes estructurales, que son idénticos a si se hubieran computado empleando los datos brutos (de cada observación) tomados en desviaciones sobre la media.

Es decir, no necesitamos conocer los datos de cada observación, sólo las covarianzas entre las variables. Sin embargo, si queremos emplear esos coeficientes estimados para realizar predicciones individuales, hemos de tener en cuenta que habrá que hacerlo considerando que los datos de las variables están en desviaciones sobre sus medias.

Obviamente, realizar predicciones individuales tomando a=0 es un error, porque no conocemos a (aunque más adelante veremos que se puede estimar, pero eso es un tema más avanzado).

Todos los posts relacionados




(#346). MODELO NO LINEAL EN LAS VARIABLES PERO LINEAL EN LOS PARÁMETROS CON STATA Y MAXIMA

[MONOTEMA] Seguimos creando material auxiliar para comprender mejor las herramientas de toma de decisiones en marketing. En este post vamos a comentar uno de los aspectos que quizá cuesta un poco más de trabajo entender en las primeras clases de marketing, y es el de emplear el mismo modelo de regresión lineal cuando el modelo teórico es no lineal.

Esta aparente contradicción llama la atención de los estudiantes, y más cuando estamos incidiendo en el hecho de que la no linealidad está presente en la mayoría de los fenómenos que queremos estudiar. Sin embargo, la clave está en entender que la estimación de mínimos cuadrados ordinarios que solemos emplear, también se puede aplicar a modelos no lineales. Y es así, porque la no linealidad está en las variables pero no en los parámetros estimados. Este hecho es fundamental para comprender que con la misma herramienta con la que intentamos hacer predicciones en modelos lineales, también podemos emplearla en modelos no lineales.

Vamos a ilustrarlo con un ejemplo, usando códigos de Stata y MAXIMA, para facilitar que cualquier alumno pueda reproducirlos y hacer probaturas a su antojo.

Generación de la curva no lineal

Elegimos una curva normal de media=5 y desviación típica=1. Por tanto, transformamos la función de densidad normal:

en la siguiente función:

que tiene la característica forma de campana:

curva1Para generar el gráfico anterior, hemos empleado el siguiente código en wxMaxima:

funcion1:(1/(2*%pi)^0.5)*%e^(-0.5*(x-5)^2)$
plot2d(funcion1, [x,0,10],[style, lines],
[color, green], [legend, false],
[xlabel,"x"], [ylabel, "y"]);

Es evidente que se trata de una curva no lineal, pero podemos tratar de realizar predicciones muy ajustadas si planteamos el modelo correcto y lo estimamos por mínimos cuadrados ordinarios (con linealidad en los parámetros).

Ajuste del modelo con Stata

Vamos a emplear ahora uno de los programas más potentes de análisis de datos, y de los más indicados para los profesionales del marketing: Stata.

Para ello, abrimos un archivo en blanco de Stata, y utilizamos el interfaz de comandos que el programa proporciona, llamado “Do-file Editor”, que es simplemente un editor de texto donde se puede escribir un código (secuencia de instrucciones) para ejecutar.

set obs 1000
generate t = _n
drawnorm x, n(1000) means(5) sds(1)
gen y=(1/(2*3.1415)^0.5)*exp(-0.5*((x-5)^2))
gen lnx=ln(x)
gen lny=ln(y)
gen x_cuad=x*x
regress lny x x_cuad
gen pred=-13.4+(5*x)-(0.5*x_cuad)
gen transf_pred=exp(pred)
gen dif= y- transf_pred
tsset t
twoway (tsline dif, lcolor(red) 
lwidth(vvvthin) xtitle(t) ytitle
(Diferencia entre el valor real y el predicho))

Explicamos de manera muy sencilla lo que hemos programado. En primer lugar le hemos dicho al programa que genere una muestra de 1000 observaciones, y una variable llamada “t” que es el identificador de cada una de ellas.

Después, le pedimos a Stata que genere para esos 1000 casos una variable Normal llamada “x” con media 5 y desviación típica 1, tal y como hemos mencionado en el apartado anterior.

Ahora debemos asignar una probabilidad a cada uno de esos valores de la variable x, y lo hacemos simplemente espeficiando una variable y que es la función de densidad Normal con media 5 y desviación típica 1.

Para ilustrar que a partir de los valores de x podemos explicar y/o predecir y, tenemos que especificar un modelo que relacione ambas variables. Ese modelo, es obvio que es el regido por la función de densidad Normal, pero ahí no tenemos nada claro cómo encajar nuestro marco de regresión lineal.

Lo que hacemos entonces es tomar logaritmos neperianos a ambos lados de la igualdad:

De este modo:

Si lo reordenamos:

Con esto ya tenemos una disposición muy interesante para realizar la ilustración que pretendíamos.

Si imaginamos ahora que no conocíamos esta especificación exacta de la realidad, pero tenemos el suficiente conocimiento teórico para postular un modelo que trate de describir esos datos, podemos entonces plantear el siguiente modelo de regresión no lineal en las variables, pero lineal en los parámetros:

siendo u el error aleatorio, ruido blanco que desconocemos y que no covaría con x. Entonces planteamos el modelo de regresión con Stata (regress lny x x_cuad), y obtenemos los parámetros estimados correspondientes:

salidastata

Claro, conseguimos un ajuste prácticamente perfecto, porque hemos hecho un poco de “trampa” a la hora de plantear el modelo (sabíamos el modelo subyacente antes de plantearlo).

Para ilustrar mejor cómo predice el modelo (y que se vean unas mínimas diferencias con las observaciones reales) cogemos sólo el primer decimal de la constante, es decir:

Y entonces generamos el valor predicho por el modelo (gen pred=-13.4+(5*x)-(0.5*x_cuad)). Por último, transformamos el valor predicho con el antilogaritmo neperiano, para compararlo con nuestras observaciones reales. Y generamos el gráfico con Stata.

Graph1

Como puede observarse, los errores son extremadamente pequeños, del orden de milésimas de unidad. Eso quiere decir, que nuestras predicciones son realmente buenas.

Ahora podemos ir a wxMaxima y comparar la curva original de datos observados (funcion1), con la curva de valores predichos (función2)

funcion1:(1/(2*%pi)^0.5)*%e^(-0.5*(x-5)^2)$
funcion2: %e^(-13.4+5*x-0.5*x^2)$
plot2d([funcion1,funcion2], [x, 0, 10],[style, lines, lines],
[color, green, orange], [legend, false],
[xlabel,"x"], [ylabel, "y"]);

Y entonces obtenemos la curva original (en verde) frente a la predicha (en naranja), ambas casi idénticas:

curva2

Conclusión

El ajuste por mínimos cuadrados ordinarios es una herramienta muy potente para intentar conocer la realidad que subyace a los datos, independientemente de que la relación entre las variables sea lineal o no lineal.

Sin embargo, y como veremos en posteriores posts, hay que conocer adecuadamente las asunciones que se vinculan a cada modelo propuesto, y testarlas vis a vis con los datos empíricos. Recordemos que las asunciones están dentro de la propia especificación del modelo, por lo que son inherentes a él.

En cualquier caso, y a modo meramente cualitativo, los estudiantes de marketing deben darse cuenta de la importancia que tiene dominar la estadística, para ayudar en la toma de decisiones.

Todos los posts relacionados