资源描述
定量研究方法讲义(研究生)
下 篇 数据分析
1. Stata: 数据录入与整理
2. SPSS内容复习:比较平均数、一元回归、多元回归、虚拟变量、因子分析
3. STATA:界面和命令
Stata的界面主要是由四个窗口构成,分述如下:
1.结果窗口:位于界面右上部,软件运行中的所有信息,如所执行的命令、执行结果和出错信息等均在这里列出。窗口中会使用不同的颜色区分不同的文本,如白色表示命令,红色表示错误信息。
2.命令窗口:位于结果窗口下方,相当于DOS软件中的命令行,此处用于键入需要执行的命令,回车后即开始执行,相应的结果则会在结果窗口中显示出来。
3.命令回顾窗口:即review窗口,位于界面左上方,所有执行过的命令会依次在该窗口中列出,单击后命令即被自动拷贝到命令窗口中;如果需要重复执行,用鼠标双击相应的命令即可。
4.变量名窗口:位于界面左下方,列出当前数据及中的所有变量名称,。
除以上四个默认打开的窗口外,在Stata中还有数据编辑窗口、程序文件编辑窗口、帮助窗口、绘图窗口、Log窗口等,如果需要使用,可以用Window或Help菜单将其打开。
数据录入:参看《STATA教程》第3-8页。
4. STATA:数据转换和整理
常用命令:
generate (gen) 新变量名=表达式
例如(导报):gen income=a27/ a30
summarize (su) 变量名
例如: su a28g a28h
bysort 变量名:命令 变量名
例如:bysort sex: su age
The by-qualifier tells Stata to execute the subsequent command repeatedly along the
different values of varlist1 (not all commands support this feature, though). This
Tobias Pfaff, Institute for Economic Education, University of Münster 11/28
requires the data to be sorted by varlist1. Using bysort instead of by makes previous
sorting redundant. An example would be to summarize happiness scores by gender:
If
例如(导报):su a5 if a1==1 & a2>=30 (大于30岁的男性的婚姻状况)
recode
例如用导报数据将文化程度重新赋值:recode a3 (1 2 3=1) (4=2) (5=3) (6=4) (7 8=5), gen (edu)
describe 描述
codebook
tabulate
交互分类
导报数据 性别与宗教信任的交互分类 tab a1 a4, row expected
虚拟变量可以用tab命令
例如导报数据,将教育程度变为虚拟变量:quietly tab ra3, gen (edu)
(把ra3这个定类变量虚拟成edu )
2. Stata:一元回归
数据:GSS1991
散点图
. scatter prestg80 educ
3. Stata:多元回归
穆勒的数据
5. Stata:多元回归中的虚拟变量
数据:GSS2000
先将reg16重新赋值变成虚拟变量:
加入教育程度作为自变量后:
又例:海峡导报数据 性别(a1)与社团参与因子一(v311)
加入年龄之后
如何在文章中展示回归模型分析结果:
例1:胡荣《妇女在村级选举中的政治参与》
表3 影响男性在村级选举中参与的诸因素的回归分析
预测变量
模型I
模型II
性别
4.667(0.153)****
4.246(0.139)****
选举是否符合规范
0.818(0.145)****
0.859(0.152)****
选举竞争程度
选举拉票因子
3.058(0.204)****
2.617(0.175)****
选举承诺因子
-1.384(-0.092)**
-1.150(-0.076)**
村庄离县城距离
-0.179(-0.152)****
-0.217(-0.183)****
是否党员
6.040(0.141)****
是否当过村组干部
6.759(0.161)****
是否参军
2.264(0.038)
年龄
0.343(0.314)
年龄的平方
-4.279E-03(-0.371)*
上学年限
5.014E-02(0.012)
常数
4.944****
-2.622
N
710
694
Adjusted R Square
11.9%
18.3%
F
20.098
15.090
例2: 胡荣《城市居民信任的构成及影响因素》
表4 回归分析模型(括号内为标准回归系数)
模型I:
普遍信任
模型II:
一般信任
模型III:
特殊信任
性别a
8.502(0.245)****
0.626(0.023)
-1.307(-0.109)
年龄
-1.020(-0.743)**
0.165(0.151)*
-1.87E-02(-0.040)
年龄平方
1.093E-02(0.693)**
文化程度
0.479(0.030)
-0.317(-0.025)
0.677(0.123)
个人月收入
4.030E-04(0.121)*
-7.24E-05(-0.027)
1.718E-04(0.150)**
社交团体参与因子
4.029(0.216)***
1.367(0.092)
-0.178(-0.028)
社区团体参与因子
3.777(0.226)****
0.941(0.132)*
-0.240(-0.042)
常数
55.751
54.585
28.849
N
206
206
206
Adjusted R Square
15.9%
1.6%
2.7%
F
6.542
1.571
1.947
说明:*P£0.1, ** P£0.05, *** P£0.01, **** P£0.001
a 参考类别为“女”
例3: 胡荣:《经济发展与竞争性的村委会选举》
表5:影响选举竞争程度及选举规范性的回归分析(括号内为标准回归系数)
解释变量
模型1:
村民参与程度
模型2:
选举竞争程度
模型3:
选举规范程度
人均集体收入
-1.24E-04
(-0.041)
2.963E-04
(0.23)****
4.660E-04
(0.105)**
村民相对生活水平
0.292
(0.146)***
6.275E-02
(0.074)!
0.55
(0.186)****
人均家庭收入
-1.52E-05
(-0.42)
-2.98E-07
(-0.002)
3.666E-05
(0.069)!
受教育年限
3.794E-02
(0.084)*
2.905E-04
(0.002)
-5.23E-02
(-0.079)*
离县城距离
-1.81E-02
(-0.143)***
-2.09E-03
(-0.039)
-9.10E-03
(-0.049)
外出村民比例
1.876
(0.105)**
2.523
(0.328)****
0.776
(0.029)
村民参与程度
3.046E-02
(0.071)!
0.181
(0.123)**
选举竞争程度
1.097
(0.32)****
N
564
564
564
Constant
0.787*
2.76****
-2.061****
Adjusted R2
4.8%
13.9%
21.3%
说明:!P≤0.1 *P≤0.05, **P≤0.01, ***P≤0.001 **** P≤0.0005
例4:胡荣《社会资本与村民在村级选举中的地域性自主参与》
表 6 影响村民在村级选举中参与程度的因素(回归分析)
预测变量
回归系数
标准回归系
显著性水平
性别a
3.374
0.128
0.001
年龄
0.364
0.388
0.055
年龄的平方
-0.004
-0.424
0.031
上学年限
0.033
0.010
0.829
是否党员b
3.580
0.097
0.011
是否当过村组干部c
4.061
0.113
0.002
村庄离县城距离
-0.130
-0.128
0.000
选举规范实施程度
1.419
0.154
0.000
社会资本:
信任因子
-0.636
-0.048
0.173
社会交往因子
0.230
0.017
0.627
社区安全因子
0.261
0.020
0.578
亲属联系因子
-0.362
-0.027
0.446
社区归属感因子
1.274
0.097
0.007
社团因子
1.513
0.117
0.001
竞选激烈程度:
竞选承诺因子
1.954
0.151
0.000
关系拉票因子
-0.573
-0.044
0.230
常数
-7.194
0.148
N
698
Adjusted R Square
17.2%
F检定值
10.072
0.000
a 参考类别为“女性”; b 参考类别为“非党员”; c 参考类别为“未当过村组干部”
例5:《农民上访与政治任任的流失》
表6 影响农民政治信任因素的多元回归分析
模型I:
基层政府信任因子
模型II:
高层政府信任因子
B
Beta
Sig.
B
Beta
Sig.
性别a
-3.180
-.074
.078
2.603
.090
.059
年龄
2.879E-02
.017
.703
5.685E-02
.050
.323
上学年限
-.368
-.056
.173
-.270
-.061
.191
是否党员b
-2.505
-.049
.275
-2.434
-.071
.164
是否当过村干部或小组长c
2.189
.042
.358
1.908
.054
.293
家庭经济情况与五年前比的变化
1.810
.085
.033
.183
.013
.776
历次政治运动中是否受过不公待遇e
-3.173
-.050
.195
1.167
.027
.532
政治效能感
3.137
.147
.000
.765
.053
.214
是否上访过d
到乡镇上访过
-8.526
-.061
.106
2.434
.026
.545
到县里上访过
-17.282
-.191
.000
-5.090E-02
-.001
.985
到市里上访过
-22.414
-.244
.000
-1.776
-.029
.520
到省里上访过
-22.996
-.230
.000
-9.113
-.136
.002
到中央上访过
-28.866
-.215
.000
-7.459
-.082
.058
Constant
54.877
.000
76.842
.000
N
563
563
Adjusted R square
23.5%
2%
F
14.312
0.000
1.903
0.027
a参考变量为“女性”
b参考变量为“非党员”
c参考变量为“未当过村干部或小组长”
d参考变量为“未上访过”
e参考变量为“未受过不公待遇”
6. Stata:多项式回归(polynominal regression)
这是25个国家的GNP(单位为$1000)与妇女预期寿命(年)的散点图:
妇女预期寿命随着GNP的增长而增长:
GNP增长一个单位($1000),相应地妇女的平均寿命增加0.63年。调整后的R平方也高达59.62%,说明这是一个很不错的模型。
但是,进一步对散点图的观察表明,这个模型并不是十分理想:
在GNP值较低的区段,大部分个案的殘差是负的;在中段,残差是正的;在GNP值较高的区段,残差大部分又是负的。
这表示自变量与因变量的关系不是一条直线。
迄今为止,我们学的是直线回归模型。如何处理这种非直线的情形呢?
通常解决这种问题的方法是引进多项式回归。
多项式回归是“维尔斯特拉斯定理”的运用:
多项式方程的曲线更接近数据的分布趋势。
如果我们在方程中加入一个解释变量的二次项(X2),我们就不再用一条直线拟合数据,而是抛物线中的一段。
之所以是抛物线中的“一段”,是因为我们观察到的数据X通常只是抛物线的一部分。
抛物线可能是倒U型的:
上图抛物线中的“一段”(两条垂直红线之间的部分)看来可以很好拟合GNP-预期寿命数据。在这一段中,Y随着X的增加而增加,但增加的幅度是减少的,最后变平并开始下降。
在靠近左边垂直线的左端,增幅较大;在靠近右垂直线的右端,Y开始随着X的增长而下降,并且其下降速度随着X的增加而加大。
抛物线也可以是开口向上的:
在左边,Y随着X的增加而减少,减幅渐渐减缓,最后拉平;在右端,Y随着X的增加而增大,而增幅逐渐加大。
用抛物线拟合现有的数据,我们建立一个新的“二次方项”:
“二次方项”并不一个新的变量,它只是一个允许我们能更好描述现有的自变量与因变量之间关系的一个设置。(注意,如果X变化了,X2“被控制”或保持不变)
这是新的回归模型:
对模型的解释:
新的回归方程为:
象前面一样,截距(A)是当X为0时所预测的Y值。在这里,就是64.9岁的预期寿命。
那么,如何解释回归系数呢?
可以将此一回归模型与前面的简单直线回归模型进行比较:
当加入二次方项后,GNP自身的回归系数增加了一倍。
但是,这里的情形有点复杂。我们不能把这里的回归系数与其他多元回归系数等同看待,因为我们不能在保持GNP2不变的情况下()增加一个单位的GNP。
就像我们用多个项目表示一个分类的预测变量(虚拟变量)的情况一样,最好是同时解释多项式的回归系数。
在典型多元回归中,一个净回归系数BK可以理解为与一个XK相对应的Y的变化:
当Y是X的二次函数时,与X相对应的Y的变化是:
也就是说,Y的变化幅度会因为X的不同而不同。
因此,在本例中,当GNP为0时,随着GNP增加一个单位($1000),预期寿命增加1.67年/$1000。
B2的符号是负的,这表明GNP的进一步增长因变量的增加幅度“减弱”。当GNP=10($10,000)的时候,预期寿命的增加幅度是:1.671569+2(-0.0432525)*10, 或为0.81年/$1000,这只是当GNP为0时的增速的一半。
我们把当X为不同的值时Y的增速计算如下:
B2被解释为“加速”参数,因为它表明随着X的变化Y是更大(B>0)或更小(B<0)。
显然,当X不同时,Y的变化幅度是不一样的。
抛物线的形状取决于B2,当B2是负值时,抛物线开口向下;当B2是正值时,抛物线开口向上。
那么,B1又起何种作用呢?它与B2一起决定沿X轴的Y的最大值/最小值,即决定抛物线在X轴上的“焦点”。
在哪一点上Y达到最大值/最小值?
换言之,当X=-B/(2B2)时,Y值最大/最小。
在本例中,这一点的值是:
因为B2是负的,这一点的X值对应的Y值是最大的。
通过上图我们也可以清楚看到这一点正好位于澳大利亚和加拿大之间,是德国的位置(GNP=19.8)。
7. 因子分析
1. 什么是因子分析
把一些具有错综复杂关系的多个变量归结为少数几个综合因子的一种多元统计分析方法。
每个原始变量分解成两部分因素,一部分是由所有变量菜同具有的少数几个公共因子组织的,另一部分是每个变量独自具有的因素,即特殊因子。
因子分析的目的之一,简化变量维数。即要使因素结构简单化,希望以最少共同因素(公共因子),能对总变异量作最大解释,因而抽取的因子愈少愈好,但抽取因子的累拖解释的变异量(方差)愈大愈好。
在因子分析的公共因子抽取中,应最先抽取特征值最大的公共因子,其次是次大者,最后抽取公共因子的特征值最小(通常只保留特征值大于1的公共因子),通常会接近0.
因子分析的两个作用。一是简化资料,二是了解变量之间的内部结构。
因子分析的变量必须是定序以上的。
2. 因子分析模型中几个重要统计量的意义:
1)因子负荷量(或称因子载荷,loadings):是指因子结构中原始变量与因子分析时抽取出的公共因子的相关程度。
在各公共因子不相关的提提下,ɑij (载荷矩阵中第i行,第j列的元素)是随机变量Xi与公共因子Fj的相关系数,表示Xi信赖于Fj的程度。反映了第i个原始变量在第j个公共的相对重要性。因此ɑij 绝对值越大,则公共因子Fj与原有变量Xi的关系越强。
2)共同度(共量)——又称公共因子方差或公因子方差(communality或common variance),就是变量与每个公共因子之负荷时的平方总和(一行中所有因素负荷量的平方和)。从共同度的大小可以判断这个原始实测变量与公共因子之间之关系程度。
3)特征值——是第j个公共因子Fj对于X的每一分量Xi所提取的方差的总和。又称第j个公共因子的方差贡献。即每个变量与某一共同因素之因素负荷量的平方总和(因子负载矩阵中某一公共因子列所有因子负荷量的平方和)。
4)方差贡献率——指公共因子对实测变量的贡献,又称变异量。
方差贡献率=特征值G/实测变量数P
8. STATA: 折线回归(Linear Spline)
(第11周)
在GSS200的数据中,教育程度与职业声望的关系是这样的:以12年为界,12年之内每增加一年学习时间所获得的职业声望与在12年之后所获得的是不同的,12年之后每年增加的职业声望大于12年之前的。
也就是说,以12年为拐点,12年之前的直线斜率是不同于12年之后的直线的斜率的。
解决这一问题的方法是运用”spline”回归(暂译:折线回归)。
我们把直线回归分为两段来考虑。第一段是受教育程度低于和等于12年的,另一段是教育程度多于12年的。
我们要建立一个新的项来代表教育程度小于或等于12年的:某个实际读书年限是9年的受访者在此记作9,某个读书12年者记作12,某个读书20年者也记作12。此为回归模型中的前一项,在这一项中只计算前12年(高中之前)教育程度对于职业声望的回报。
在第二项中,我们计算受访者12年以外的受教育年限,如果受访者的受教育年限为9年,这一项记作0;如果某位受访者的教育年限是12年,这一项也记作0;如果某人的教育年限是15年,此项记作3;如果某人的教育年限是20年,此项记作8。此项将预测高于12年之后的每一年的教育回报。(把12当作0,即一个新的起点或原点, 这两段话要理解)
这种“折线项”(spline terms)可以通过STATA中的“mkspline”命令建立:
我们把第一项命名为“edu_le_12”,第二项命名为“edu_gt_12”。
9. Stata: 相互作用(Interaction)
(第12周,11月30日)
当一个解释变量对因变量的影响取决于一个或多个其他解释变量时,存在着解释变量间 的“相互作用”。
有时称此为“详析”(specification):X1对Y的影响是通过X2的层次限定的。
相互作用在某些方面是比曲线更为常见的非曲线关系,在这种关系中两个(或更多)解释变量“共同作用”或“相互作用”产生对因变量的影响。
相互作用可以为任何类型的预测变量——定类的或定距的。但最简单的方式是从探讨一个定类变量与一个定距变量的关系开始。
定类—定距案例:
当我们引进虚拟变量时,我们使用一个指标表示两个群体的差异。这表示两个组的回归直线是有着同样的斜率的。
但是,我们没有理由相信两条直线是平行的。
当两条直线不是平行的时候,就有了我们这里所说的相互作用。
在上图中,第一组的斜率和截距均大于第二组。 其结果是,随着X的增加,两组的Y差距越来越大。
相互作用也可以有其他形式。在上图中,随着X的变化,两个组的Y值的差异缩小,最后相交于某一点。
在上述例子中,不同组别的回归直线的斜率是不同的,而且这种不同是因X的值不同而异。
处理这种定类—定距相互作用的直观的方法:
分组求直线回归模型(bysort)。
例如,2000GSS数据,因变量income, 自变量educ, sex。
对于男性受访者来说,个人收入=9.274+0.148*教育年限
对于女性受访者来说,个人收入=6.894+0.282*教育年限
再如1985年GSS数据,因变量是“上周工作时间”(hrs1),自变量是“孩子数目”,不同性别的受访者的情形是不同的。
对于男性受访者来说,上周工作时间=42.07+1.256*孩子数目
对于女性受访者来说,上周工作时间=39.31-0.973*孩子数目
我们可以加入更多的自变量:
加入“cross product term”,或叫“斜率虚拟变项”(slope dummy variable)。 (这里不懂)
. quietly tab sex, gen (rspsex)
. rename rspsex2 female
. gen fembykid=female*childs
(4 missing values generated)
Y=42.07+1.26*childs – 2.76*female –2.23*female*childs
男性(female=0): Y=42.07 +1.26*childs
女性(female=1): Y=42.07–2.76+1.26*childs – 2.23*childs = 39.31–0.96*childs
10. Stata:Logistic regression
(第13周,12月7日)
所谓Logistic回归,是指因变量为二级计分或二类评定的回归分析,这在医学研究中经常遇到,如:死亡与否(即生、死二类评定)的概率跟病人自身生理状况和所患疾病的严重程度有关;对某种疾病的易感性的概率(患病、不患病二类评定)与个体性别、年龄、免疫水平等有关。此类问题的解决均可借助逻辑回归来完成。
在一般的多元回归中,若以P(概率)为应变量,则方程为P=b0+b1X1+b2X2+…+bkXk, 但用该方程计算时,常会出现P>1或P<0的不合理情形。为此,对P作对数单位转换,即logitP=ln(P/1-P),于是,可得到Logistic回归方程为:
eb0+b1X1+b2X2+…+bkXk
P = ———————————
1+ eb0+b1X1+b2X2+…+bkXk
示例1:
GSS1993数据,因变量:visitart(参观博物馆);自变量:educ(教育)、sex(性别)。
先用直线回归模型进行分析:
示例2:
GSS1993数据,因变量:dosports;自变量:educ(教育年限)、sex1(性别)、age(年龄)
Xi命令的作用:(直接把自己要虚拟的变量在前面加上一个“i.”,如“i.sex”,这样的话把因变量虚拟成含0、1的定距变量,结果相当于logistic回归,如果因变量含有三个或以上值,则是普通的回归)
1985GSS数据`
课堂作业:
海峡导报数据,以“是否参与人大代表选举”、“是否打算购买小车”为因变量分别建立逻辑斯蒂回归模型。
11. 多元逻辑斯蒂回归与定序逻辑斯蒂回归
(第14周:12月14日)
1. 多元逻辑斯蒂回归(multi-nominal logistic regression)
示例:导报数据, 因变量“宗教信仰”
2. 定序逻辑斯蒂回归(ordinal logistic regression)
或者以odds ratio的结果呈现:
3. 偏态的纠正
在变量转换中,通常是建立非线性函数。这些非线性函数可以用幂的阶梯来概括。
最常用的是取自然对数,特别是收入这样的变量。
例如:
gen logincome=log(a26)
表1 变量转换的幂的阶梯
转换形式
Stata中的表示法
说明
三次方
X^3
降低非常严重的负偏态
二次方
X^2
降低严重的负偏态
数据原样
----
不变
平方根
X^0.5
降低较轻的正偏态
取自然对数
log(x) 或 ln(x)
降低正偏态
取10为底的对数
log10(x)
降低正偏态
平方根的倒数
X^-0.5
降低较严重的正偏态
倒数
X^-1
降低严重的正偏态
平方的倒数
X^-2
降低非常严重的正偏态
三次方的倒数
X^-3
降低非常严重的正偏态
4. 将定距资料分组
使用autocode函数
第15周(12月21日):总复习
第16周(12月28日) 课程上机考试
展开阅读全文