金融计量第一次作业
第一题
(1)
使用引用了老师课件里的命令如下:
logout, save("$Out\Table01") word replace: ///
tabstat age grade wage hours ttl_exp tenure, ///
stat(mean sd p50 min max) format(%7.2f) column(statistic) //*column命令将结果矩阵转置*
将文件输出为word类型的文件,但是输出文件格式为.rtf,通过将文件另存为.docx格式即可,输出结果如下图(对表格格式稍微进行了修改):
(2)
命令如下:
gen age2 = age^2
gen ln_wage = ln(wage)
gen wage_hour = wage/hours //产生要求变量
label var age2 "the square of age"
label var ln_wage "ln(wage)"
label var wage_hour "wage per hour" //给要求变量添加标签
gen dum = 0
egen mean_wage = mean(wage)
replace dum = 1 if (wage>mean_wage)
replace dum = . if hours == .
label var dum "dum==1 if wage>mean_wage" //要求处理的dum变量复杂,单独列出命令
(3)
分别用如下命令:
histogram ttl_exp
graph export His_ttl.png //画直方图
kdensity ttl_exp
graph export Kendi_ttl.png //画密度函数图
作出图像如下:
从直方图以及密度函数图可以看出,总工作经历大致符合正态分布,且整体呈现向右偏态。
(4)
(1)
使用命令:
logout, save("$Out\Indus") word replace: ///
tab industry
得出如下统计表(由于输出时行业名中间的空格被视为分隔符,需要对表格进行手动调整):
(2)
使用如下命令:
tabstat wage hours age, by(industry) s(mean) f(%3.2f)
得到如下表格:
我试图通过logout命令输出此表格,但是输出表格如图:
因此只能以截图形式完成。
(3)
使用如下命令:
logout, save("$Out\Indus_p") word replace: ///
tab2 race industry,column
得到如下统计表格:
尽管用logout命令可以输出表格但是仍然会出现表格错位现象,但我仍然在word里插入了修改过的表格。
(5)
使用如下命令即可:
label define race 1 "白种人" 2 "黑种人" 3 "其他"
label value race race
(6)
(1)
使用如下命令即可:
gen G_age = 1
replace G_age = 2 if (age>37 & age<=42)
replace G_age = 3 if (age>42)
replace G_age = . if G_age == .
(2)
使用如下命令即可:
label define G_age 1 "37岁以下" 2 "38到42岁之间" 3 "43岁以上"
label value G_age G_age
因均使用了logout的word replace命令,第一题相关表格整合存在hw01_01.docx里。
第二题
(1)
使用如下命令即可:
bysort race: egen av_height = mean(height)
(2)
命令如下:
egen sd_height = std(height)
或者使用center命令,命令如下:
center height, prefix(sd_) standardize
由帮助文档可以发现前面一种命令不与by兼容,而后者可以与by命令一起使用。
(3)
因性别(sex)有2个值,种族(race)有3个值,地区(region)有4个值,故共有2×3×4=24种组态别。
使用如下命令:
bysort sex: tab2 race region
可以得到结果如图:
每个表格中间12个值两个表共24个值,对应24个组态别的样本值。
(4)
首先通过如下命令给查找缺漏值:
misstable summarize
得到表格:
从表格中可以看出变量tgresult hdresult corpuscl health
有缺漏tgresult
有5293个缺漏值hdresult
有1629个缺漏值corpuscl
有89个缺漏值health
有2个缺漏值
然后通过以下命令将有缺漏值的样本删除:
egen miss = rmiss(tgresult hdresult corpuscl)
drop if miss != 0 //删除题目要求的样本,只要有一个以上的缺漏就删除
通过命令一共删除了6146个值。
(5)
使用如下命令查看第 25 百分位,第 75 百分位数值:
tabstat height,s(p25 p75) //查看第 25 百分位,第 75 百分位数值
结果如下:
因此,第25百分位数值为160.5,第75百分位数值为174.598,四分位间距为
display 174.598-160.5
=14.098
上界
display 174.598+14.098*1.5
=195.745
下界
display 160.5-14.098*1.5
=139.353
(6)
画图
graph box height
graph export box_hei.png
graph box weight
graph export box_wei.png
得到图像如图:
可以看到height
的离群值偏高偏低均存在,且大部分离群值偏低,总的来说会使样本的均值偏低,但影响不大
但weight
的离群值均为偏高,这就会使样本的均值偏高。
(7)
执行如下命令:
winsor height, gen(height_w) p(0.01)
graph export box_hei_w.png
缩尾后图像如下: