说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。
1.项目背景
中介分析(Mediation Analysis)是一种统计方法,用于探讨变量之间的因果关系链,即一个自变量(X)通过一个或多个中介变量(M)对因变量(Y)产生影响的过程。在基于持续时间数据的中介分析中,研究者关注的是在时间序列或者某种随时间变化的过程中,中介变量如何传递和解释了自变量对因变量的影响。
本项目通过Mediation算法来基于持续时间数据进行中介分析。
2.数据获取
本次建模数据来源于网络(本项目撰写人整理而成),数据项统计如下:
编号 | 变量名称 | 描述 |
1 | ytime | 结果变量 |
2 | ystatus | 结果变量 |
3 | mtime | 中介变量 |
4 | mstatus | 中介变量 |
5 | exp | 中介变量 |
数据详情如下(部分展示):
3.数据预处理
3.1 用Pandas工具查看数据
使用Pandas工具的head()方法查看前五行数据:
关键代码:
3.2 数据缺失查看
使用Pandas工具的info()方法查看数据信息:
从上图可以看到,总共有5个变量,数据中无缺失值,共1000条数据。
关键代码:
3.3 数据描述性统计
通过Pandas工具的describe()方法来查看数据的平均值、标准差、最小值、分位数、最大值。
关键代码如下:
4.探索性数据分析
4.1 变量直方图
用Matplotlib工具的hist()方法绘制直方图:
从上图可以看到,变量主要集中在-2~2之间。
4.2 相关性分析
从上图中可以看到,数值越大相关性越强,正值是正相关、负值是负相关。
5.构建中介分析模型
主要使用Mediation算法,用于中介分析。
5.1 构建模型
编号 | 模型名称 | 参数 |
1 | Mediation模型 | outcome_predict_kwargs={"pred_only": True} |
5.2 完全中介模型摘要信息
编号 | 变量名称 | 解释 |
1 | ACME (control) | 平均因果中介效应,自变量经由中介变量传递到因变量的平均间接效应。 |
2 | ACME (treated) | 平均因果中介效应,表示的是当对研究对象施加特定干预后,自变量通过中介变量对因变量的影响程度。 |
3 | ADE (control) | 这是自变量直接作用于因变量的平均效应,自变量对因变量产生的直接影响大小。 |
4 | ADE (treated) | 表示的是自变量直接对因变量产生影响的效应量,即排除了中介变量传递效应后的直接效应。 |
5 | Total effect | 总效应是指自变量从所有路径(包括直接效应和间接效应)对因变量产生的影响。 |
6 | Prop. mediated (control) | Prop. mediated 是“Proportion mediated”(比例中介)的缩写,在控制组中,这个指标表示自变量通过中介变量对因变量产生的间接效应占总效应的比例。 |
7 | Prop. mediated (treated) | 自变量通过中介变量对因变量的间接效应所占总效应的比例,它反映了在处理组中,中介变量解释了自变量与因变量关系中的多少百分比。 |
8 | ACME (average) | 平均因果中介效应,这是在所有条件下,自变量经由中介变量传递到因变量的平均间接效应。如果模型汇总信息同时考虑了不同条件,则ACME (average) 是综合各条件下的中介效应的均值。 |
9 | ADE (average) | 平均直接效应,这是不考虑中介变量时,自变量对因变量的平均直接影响,它同样考虑了所有研究条件下的直接效应均值。 |
10 | Prop. mediated (average) | 平均比例中介,这是一个总体性的统计量,表示在整个样本(或者综合各种条件后)中,自变量通过中介变量影响因变量的间接效应平均占比。它是通过对所有条件下的Prop. mediated进行某种形式的整合或平均得到的结果。 |
5.3 部分中介模型摘要信息
5.4 不中介模型摘要信息
6.结论与展望
综上所述,本文采用了Mediation算法来构建中介模型,最终证明了我们提出的模型效果良好。此模型可用于日常产品的预测。