高计及stata应用陈强版第4章

1.将数据导入stata

(1)用excel复制粘贴,选择第一行是数据还是变量名
(2)file——import,然后导入各种样式的数据
导入后将数据保存为.dta格式

2.变量标签的修改

打开倒数第三个图标,相应的变量标签可以直接修改,注意stata中的变量名一般用小写

3.调用数据及基本操作

(1)调用数据

1
use D:\Desktop\stata_陈强\nerlove.dta,clear

备注:调动数据,dta数据中不可以出现(1963),否则不可识别
(2)审视数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
d
///观察数据的变量名称、标签等
label data "Nerlove 1963 paper"
///备注此数据集来自Nerlove 1963 paper
list tc q
///查看tc和q的具体数值,如果中间需要停止,可以点击“break”图标
///左侧命令窗口,单击旧命令出现在命令窗口,双击则直接执行
list tc q in 1/5
///罗列tc、q第1~第5个数值
list tc q if q>=10000
///罗列tc和q中所有q大于等于10000的样本
drop if q>=10000
///扔掉所有不符合要求的样本
///注意:删掉的是整个样本,而不是一个数值

4.考察数据的统计特征

1
2
3
4
5
6
7
8
9
10
11
12
13
sum 
///没有规定要观察的变量,将显示所有变量的obs(number)、mean、min、max
sum q
sum q if q>=10000
sum q,detail
///第一个显示q的obs、mean、min、max
///第三个还会显示百分位数(percentilea)、方差(variance)、偏度(skewness)、峰度(kurtosis)
tabulate pl
///显示pl的经验累积分布函数,tabulate意味“把.....做成表格”
pwcorr pl pf pk,sig star(.05)
///pwcorr意味“pariwise correlation(两两相关)”
///sig表示显示相关系数的显著性水平,即p值(p值代表这个事件为假要推翻它的概率,所以p值越小越好)
///star(.05)表示将显著性水平≤0.05的标上星号

5.作图

(1)画柱状图

1
2
3
4
histogram q,width(1000) frequency
///histogram意为“直方图”,此命令可以简写为“hist”
///width表示柱状图的宽为1000
///frequency表示纵坐标为频数

1
2
kdensity q
///这是连续的经验分布图。kernel是“核心,谷粒”、density是“密度”

(2)画散点图和线性拟合

1
scatter tc q

1
2
3
4
5
gen n=_n
///第一个n是新变量的含义,_n表示第n个观测值
scatter tc q,mlabel(n)mlabpos(6)
///mlabel(n)表示以n作为“mark label”的标签
///mlabpos(6)表示“mark label position”,把标签放在散点6点钟的位置
1
2
3
4
5
6
7
8
9
twowayscatter tc q)(lfit tc q)
graph save scatter1
twowayscatter tc q)(qfit tc q)
graph save scatter2
graph combine scatter1.gph scatter2.gph
///lfit含义为“linear fit”(线性拟合)
///qfit含义为“quadratic fit”(二次拟合)
///保存图片
///将两个图片同时展示出来

6.生成新变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
///本章根据模型需要生成新的变量
g lntc=log(tc)
g lnq=log(q)
g lnpl=log(pl)
g lnpf=log(pf)
g lnpk=log(pk)
///产生新的变量
g q2=q^2
///生成平方项
g lnplpk=lnpl*lnpk
///生成交互项
g larg=(q>=10000)
///这个命令经常用于生成虚拟变量。当()中的逻辑语句为真时,取值为1;为假,取值为0
///在书中其实际含义为:产量在10000以上定义为大企业
rename larg large
///修改变量名
///接下来我们想变更大企业为产量在6000以上,但是仍然使用large这个变量名
///方法1:
replace large=(q>=6000)
///方法2:
drop large
g large=(q>=6000)
drop ln*
///删除所有含有ln的变量

7. stata的计算器功能

1
2
3
display log(2)
display normal(1.96)
///句式:display或者dis +表达

8. 线性回归分析

(1)普通线性回归

1
2
3
4
5
reg lntc lnq lnpl lnpk lnpf
///_cons表示常数项
///F统计量的p值为0.0000,说明这个回归方程显著性程度很高
///Residual表示残差平方和
///Root MSE表示这个方程的标准误差

(2)线性回归

1
2
3
4
5
6
7
8
9
reg lntc lnq lnpl lnpk lnpf,noc
///不要常数项的回归
reg lntc lnq lnpl lnpk lnpf if q>=6000
reg lntc lnq lnpl lnpk lnpf if large
///只对大企业的样本进行回归
reg lntc lnq lnpl lnpk lnpf if large==0
reg lntc lnq lnpl lnpk lnpf if ~large
///只对小企业的样本进行回归
///~表示逻辑语句“非”

(3)预测拟合值

1
2
3
4
5
6
predict intchat
///计算被解释变量的拟合值,并将其几位intchat
predict el,r
predict el2,residual
///计算残差
///这里也可以看出,如果predict后边什么选项都没有,默认是估计拟合值的

(4)计算估计系数

1
2
3
///这里边lnq的系数是1/r,是规模报酬的倒数,所以可以利用lnq的系数估计规模报酬
display 1/_b[lnq]
///_b[lnq]表示lnq 的OLS系数估计值

(5)假设检验

1
2
3
4
5
6
7
8
9
10
11
12
13
14
///由于规模报酬r=1.387,所以认为可能存在规模报酬递增的现象
test lnq=1
///这里的原假设是r=1,即规模报酬不变
///发现p值很小,故拒绝原假设,故认为存在规模报酬递增
test (lnq=1)(lnpl+lnpk+lnpf=1)
///这里原假设有两个:①(lnq=1)②(lnpl+lnpk+lnpf=1)
///依旧发现p值为0,拒绝原假设
test lnpl lnpk
///这里隐含的假设是lnpl=0;lnpk=0
///发现p值很大,0.3多,所以只能接受原假设,这两个系数都为0
testnl _b[lnpl]=_b[lnq]^2
///这里隐含的假设是lnpl的系数是lnq系数的平方
///发现p值很大,0.3多,所以只能接受原假设
///所以你要看你检验的是什么,p值越小,越要拒绝原假设

(6)新增变量图

1
2
3
4
avplot lnq
///画lnq的新增变量图
avplots
///画所有变量的新增变量图

(7)约束回归

1
2
3
4
5
6
7
8
9
10
///此部分为约束回归
///如在经济理论“lnpl+lnpk+lnpf=1”的条件下进行回归
constraint def 1 lnpl+lnpk+lnpf=1
cnsreg lntc lnq lnpl lnpk lnpf,c(1)
///“constraint def 1 ”定义约束条件1
///“cnsreg”含义“constraint regression”
cons def 2 lnq=1
cnsreg lntc lnq lnpl lnpk lnpf,c(1-2)
///定义约束条件2
///c(1-2)表明这个回归要同时满足约束条件1-(杠,不是减)2

8. stata命令的存储与调用

1
2
3
4
5
6
7
///r命令,如summarize调用结果用return list
sum q
return list
display r(sd)/r(mean)
///e命令,估计命令,调用结果用ereturn list
reg tc q
ereturn list

9. stata命令库的更新

(1)ssc意为“statistical software components”,即“统计软件成分”,stata用户写的、Boston college维护的非官方统计程序集散地
(2)update all:更新stata命令库
(3)ssc new:罗列ssc提供的非官方、最新的命令
(4)ssc hot:罗列ssc提供的非官方、最流行的命令
(5)ssc install newcommand:安装ssc非官方命令
(6)help ssc:有关ssc的信息
(7)search keyword和findit keyword都是搜索,后者范围更广
(8)sysdir:system directories,显示stata的安装路径