全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
10929 12
2012-04-28
异方差出现原因:模型中缺少某些解释变量;截面数据;样本数据观测误差;异常值。
    异方差类型:递增型异方差;递减性异方差;条件自回归性异方差
    异方差后果:回归参数估计量仍具有无偏性和一致性,但不再有有效性,变量的显著性检验失去意义。
    异方差检验:
    1)利用时间序列图和散点图分析异方差,或者利用模型残差序列对解释变量的散点图分析异方差;
    2)利用G0ldfeld-Quandt检验,Breusch-Pagan检验,White检验,Glejser检验等。
异方差检验命令:hettest white whitetst bpagan例子
use http://www.ats.ucla.edu/stat/stata/examples/greene/TBL5-1,clear
rename x1 age
rename x2 income
rename x3 exp
rename x4 ownrent
rename x5 selfemp
gen incomesq=income^2
drop if exp==0
save chapter12
regress exp age ownrent income incomesq
异方差检验:
rvpplot income   //绘制OLS残差与被解释变量拟合值间的散点图
rvfplot income  //绘制OLS残差与特定变量间的散点图,对于横轴和纵轴的设置问题有待进一步学习···
estat hettest income//检验income是否导致异方差
instest,white  //instes需要ssc install instest安装,white也是需要安装
异方差处理:
regress exp age ownrent income incomesq,robust  //robust选项相当于采用white方法进行估计,不会影响估计的系数,只是sd有所减小
regress exp age ownrent income incomesq,hc2
regress exp age ownrent income incomesq [aw=1/income]    //WLS方法

初学stata,有很多需要学习,一点一点记录自己所需的,也希望帮助大家并得到大家的帮助,共同进步!会编程的大牛们可以把相关异方差检验的编程语言补充进来哦···
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-4-28 16:04:01
Stata: 输出regression table到word和excel

1. 安装estout。最简单的方式是在stata的指令输入:
ssc install estout, replace
EST安装的指导网址是:http://repec.org/bocode/e/estout/installation.html
2.跑你的regression
3.写下这行指令esttab using test.rtf,然后就会出现个漂亮的表格给你(WORD文档)。只要再小幅修改,就可以直接用了。这个档案会存在my document\stata下。如果你用打开的是一个stata do file,结果会保存到do文件所在文件夹中。如果要得到excel文件,就把后缀改为.xls或者.csv就可以了
4.跑多个其实也不难,只要每跑完一个regression,你把它取个名字存起来:est store m1。m1是你要改的,第一个model所以我叫m1,第二个的话指令就变成est store m2,依次类推。
5.运行指令:esttab m1 m2 ... using test.rtf就行了。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-4-28 20:09:25
支持
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-4-29 22:23:00
为了使do文件能够顺利工作,一般需要编辑do文件的“头”和“尾”。这里给出我使用的“头”和“尾”。
capture clear //清空内存中的数据)
capture log close//关闭所有打开的日志文件)
set mem 128m //设置用于stata使用的内存容量
set more off//关闭more选项。如果打开该选项,那么结果分屏输出,即一次只输出一屏结果。你按空格键后再输出下一屏,直到全部输完。如果关闭则中间不停,一次全部输出。
set matsize 4000//设置矩阵的最大阶数。我用的是不是太大了?

cd D:  //进入数据所在的盘符和文件夹。和dos的命令行很相似。
log using (文件名).log,replace //打开日志文件,并更新。日志文件将记录下所有文件运行后给出的结果,如果你修改了文件内容,replace选项可以将其更新为最近运行的结果。
use (文件名),clear //打开数据文件。
文件内容
log close //关闭日志文件。
exit,clear //退出并清空内存中的数据。
这个do文件的“头尾”并非我的发明,而是从沈明高老师那里学到的。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-4-29 22:41:19
拿到原始数据后,往往需要根据需要重新生成新的数据库,并且只使用这个新库处理数据。
codebook:提供的信息最全面,缺点是不能使用if条件限制范围;
summary:空格加变量名报告相应变量的非缺失的观察个数,均值,标准差,最小值和最大值;
ta:空格后面加一个(或两个)变量名是报告某个变量(或两个变量二维)的取值(不含缺失值)的频数,比率和按大小排列的累积比率;
describe:后面可以加任意个变量名,只要数据中有。它报告变量的存储类型,显示格式和标签。标签中一般记录这个变量的定义和单位;
list:报告变量的观察值,可以用if或in来限制范围。
检查数据时,先用codebook看一下它的值域和单位。如果有-9,-99这样的取值,查一下问卷中对缺失值的记录方法。确定它们是缺失值后,改为用点记录。命令是replace (变量名)=. if (变量名)==-9。再看一下用点记录的缺失值有多少,作为选用变量的一个依据。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-4-29 22:48:42
合并数据库有两种方式,增加观察用append,用在两个数据库的格式一样,但观察不一样,只需用append空格using空格(文件名)就可以狗尾续貂了;另一种是增加变量,需要格外小心。如果两个数据库中包含共同的观察,但是变量不同,希望从一个数据库中提取一些变量到另一个数据库中用merge。完整的命令如下:
use (文件名)//打开辅助数据库;
sort (变量名)//根据变量排序,这个变量是两个数据库共有的识别信息;
save (文件名), replace//保存辅助数据库;
use (文件名)//打开主数据库;
sort (变量名)//对相同的变量排序;
merge (变量名) using (文件名), keep(变量名)//第一个变量名为前面sort后面的变量名,文件名是辅助数据库的名字,后面的变量名是希望提取的变量名;
ta _merge//显示_merge的取值情况。_merge等于1的观察是仅主库有的,等于2的是仅辅助库有的,等于3是两个库都有的;
drop if _merge==2//删除仅仅来自辅助库的观察;
drop merge//删除_merge;
save (文件名), replace//将合并后的文件保存,通常另存。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群