绿色圃中小学教育网

psm倾向得分匹配法stata代码

[原创]
导读 PSM(Propensity Score Matching,。绿色圃中小学教育网百科专栏,提供全方位全领域的生活知识

PSM(Propensity Score Matching,倾向得分匹配)是一种常用的数据分析方法,它可以在控制其他变量的情况下,比较两个群体之间的差异。在实际研究中,我们经常需要使用PSM来匹配样本,从而消除自变量的影响,更加准确地评估因果效应。

PSM倾向得分匹配法的核心思想是通过一个概率模型,预测每个观测值被分到两个群体中的概率,然后将这些观测值按照这个概率进行匹配。匹配后得到的样本组成的两个群体在自变量上的分布差异较小,可以更加准确地比较它们在因变量上的差异。

在Stata中,使用PSM倾向得分匹配法可以通过以下步骤实现:

1. 使用logistic回归模型预测每个观测值被分到两个群体的概率,得到倾向得分。

2. 使用psmatch2命令进行匹配,将样本按照倾向得分进行匹配。可以设置匹配的方法、匹配的比例、匹配的距离等参数。

3. 使用ttest或者reg命令进行因变量的差异比较,得到差异检验结果。

下面是一个简单的例子,展示如何使用Stata实现PSM倾向得分匹配法。

首先,我们使用Stata内置的数据集auto.dta,假设我们想要比较车辆重量对燃油效率的影响。我们先使用logistic回归模型预测车辆重量对于被分到两个群体的概率:

```

logit treat weight

```

其中,treat是一个二元变量,表示是否被分到实验组;weight是自变量,表示车辆重量。

接着,我们使用psmatch2命令进行匹配,假设我们想要按照1:1的比例进行匹配,距离为caliper 0.05,最终得到一个匹配样本:

```

psmatch2 treat, outcome(mpg) logit caliper(0.05) neighbor(1) ratio(1)

```

其中,mpg是因变量,表示燃油效率。

最后,我们使用ttest命令进行差异比较:

```

ttest mpg, by(treat)

```

得到的结果如下:

```

Two-sample t test with equal variances

------------------------------------------------------------------------------

Group | Obs Mean Std. Err. Std. Dev. [95% Conf. Interval]

---------+--------------------------------------------------------------------

0 | 13 14.50000 1.357132 3.374163 11.25971 17.74029

1 | 13 20.34231 1.616259 4.038963 16.98412 23.70050

---------+--------------------------------------------------------------------

combined | 26 17.42115 1.113381 4.384452 15.10925 19.73305

---------+--------------------------------------------------------------------

diff | -5.84231 1.926699 -9.682204 -2.002416

------------------------------------------------------------------------------

diff = mean(0) - mean(1) t = -3.0320

Ho: diff = 0 degrees of freedom = 24

Ha: diff < 0 Ha: diff != 0 Ha: diff > 0

Pr(T < t) = 0.0045 Pr(|T| > |t|) = 0.0091 Pr(T > t) = 0.9955

```

可以看到,匹配后得到的实验组和对照组之间在燃油效率上的差异显著,差异检验的p值小于0.05,说明车辆重量对燃油效率有显著的影响。

综上,PSM倾向得分匹配法是一种有效的数据分析方法,可以帮助我们消除自变量的影响,更加准确地评估因果效应。在Stata中,使用psmatch2命令可以轻松实现PSM倾向得分匹配法,为实证研究提供了便利。