Saltar al contenido principal

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.
Actualizado 2 oct 2024  · 9 min de lectura

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.
  • Educación: El SEM puede utilizarse para investigar la experiencia de los estudiantes en las escuelas de posgrado. Por ejemplo, para modelizar las tasas de abandono de los estudiantes de doctorado en EEUU. 
  • 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:

  1. 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. 
  2. 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.
  3. Muestreo Suposiciones: 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.
  4. Multivariante Normalidad: 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.
  5. Falta Datos: 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.
  6. Especificación Error: 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.

Instalar las bibliotecas necesarias

pip install semopy

Nota: Para usuarios de macOS. Si encuentras este error al instalar el paquete:

ExecutableNotFound: failed to execute PosixPath('dot'), make sure the Graphviz executables are on your systems' PATH

Instala graphviz a través de homebrew en tu terminal

brew install graphviz

Definició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 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.

# Measurement model
ind60 =~ x1 + x2 + x3
demo60 =~ y1 + y2 + y3 + y4
dem65 =~ y5 + y6 + y7 + y8

Especificación del modelo estructural

Aquí especificaremos las relaciones entre los propios constructos latentes. 

# regressions
dem60 ~ ind60
dem65 ~ ind60 + dem60

Especificación de las correlaciones

Aquí queremos especificar variables que estén muy correlacionadas entre sí.

# Correlations
y1 ~~ y5 
y2 ~~ y4 
y2 ~~ y6 
y3 ~~ y7 
y4 ~~ y8 
y6 ~~ y5

Preparar el conjunto de datos

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')

Definición del modelo SEM

Tenemos que combinar las definiciones estructurales y de medición en una especificación del modelo.

# Define the SEM model specification
model_spec = """
# Measurement model
ind60 =~ x1 + x2 + x3
dem60 =~ y1 + y2 + y3 + y4
dem65 =~ y5 + y6 + y7 + y8
    
# regressions
dem60 ~ ind60
dem65 ~ ind60 + dem60
    
# Correlations
y1 ~~ y5 
y2 ~~ y4 
y2 ~~ y6 
y3 ~~ y7 
y4 ~~ y8 
y6 ~~ y5
"""

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 results
print(model.inspect())

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()

modelo de ecuaciones estructurales diagrama de trayectorias

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.
  • Ajuste del modelo: Cuando el modelo hipotetizado no se ajusta a los datos observados, conduce a interpretaciones erróneas sobre la relación entre las variables. Puedes realizar ajustes teóricos en el modelo o utilizar índices de modificación

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.

Conviértete en un Científico ML

Mejora tus conocimientos de Python para convertirte en un científico del aprendizaje automático.
Empieza a aprender gratis

Bunmi Akinremi's photo
Author
Bunmi Akinremi
LinkedIn
Twitter

Ingeniero de Aprendizaje Automático y Poeta

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.

Temas

Aprende con DataCamp

curso

Structural Equation Modeling with lavaan in R

4 hr
8.9K
Learn how to create and assess measurement models used to confirm the structure of a scale or questionnaire.
Ver detallesRight Arrow
Comienza el curso
Ver másRight Arrow
Relacionado

blog

8 modelos de machine learning explicados en 20 minutos

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.
Natassha Selvaraj's photo

Natassha Selvaraj

25 min

tutorial

Tutorial de ecuación normal para regresión lineal

Aprende qué es la ecuación normal y cómo puedes utilizarla para construir modelos de machine learning.
Kurtis Pykes 's photo

Kurtis Pykes

8 min

tutorial

Comprender la deriva de los datos y la deriva de los modelos: Detección de deriva en Python

Navegue por los peligros de la deriva de modelos y explore nuestra guía práctica para la supervisión de la deriva de datos.
Moez Ali's photo

Moez Ali

9 min

tutorial

Comprender la regresión logística en el tutorial de Python

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.
Avinash Navlani's photo

Avinash Navlani

10 min

tutorial

Tutorial de Modelado de datos en Power BI

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.
Joleen Bothma's photo

Joleen Bothma

11 min

tutorial

Aprendizaje automático de datos categóricos con el tutorial de Python

Aprenda los trucos más comunes para manejar datos categóricos y preprocesarlos para construir modelos de aprendizaje automático.
Moez Ali's photo

Moez Ali

28 min

Ver másVer más