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.
1 comentario en «BÁSICOS DE ECUACIONES ESTRUCTURALES (III): COVARIANZA Y CORRELACIÓN ENTRE VARIABLES LATENTES»
Los comentarios están cerrados.