Modelización de ecuaciones estructurales: Qué es y cuándo utilizarlo
Explora los tipos de modelos de ecuaciones estructurales. Aprende a hacer suposiciones teóricas, construir un modelo hipotético, evaluar el ajuste del modelo e interpretar los resultados en el modelado de ecuaciones estructurales.
El modelado de ecuaciones estructurales (SEM) nos permite investigar las relaciones causales entre variables y comprender cómo contribuye cada una de ellas al rendimiento global. El SEM es una potente herramienta que combina el análisis factorial y el análisis de regresión múltiple para analizar las relaciones entre múltiples variables. Esto es algo similar a cómo, en nuestra vida diaria, consideramos cómo factores como la postura, la confianza y las habilidades de comunicación influyen colectivamente en algo como el rendimiento en una entrevista.
Exploremos ahora el SEM, sus aplicaciones y ejemplos prácticos en Python. Si no conoces algunas de las ideas centrales, como la idea de los factores latentes, también puedes probar nuestro curso de Análisis Factorial.
¿Qué es el Modelo de Ecuaciones Estructurales?
El modelado de ecuaciones estructurales representa las relaciones causales entre las variables latentes y las observadas. Las variables observadas son las que podemos medir directamente. Los constructos latentes se infieren y no se miden directamente.
Para captar eficazmente estas relaciones, el SEM se divide en dos componentes principales: el modelo de medida y el modelo estructural. El modelo de medida especifica las relaciones entre las variables observadas y sus correspondientes variables latentes, mientras que el modelo estructural especifica las relaciones entre las variables latentes.
¿Por qué utilizan los investigadores el modelado de ecuaciones estructurales?
Las técnicas estadísticas como la correlación y la regresión son ineficaces para estudiar relaciones multivariantes complejas. El SEM es adecuado para modelizar constructos complejos y polifacéticos que se miden con error. También es útil porque ayuda a especificar un sistema de relaciones. Los métodos tradicionales nos ayudan a estudiar una variable independiente y un conjunto de predictores. Aunque correlación no es causalidad, el SEM nos ayuda a comprender la relación causal entre la variable observada y los constructos latentes.
Algunas de las aplicaciones del SEM son
Ciencias Sociales: El SEM puede utilizarse para estudiar la influencia de los valores culturales en el comportamiento humano de distintas sociedades.
Modelización del riesgo de enfermedad: El SEM puede aplicarse a la modelización del riesgo de enfermedad para determinar el riesgo de enfermedades como la diabetes o las cardiopatías.
Conceptos básicos del modelado de ecuaciones estructurales
He aquí algunos de los conceptos básicos del modelado de ecuaciones estructurales:
Variables observadas: Las variables observadas se miden directamente a partir del estudio. Algunos ejemplos son las respuestas a los campos del cuestionario.
Variables Latentes: Las variables latentes se infieren a partir de las variables observadas en el estudio. Por ejemplo, el nivel de inteligencia en la calificación del rendimiento académico de un alumno.
Variables endógenas: También se conocen como variables dependientes. Por ejemplo, en y= x1 + x2 + x3, y es la variable endógena, ya que depende de los valores de x1, x2, ..., xn.
Variables exógenas: Son variables independientes. Por ejemplo, el tiempo de sueño de un atleta es independiente del tipo de bicicleta de carreras.
Modelo de medición: mide las relaciones entre los constructos latentes y las variables observadas. El marco del análisis factorial confirmatorio pone a prueba la hipótesis subyacente del modelo de medición.
Modelo estructural: Este modelo investiga las relaciones causales entre los constructos latentes. Se representa esquemáticamente mediante el análisis de trayectorias.
Supuestos estadísticos del modelo de ecuaciones estructurales
Aunque el SEM es estupendo para modelizar relaciones casuales, tiene algunas suposiciones subyacentes sobre los datos. Los supuestos incluyen:
Linealidad: El SEM supone relaciones lineales entre los constructos latentes y las variables observadas. No es adecuado para conjuntos de datos no lineales, ya que puede dar resultados incorrectos.
Multicolinealidad: El SEM asume una multicolinealidad mínima entre las variables observadas. Por ejemplo, las horas de sueño y la nutrición de un competidor pueden estar muy correlacionadas. El SEM supone que existe poca correlación entre estas variables.
MuestreoSuposiciones: Para las tareas SEM, necesitas un tamaño de muestra suficiente, de al menos 200, para obtener buenos resultados. Aunque no necesitas grandes conjuntos de datos como los LLM, una muestra de menor tamaño puede dar resultados inexactos.
MultivarianteNormalidad: El SEM supone que los datos son una distribución normal multivariante. No es adecuado para datos no normales. Puedes realizar pruebas para comprobar la normalidad.
FaltaDatos: SEM supone que los datos están completos.Una forma en que el SEM aborda los datos que faltan es suponer que los datos faltan de forma aleatoria. Los datos que faltan pueden interferir en la estimación del modelo.
EspecificaciónError: El SEM supone que el modelo definido está especificado correctamente. Supone que los modelos de medición y estructural contienen al menos todas las variables relevantes.
Tipos de modelos de ecuaciones estructurales
Existen distintos tipos de modelos de ecuaciones estructurales. Sin ningún orden en particular, son:
Análisis de trayectorias: Es un tipo de SEM y una extensión de los modelos de regresión que sólo se ocupa de las variables observadas (también conocidas como predictores). Los diagramas de trayectorias representan visualmente estas relaciones utilizando flechas para mostrar la direccionalidad.
Análisis Factorial Confirmatorio (AFC): Es un tipo de SEM utilizado para comprobar la validez de los modelos de medición. Verifica si los datos observados se ajustan a un modelo previamente especificado.
Modelos estructurales de variable latente (LVSM): Modela las relaciones entre los constructos latentes y las variables observadas. También modela la relación entre los propios constructos latentes.
Modelos de crecimiento latente: Los Modelos de Crecimiento Latente son un tipo especializado de SEM que se centra en modelar el cambio a lo largo del tiempo. Se utilizan para estudiar las trayectorias de variables latentes (por ejemplo, rasgos psicológicos o comportamientos) y cómo evolucionan, teniendo en cuenta los cambios a nivel individual y de grupo.
Ejemplo de modelización de ecuaciones estructurales en Python
Desarrollar un modelo SEM en Python sólo requiere unos pocos pasos; podemos utilizar la biblioteca semopy para hacerlo fácilmente. El siguiente tutorial asume que estás familiarizado con la sintaxis de Python.
Antes de descargar nuestro conjunto de datos y crear nuestro modelo, dediquemos un minuto a definir todos nuestros constructos. Es decir, tendremos que identificar las variables latentes y observadas. En el caso de nuestro conjunto de datos, las variables observadas se nos han proporcionado como características etiquetadas y son x1 a x3 y y1 a y8. Las variables latentes que queremos estudiar tienen estos nombres, que explicaremos: ind60, dem60, dem65.
Variables observadas
y1libertad de prensa, 1960
y2libertad de oposición política, 1960
y3: imparcialidad de las elecciones, 1960
y4eficacia de la legislatura elegida, 1960
y5 -y8: son las mismas variables que y1-y4, respectivamente, medidas en 1965
x1el PNB per cápita, 1960
x2el consumo de energía per cápita, 1960
x3porcentaje de mano de obra en la industria, 1960
Variables latentes
ind60variable latente exógena sobre la industrialización.
dem60: variable latente endógena sobre la democracia en 1960.
dem65: variable latente endógena sobre la democracia en 1965.
Desarrollar el modelo de medición
El objetivo es definir un modelo teórico que especifique la relación entre los constructos latentes y las variables observadas.
Para este tutorial, utilizaremos el conjunto de datos PoliticalDemocracy.csv proporcionado por semopy. Puedes descargarlo visitando este repositorio de GitHub.
Import pandas as pd
data = pd.read_csv('PoliticalDemocracy.csv')Con la tecnología de
Definición del modelo SEM
Tenemos que combinar las definiciones estructurales y de medición en una especificación del modelo.
A continuación, definimos el modelo y ajustamos los datos
import semopy
# Define the model
model = semopy.Model(model_spec)#Fit the model
model.fit(data)# Inspect the resultsprint(model.inspect())Con la tecnología de
Interpretar los resultados
Trazaremos el resultado del modelo para comprender la representación de la trayectoria. La parcela se guardará como political_sem_model.png.
semopy.semplot(model,'political_sem_model.png')print("SEM Model diagram saved as 'political_sem_model.png'.")
img = plt.imread('political_sem_model.png')
plt.imshow(img)
plt.axis('off')
plt.show()Con la tecnología de
Diagrama SEM del conjunto de datos de la democracia política. Fuente: Imagen del autor
El diagrama muestra cómo el camino relaciona los constructos latentes (en círculos) y las variables observadas. Los coeficientes de trayectoria más cercanos a 1 o -1 muestran relaciones fuertes entre las variables y los cercanos a 0 muestran relaciones débiles.
Las desviaciones típicas de la tabla están dentro del intervalo. Los valores más altos pueden indicar multicolinealidad o una mala especificación del modelo. Los valores p determinan la significación estadística de los coeficientes del camino. Un valor p inferior a 0,05 suele indicar que la trayectoria es estadísticamente significativa. Vemos 2 casos en los que el valor p es superior a 0,05.
En conjunto, los resultados muestran que ind60 influye significativamente en dem60, que, a su vez, influye significativamente en dem65.
Evaluar el ajuste del modelo
El modelo hipotetizado debe coincidir con las relaciones observadas para evaluar el ajuste del modelo SEM. Se utilizan varios índices de ajuste para evaluar lo bien que el modelo se ajusta a los datos. Aquí tienes los más utilizados:
Prueba Chi-cuadrado: Compara la matriz de covarianzas observada con la matriz de covarianzas implícita en el modelo. Un chi-cuadrado no significativo indica un buen ajuste.
Error cuadrático medio de aproximación: Evalúa lo bien que el modelo se aproxima a los datos, ajustándose a la complejidad del modelo. Se aceptan valores por debajo de 0,05 y hasta 0,08.
Retos comunes y soluciones en SEM
Algunos de los retos habituales de la técnica de modelización de ecuaciones estructurales son los siguientes:
No normalidad de los datos: El SEM suele suponer que los datos siguen una distribución normal. El uso de datos no normales podría afectar a los errores estándar, los valores p y los índices de ajuste, dando lugar a estimaciones poco fiables. Se pueden aplicar técnicas de transformación de datos para normalizarlos.
Datos que faltan: Se necesitan datos completos para el SEM. Los datos que faltan pueden dar lugar a resultados sesgados. Puedes aprovechar los métodos de estimación de la verosimilitud, como la máxima verosimilitud con información completa (FIML), para abordar esta cuestión.
En este artículo, revisamos el SEM en profundidad, incluyendo sus aplicaciones, implementación, ventajas y limitaciones. El SEM es una potente herramienta para examinar relaciones complejas e interacciones causales entre variables observadas y latentes. Deberías probarlo en Python o R para tu próximo proyecto de análisis.
Si te interesa la idea del modelado de ecuaciones estructurales pero prefieres R, puedes seguir el curso Structural Equation Modeling with lavaan in R, que contiene instrucciones detalladas paso a paso. También puedes emprender la carrera de Estadístico en R. Si estás comprometido con Python, lee la documentación de semopy para conocer más casos de uso de SEM en Python. Por último, si te interesan los modelos avanzados de Python que predicen y explican, y explorar ideas de arquitectura de modelos y selección de características, prueba nuestra trayectoria profesional de Científico de Aprendizaje Automático en Python.
Preguntas frecuentes sobre el modelado de ecuaciones estructurales
¿Qué es el modelado de ecuaciones estructurales (SEM) y cómo funciona?⌄
El modelado de ecuaciones estructurales es una técnica estadística multivariante utilizada para analizar relaciones complejas entre variables latentes y observadas.
¿Cuál es la diferencia entre el análisis factorial confirmatorio (AFC) y el modelado de ecuaciones estructurales (SEM)?⌄
El análisis factorial confirmatorio (AFC) es un tipo de SEM que se centra en las relaciones entre las variables latentes y sus variables observadas asociadas. El SEM, por otra parte, va más allá de los modelos de medición e incluye tanto componentes estructurales como de medición, lo que permite el análisis de complejas relaciones causa-efecto entre variables latentes y observadas.
¿Cuáles son las principales etapas del análisis SEM?⌄
Los principales pasos del análisis SEM son (1) Definir las relaciones teóricas entre variables; (2) Identificar el modelo, asegurándose de que el número de puntos de datos supera el número de parámetros; (3) Ajustar el modelo a los datos; (4) Evaluar el ajuste del modelo utilizando índices como Chi-cuadrado, o RMSEA, y (5) Interpretar los resultados, examinando los coeficientes de trayectoria y los indicadores de ajuste del modelo.
¿Cuáles son algunos de los retos que plantea el uso del SEM?⌄
Algunos retos comunes incluyen la selección del modelo -donde el modelo puede no tener suficientes puntos de datos para estimar los parámetros-, la multicolinealidad entre las variables, el mal ajuste del modelo -donde los datos no se alinean bien con el modelo hipotetizado-, y el gran tamaño de la muestra, ya que las muestras pequeñas pueden dar lugar a resultados poco fiables.
¿Qué paquete Python puedo utilizar para SEM?⌄
semopy es un paquete de Python que admite operaciones de modelado de ecuaciones estructurales.
Descubre todo lo que necesitas saber sobre los tipos de modelos de machine learning, incluyendo para qué se utilizan y ejemplos de cómo ponerlos en práctica.
Introdúcete en las estructuras de datos de Python: aprende más sobre tipos de datos y estructuras de datos primitivas y no primitivas, como cadenas, listas, pilas, etc.
Aprende sobre la regresión logística, sus propiedades básicas, y construye un modelo de machine learning sobre una aplicación del mundo real en Python.
Descubre qué es el modelado de datos en Power BI y cómo unas buenas prácticas de modelado de datos pueden llevar tus informes de Power BI al siguiente nivel.
Descubre machine learning con Python y avanza hacia tu objetivo de convertirte en científico de machine learning. Explora el aprendizaje supervisado, no supervisado y profundo.
Aprende el arte del machine learning y conviértete en un as de la predicción, el reconocimiento de patrones y los fundamentos del aprendizaje profundo y por refuerzo.
El modelado de ecuaciones estructurales (SEM) nos permite investigar las relaciones causales entre variables y comprender cómo contribuye cada una de ellas al rendimiento global. El SEM es una potente herramienta que combina el análisis factorial y el análisis de regresión múltiple para analizar las relaciones entre múltiples variables. Esto es algo similar a cómo, en nuestra vida diaria, consideramos cómo factores como la postura, la confianza y las habilidades de comunicación influyen colectivamente en algo como el rendimiento en una entrevista.
Exploremos ahora el SEM, sus aplicaciones y ejemplos prácticos en Python. Si no conoces algunas de las ideas centrales, como la idea de los factores latentes, también puedes probar nuestro curso de Análisis Factorial.
¿Qué es el Modelo de Ecuaciones Estructurales?
El modelado de ecuaciones estructurales representa las relaciones causales entre las variables latentes y las observadas. Las variables observadas son las que podemos medir directamente. Los constructos latentes se infieren y no se miden directamente.
Para captar eficazmente estas relaciones, el SEM se divide en dos componentes principales: el modelo de medida y el modelo estructural. El modelo de medida especifica las relaciones entre las variables observadas y sus correspondientes variables latentes, mientras que el modelo estructural especifica las relaciones entre las variables latentes.
¿Por qué utilizan los investigadores el modelado de ecuaciones estructurales?
Las técnicas estadísticas como la correlación y la regresión son ineficaces para estudiar relaciones multivariantes complejas. El SEM es adecuado para modelizar constructos complejos y polifacéticos que se miden con error. También es útil porque ayuda a especificar un sistema de relaciones. Los métodos tradicionales nos ayudan a estudiar una variable independiente y un conjunto de predictores. Aunque correlación no es causalidad, el SEM nos ayuda a comprender la relación causal entre la variable observada y los constructos latentes.
Algunas de las aplicaciones del SEM son
Conceptos básicos del modelado de ecuaciones estructurales
He aquí algunos de los conceptos básicos del modelado de ecuaciones estructurales:
Supuestos estadísticos del modelo de ecuaciones estructurales
Aunque el SEM es estupendo para modelizar relaciones casuales, tiene algunas suposiciones subyacentes sobre los datos. Los supuestos incluyen:
Tipos de modelos de ecuaciones estructurales
Existen distintos tipos de modelos de ecuaciones estructurales. Sin ningún orden en particular, son:
Ejemplo de modelización de ecuaciones estructurales en Python
Desarrollar un modelo SEM en Python sólo requiere unos pocos pasos; podemos utilizar la biblioteca
semopypara hacerlo fácilmente. El siguiente tutorial asume que estás familiarizado con la sintaxis de Python.Instalar las bibliotecas necesarias
Nota: Para usuarios de macOS. Si encuentras este error al instalar el paquete:
Instala
graphviza través de homebrew en tu terminalDefinición de constructos
Antes de descargar nuestro conjunto de datos y crear nuestro modelo, dediquemos un minuto a definir todos nuestros constructos. Es decir, tendremos que identificar las variables latentes y observadas. En el caso de nuestro conjunto de datos, las variables observadas se nos han proporcionado como características etiquetadas y son
x1ax3yy1ay8. Las variables latentes que queremos estudiar tienen estos nombres, que explicaremos:ind60,dem60,dem65.Variables observadas
y1libertad de prensa, 1960y2libertad de oposición política, 1960y3: imparcialidad de las elecciones, 1960y4eficacia de la legislatura elegida, 1960y5-y8: son las mismas variables quey1-y4, respectivamente, medidas en 1965x1el PNB per cápita, 1960x2el consumo de energía per cápita, 1960x3porcentaje de mano de obra en la industria, 1960Variables latentes
ind60variable latente exógena sobre la industrialización.dem60: variable latente endógena sobre la democracia en 1960.dem65: variable latente endógena sobre la democracia en 1965.Desarrollar el modelo de medición
El objetivo es definir un modelo teórico que especifique la relación entre los constructos latentes y las variables observadas.
Especificación del modelo estructural
Aquí especificaremos las relaciones entre los propios constructos latentes.
Especificación de las correlaciones
Aquí queremos especificar variables que estén muy correlacionadas entre sí.
Preparar el conjunto de datos
Para este tutorial, utilizaremos el conjunto de datos
PoliticalDemocracy.csvproporcionado porsemopy. Puedes descargarlo visitando este repositorio de GitHub.Definición del modelo SEM
Tenemos que combinar las definiciones estructurales y de medición en una especificación del modelo.
A continuación, definimos el modelo y ajustamos los datos
Interpretar los resultados
Trazaremos el resultado del modelo para comprender la representación de la trayectoria. La parcela se guardará como
political_sem_model.png.Diagrama SEM del conjunto de datos de la democracia política. Fuente: Imagen del autor
El diagrama muestra cómo el camino relaciona los constructos latentes (en círculos) y las variables observadas. Los coeficientes de trayectoria más cercanos a 1 o -1 muestran relaciones fuertes entre las variables y los cercanos a 0 muestran relaciones débiles.
Las desviaciones típicas de la tabla están dentro del intervalo. Los valores más altos pueden indicar multicolinealidad o una mala especificación del modelo. Los valores p determinan la significación estadística de los coeficientes del camino. Un valor p inferior a 0,05 suele indicar que la trayectoria es estadísticamente significativa. Vemos 2 casos en los que el valor p es superior a 0,05.
En conjunto, los resultados muestran que
ind60influye significativamente endem60, que, a su vez, influye significativamente endem65.Evaluar el ajuste del modelo
El modelo hipotetizado debe coincidir con las relaciones observadas para evaluar el ajuste del modelo SEM. Se utilizan varios índices de ajuste para evaluar lo bien que el modelo se ajusta a los datos. Aquí tienes los más utilizados:
Retos comunes y soluciones en SEM
Algunos de los retos habituales de la técnica de modelización de ecuaciones estructurales son los siguientes:
Conclusión
En este artículo, revisamos el SEM en profundidad, incluyendo sus aplicaciones, implementación, ventajas y limitaciones. El SEM es una potente herramienta para examinar relaciones complejas e interacciones causales entre variables observadas y latentes. Deberías probarlo en Python o R para tu próximo proyecto de análisis.
Si te interesa la idea del modelado de ecuaciones estructurales pero prefieres R, puedes seguir el curso Structural Equation Modeling with lavaan in R, que contiene instrucciones detalladas paso a paso. También puedes emprender la carrera de Estadístico en R. Si estás comprometido con Python, lee la documentación de semopy para conocer más casos de uso de SEM en Python. Por último, si te interesan los modelos avanzados de Python que predicen y explican, y explorar ideas de arquitectura de modelos y selección de características, prueba nuestra trayectoria profesional de Científico de Aprendizaje Automático en Python.