???? 连享会主页:lianxh.cn
连享会 · 名师讲坛
???? 空间计量 专题
⌚ 2020.12.10-13???? 主讲:杨海生 (中山大学);范巧 (兰州大学)
???? 课程主页:https://gitee.com/arlionn/SP
连享会 · 计量专题
???? 因果推断-内生性 专题
⌚ 2020.11.12-15
???? 主讲: 王存同 (中央财经大学);司继春(上海对外经贸大学)
???? 课程主页:https://gitee.com/arlionn/YG
作者: 张沛康 (北京大学, patrick.zhang@pku.edu.cn)
连享会 Stata 暑期班-论文班助教
Source: 以下部分内容源自笔者的研究 (吴琼和张沛康,2019) 以及 Gary King 使用锚定情境法的 R 语言操作指南 (Wand J, King G 和 Lau O,2011)
目录
Notes: 以下部分需要用到 R,有关 R 的安装和介绍,参见:Rcall:Stata 与 R 的无缝对接 ( 微信版 )。
在问卷调查中,我们可以发现有各种类型的主观测评题,如询问受访者的健康水平、主观社会地位、幸福感、政治效能感等等。这类题目在研究中常用作关键的被解释变量,有时也会用作解释变量或控制变量。受访者在填写主观测评题时会根据自己的评价标准进行判断分析,这个评价标准可能在不同的人群中有巨大差异,有时会导致客观情况处于优势的人群自我主观评价较低的现象 (王广州和王军,2013) 。有学者认为评价标准的差异来源于不同人群采用了不同的参照群体 (李培林和张翼,2008; 吴菲和王俊秀,2017) 。根据参照群体理论,人们在进行比较时,往往会选择和他们同质的人作为参照。
基于此背景,今天笔者给大家介绍的是哈佛大学定量社会科学研究中心主任 Gary King 教授设计的锚定情境法 (Anchoring Vignette),这种方法有助于减少项目功能差异 (Response-Category Differential Item Functioning ,DIF) 导致的测量误差,改善不同群体之间的不可比性。
具体而言,锚定情境法是通过给受访者一些与调查主题相关的假设性情境,让他们根据情境内容进行作答。以「中国家庭追踪调查」(CFPS) 的健康情境题为例,受访者需要对以下两种情境中的任务进行打分。
A 孙军在走路、跑步、活动四肢上毫无问题。他每周慢跑 2 次,每次跑 5 公里。他记不得最近一次感到身体疼痛是什么时候,因为最近一年里他都从未感到过疼痛。即使在体力劳动或者锻炼后,他也不曾感到任何身体疼痛。你认为,孙军的健康状况如何?
B 王丽走 200 米的路毫无困难。但走完一公里或爬完几层楼后,会觉得累。他的日常活动没有问题,比如从市场上买完菜拎回家。他每月都有一次头痛,吃药之后会有所缓解。头痛时,他能继续做日常工作。你认为,王丽的健康状况如何?
研究者通过受访者对情境题的回答了解受访者的评价标准,以调整不同群体在进行主观评价时的异质性,其基本原理如图 1 所示。
锚定情境法的运用需满足两个假设:
接下来笔者给大家介绍如何用 R 来呈现情境题的基本情况,所用的数据是 Gary King 教程中提供的数据freedom
,该数据含有一道自评题和六道情境题,都是用来测量受访者对自身及六个情境人物的 political freedom 的看法。
>library("anchors")
>data("freedom")
z1 <- anchors.order(~ vign1 + vign2 + vign3 + vign4 + vign5 + vign6, freedom)
>summary(z1, top = 10, digits = 3)
ANCHORS: SUMMARY OF VIGNETTE ORDERING
Treatment of ties: represent as sets
Number of cases with at least two distinct vignette responses: 3267
and with no violations of natural ordering: 773
and with no more than 1 violation of natural ordering: 1654
and with no more than 2 violation of natural ordering: 2299 //情境题违反客观情况的受访者数目
Proportion of cases a vignette (row) is less than another (column):
<1 <2 <3 <4 <5 <6
1 NA 0.235 0.651 0.757 0.715 0.775
2 0.321 NA 0.663 0.732 0.707 0.754
3 0.080 0.121 NA 0.457 0.363 0.575
4 0.056 0.080 0.138 NA 0.183 0.374
5 0.067 0.068 0.198 0.339 NA 0.495
6 0.055 0.070 0.081 0.100 0.103 NA //情境题分值的两两比较
Upper tri = p*{ij} - p*{ji} (negative values suggest misorderings)
Lower tri = 1 - p*{ij} - p*{ji} (big numbers means many ties)
1 2 3 4 5 6
1 NA -0.085 0.571 0.702 0.649 0.720
2 0.444 NA 0.542 0.652 0.639 0.684
3 0.269 0.405 NA 0.320 0.165 0.494
4 0.215 0.218 0.477 NA -0.156 0.275
5 0.187 0.225 0.171 0.345 NA 0.392
6 0.188 0.440 0.176 0.526 0.402 NA //「上三角」与「下三角」的差值
Top 10 orderings (out of 615 unique orderings):
Frequency Proportion Ndistinct Nviolation
{1,2,3,4,5,6} 233 0.0666 1 0
{1,2},{3,4,5,6} 129 0.0369 2 0
{1,2},3,{4,5,6} 113 0.0323 3 0
{1,2},{3,5},{4,6} 98 0.0280 3 1
{1,2},{3,4,5},6 97 0.0277 3 0
2,1,{3,4,5,6} 93 0.0266 3 1
{1,2},3,{4,5},6 79 0.0226 4 0
{1,2},5,{3,4,6} 63 0.0180 3 2
2,1,3,{4,5},6 58 0.0166 5 1
2,1,{3,5},{4,6} 57 0.0163 4 2 //六道情境题相对大小的各种可能性
需要注意的是,{1,2} 代表vign1=vign2。
在对非参数法的原理进行解释时,为了便于理解,我们以刚才提到的 CFPS 的健康情景题为例。我们假设受访者
当情境题的排序与假设的客观情况相符时 (
上述通过重新编码得到的
在实际中,我们可能遇到的不只是两道情境题,而是三道甚至更多,此时 freedom
。为了简化,笔者从中选取了前四道进行分析。下面的结果会给出通过这四种方法得到处理含有"情境题的排序与客观情况不符"和「打结点」这两种情况的
>z2 <- anchors(self ~ vign1 + vign2 + vign3 + vign4, freedom, method = "C", combn = TRUE)
>summary(z2)
ANCHORS: SUMMARY OF RELATIVE RANK ANALYSIS:
Overview of C-ranks
Number of cases: 1216 with interval value, 2284 with scalar value
Maximum possible C-rank value: 9
Interval on C-scale: Frequency and proportions Cs to Ce
N Prop MinEnt
1 to 1 339 0.097 1
2 to 2 48 0.014 2
3 to 3 29 0.008 3
4 to 4 68 0.019 4
5 to 5 336 0.096 5
6 to 6 148 0.042 6
7 to 7 186 0.053 7
8 to 8 483 0.138 8
9 to 9 647 0.185 9
1 to 4 121 0.035 1
1 to 5 31 0.009 5
1 to 6 24 0.007 5
1 to 7 3 0.001 5
1 to 8 33 0.009 8
1 to 9 12 0.003 8
2 to 4 111 0.032 4
2 to 5 64 0.018 5
2 to 6 40 0.011 5
2 to 7 13 0.004 5
2 to 8 134 0.038 8
2 to 9 27 0.008 8
3 to 6 4 0.001 5
3 to 7 11 0.003 5
3 to 8 26 0.007 8
3 to 9 12 0.003 8
4 to 6 14 0.004 5
4 to 7 21 0.006 5
4 to 8 108 0.031 8
4 to 9 79 0.023 8
5 to 8 62 0.018 8
5 to 9 9 0.003 8
6 to 8 195 0.056 8
6 to 9 62 0.018 8 //每个 C 的取值范围的占比及最小熵
Note: MinEnt is the rank for the interval that minimizes entropy
Summary of C-ranks with ties/intervals broken:
Distribution of ranks omiting interval cases
1 2 3 4 5 6 7 8 9
0.148 0.021 0.013 0.03 0.147 0.065 0.081 0.211 0.283
Distribution of ranks allocating interval cases uniformly
1 2 3 4 5 6 7 8 9
0.11 0.051 0.049 0.073 0.135 0.098 0.104 0.186 0.195
Distribution of ranks allocating interval cases via cpolr
and conditioning on observed ranks
1 2 3 4 5 6 7 8 9
0.120 0.035 0.022 0.073 0.157 0.080 0.090 0.223 0.200
Allocating cases to their MinEnt values produces
1 2 3 4 5 6 7 8 9
0.131 0.014 0.008 0.051 0.160 0.042 0.053 0.355 0.185 //非参数法调整后的 C 在各取值上的比例
直播课程:实证研究设计 (2.4小时)
● 画图
>par(mfrow = c(2, 2))
>ylim <- c(0, 0.5)
>barplot(z2, ties = "omit", ylim = ylim, main = "Omit Tied Cases")
>barplot(z2, ties = "uniform", ylim = ylim, main = "Uniform Allocation")
>barplot(z2, ties = "cpolr", ylim = ylim, main = "Censored Ordered Probit Allocation")
>barplot(z2, ties = "minentropy", ylim = ylim, main = "Minimum Entropy Allocation")
图 2 是用非参数法调整主观偏差后的
细心的读者如果将上述结果与 Gary King 教程中呈现的结果进行对比就会发现,两者是有差异的,原因有二:第一,Gary King 选取的是 vign1、vign2、vign3 和 vign6,而笔者选取的是 vign1-vign4;第二,Gary King 调整了四道情景题的顺序,即对四个情境的 political freedom 相对大小进行了设定 (vign2<vign1<vign3<vign6)。关于情境题的选取对结果的影响,我们将在下一篇关于锚定情景法的推文中进行介绍。
参数法是通过 CHOPIT 模型来调整个体的评价标准,CHOPIT模型是在「分层顺序概率模型」 (hierarchical ordered probit, HOPIT) 的基础上发展而来的模型。我们假设个体 i 的真实健康状况