征途2结婚生子:如何对样本进行加权?

来源:百度文库 编辑:中财网 时间:2024/05/07 21:11:08
如何对样本进行加权?
In today's class, you showed us that our initial sample had too many young respondents so that you weighted the sample to make it more representative of the population. How did you do that -- did you make the young people less young?  (老师,你今天在课堂上演示,我们的调查样本中年轻人太多,你通过加权提高了样本对总体的代表性。请问你是如何加权的,比如将年轻人变成不太年轻?)
Weighting(加权)主要用于两种情况:一、如果原始样本是 Probability Non-Proportionate to Size (NPPS,或非等比随机抽样),如我曾参与过的一个中国女记者调查,为了比较,需要同时抽取男记者,而根据人事部登记资料,当时全国男女记者之比大约为2:1,如果采用PPS (Probability Proportionate to Size,等比随机抽样), 那么在抽取的样本中我们的主要研究对象(女记者)只有三分之一,显然没有很好的利用资源。因此我们在抽样时用NPPS,将男女比例反过来为1:2,抽取样本中三分之二为女性。当我们在计算中国记者(即男女全在内)的基本情况,如教育程度、工作经验、担任职务、跳槽意向等等时,必须先将样本按总体参数(在本例中是人事部记者登记资料中的男女之比)进行加权。我2000-02年在北京和广州做互联网使用调查时,用了一种更复杂的NPPS抽样方法,其结果也一定要先加权(以后有机会详细介绍那个抽样过程)。
需要加权的另一种情况是原始样本为PPS而产生,但因为成功率不高而其导致样本的某些阶层过少另些阶层(相对)过多。以下是这次调查的年龄分布与总体相应参数之比较:
表一、样本年龄分布与总体年龄分布之比较
Age
1. Population
2. Sample N
3. Sample %
4. S/P (=3/1)
5. P/S (=1/3)
6. Weighted Sample N (=2X5)
7. Weight Sample %
18 - 19
3.3%
110
10.5%
3.16
0.316
35
3.3%
20 - 24
8.7%
140
13.4%
1.53
0.655
92
8.7%
25 - 29
9.5%
119
11.4%
1.20
0.836
99
9.5%
30 - 34
10.4%
101
9.6%
0.93
1.077
109
10.4%
35 - 39
10.9%
96
9.2%
0.84
1.188
114
10.9%
40 - 44
12.6%
149
14.2%
1.13
0.886
132
12.6%
45 - 49
12.4%
107
10.2%
0.82
1.217
130
12.4%
50 - 54
10.3%
82
7.8%
0.76
1.321
108
10.3%
55 - 59
8.2%
51
4.9%
0.60
1.677
86
8.2%
60 - 64
4.9%
37
3.5%
0.73
1.376
51
4.9%
65 - 69
4.4%
27
2.6%
0.58
1.724
47
4.4%
70 - 74
4.4%
29
2.8%
0.63
1.577
46
4.4%
Total
100.0%
1048
100.0%
1.0*
1.0*
1048
100.0%
* Weighted Mean
上表第4列 (S/P) 是用各年龄组在样本中占的比例除以其在总体中占的比例,其值越接近1、说明该年龄组在样本中的比重越合适(如30-34岁、40-44岁等);反之,其值越背离1,其在样本中的比重越不合适(如18-19岁、20-24岁等过多,55岁以上过少)。
是否需要对其进行调整 (adjustment or re-scaling) 呢?应该而且可以。这种调整,就是加权。首先要确定加权的起点是什么?这里有三种选择:
A. 以S/P的最大值(如本例的3.2)为起点,将其他组的S/P值都提高到这个水平(具体做法暂不介绍),这种策略叫做Scale-up weighting(“水高船涨”法)。其结果也就是将原来的样本放大S/P最大值倍(本例3.16倍,原样本1048人,加权后会增至3312人),可见水分太大,不可取。
B. 以S/P的最小值(本例0.58)为起点,将其他组的S/P值都降低到这个水平,因此叫做Scale-down weighting(“水落石出”法)。其结果是将原样本缩小S/P最小值倍(本例0.58,原样本1048人,加权后减至608),放水过多,也不合适。
C. 以S/P的加权平均值(不用算,一定是1)为起点,将大于1的S/P值调低至1而将小于1的S/P值调高至1,因此叫做Zero-sum weighting(“有增有减但总数不变”法)。加权后的样本数与原样本相同、还是1048(见表一第6列)。可见这种方法相比之下最合理,学术界和调查业界通常都用它来加权。
具体操作共有四步:
1. 计算总体有关参数(如表一第2列总体年龄分布P),如果没有这种参数,则无法加权;
2. 计算样本相应统计量(如表一第3列样本年龄分布S);
3. 计算S与P之比(即表一第4列S/P值)的倒数(其实就是第5列的P/S),这就是我们将的weighting factor (“权重”或“权数”);
4. 对样本每一个案,按其年龄组的值,乘以权数。
第1至3步需要手工在Excel中算好(当然,如果你会写SPSS syntax并知道如何使用其中aggregate、match files等技巧,也可以在SPSS中算好;我一直用后者做的,但比较复杂,暂不推荐)。第4步可以而且必须在SPSS中做。以下是有关操作(假定年龄组变量名为AGEGROUP、样本数据中已存在;权数取名为W,但样本数据中还没有这个变量):
4a. 点击Transform/Compute,在Target Variable中输入“W”,在Numeric Expression中输入"0.316"(是18-19岁组的权数),并点击If ... (optional case selection condition) (见图一),

4b. 选择Include if case selection condition、再选AGEGROUP、输入 "=" 和 "1"(即年龄等于18-19岁组)(见图二),然后Continue、OK。

4a和4b创建了一个新变量W、并赋予18-19岁组的每一个案一个相同的权数(0.316)。你需要对其他年龄组分别重复4a和4b。很不好玩,而且很容易出错。如你懂写syntax,整个过程可以用上述几句就可以完成:
IF AGEGROUP=1 W=0.316.
IF AGEGROUP=2 W=0.655.
...
IF AGEGROUP=12 W=1.577.
4c. 有了权数,就可以对样本加权了。点击Data/Weight Cases,点击Weight cases by ...,选择W,再OK,就大功告成 (图三)。

如果写syntax,那就更简单:
WEIGHT BY W.
如果有需要取消加权,只需回答图三,点击“Do not weight cases",或者写一句
WEIGHT OFF.
这是W还在你的数据中,只是没有被启用而已。
最后需要记住以下几个注意事项:
一、加权不是神丹妙药,加权只能调整样本各组之间的相对比例、并不会产生任何新的信息。所以,如果样本中某些组是研究重点(如我前面提到的女记者或互联网用户),绝不应该通过加权的方法来提高其在样本中的比重(反之可以)。
二、与之有关的一个重要细节是如果S/P值中有小于0.5(也即P/S值或权数大于2)的,则不能靠过分灌水来解决问题。这时的对策有三:增加那些under-sampled组别的个案数(上策);用Scale-down的策略来加权(最保守、浪费资源、但不犯type I错误);前两者的结合,即增加部分个案数然后按新的最小S/P值来个水落石出。
三、与此相仿的是如果那些under-sampled的组个案数太少(一般说来不能少于30),需要按同样的原则来处理。
四、为了便于解释,上述例子只涉及一个变量(年龄)的加权。实际上,除了年龄,性别、教育程度和职业也很重要。所以需要用多个变量同时加权 (weighted by several variables simultaneously)。所谓”同时加权“是计算样本和总体的有关多变量交叉分布,然后算出各自S/P值及其倒数。以年龄和性别的双变量同时加权为例,表一中就应该有24行(即12个年龄组 X 2个性别组)。我对本例数据的加权就是用年龄和性别的交叉分布来做的。
国内人口统计结果一般只公布年龄、性别、教育等的单项分布,这就无法做多变量加权。你如果先按年龄加权、再按性别加权,后者会取消前者,结果还是单变量加权。这个问题如何解决?这不是技术问题。因为人口统计的交叉分布数据是存在的(或者可以很容易的算出来的),也不是国家机密(既然单项分布可以公开、为什么交叉分布不可以?)。要看你的公关(攻关?)能力去搞到它了。