使用Python中的结构方程建模(SEM)吗?


当我想用Python进行结构方程建模(SEM)时,我认为semopy将是该软件包的候选者,但是很难理解官方教程的内容,因此我将其迁移了。我试图添加评论。

  • 官方教程:教程--semopy

什么是结构方程建模(SEM)?

结构方程模型(SEM)是一种统计方法,用于对有关变量之间关系的假设进行建模并验证其有效性。也称为"协方差结构分析"。

SEM

的特点

SEM的特征如下。

  • 您可以统计地验证假定变量之间的关系。
  • 引入潜在变量(构造概念)的分析是可能的。

  • 使用路径图的视觉表达是可能的。

  • 下级模型包括各种统计模型,例如回归分析和因子分析。
  • 重点是"验证"而不是"寻找"关系。

分析流程

在实际分析中,我认为PDCA周期如下。

sem_pdca.png

SEM中的重要概念?术语

观察变量和潜变量

  • "观察到的变量":

    • 直接观察变量
    • 例如:考试成绩,身高等
  • "潜在变量":

    • 与未直接观察到的公共因素相关的变量
    • 对应于因子分析中的"因子"。在SEM中,它称为"构造"。
    • 例如:数学能力,品牌影响力等。

路径图中,观察到的变量用矩形表示,而潜在变量用圆形表示。

variates.png

结构方程式和测量方程式

因子分析仅描述解释变量和因子之间的关系,而SEM也可以描述因子(结构)之间的关系。这些关系的描述基于先前研究结果得出的假设。

  • "结构方程" ...基于假设描述因果关系的方程

  • "测量方程" ...描述潜在变量和组成变量的观测变量之间关系的方程。

通过路径图表示

スクリーンショット 2020-12-04 13.21.36.png

semopy结构方程建模

您可以将semopy软件包与

pip install semopy一起安装,但是除Python 3.7之外,它可能无法正常工作。我在pyenv(python3.7.6)jupyter-lab环境中运行。

1
2
3
4
5
6
7
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from see import see

import semopy
from semopy import Model

关于要使用的数据集

使用semipy提供的"政治民主"作为样本数据集。关于发展中国家工业化和政治民主的数据集。每个变量的说明如下。

<表格>

变量名

说明


<身体>

y1

新闻自由的专家评估(1960年)

y2

反对自由(1960年)

y3

选举公平(1960年)

y4
选出的议会(1960)的有效性

y5

出版自由的专家评估(1965)

y6

反对自由(1965)

y7

选举公平(1965年)

y8
选出的议会(1965)的有效性

x1

人均国民生产总值(1960年)

x2

每人

x3

工业劳动力百分比(%)(1960)


可以从

表中读取以下内容。
* y1?y4 ... 1960年观察到的民主变量-