金融计量第一次作业

第一题

(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

缩尾后图像如下:
金融计量第一次作业