伍德里奇计量经济学导论之计算机操作题的R语言实现(简单线性回归)
发布时间
阅读量:
阅读量
引言
本学期将深入学习伍德里奇第四版《计量经济学导论》课程内容。旨在通过实践操作加深对该学科的理解。计划对课程中的计算机操作部分进行R语言实现。如若发现任何问题,请在下方留言指正;如有任何建议或意见,请随时提出。
本系列博客将不会在内容上重复讨论题目,并将重点在于提供R语言代码与习题解答的内容。这些内容主要参考了《计量经济学导论中的习题解答》,以及由王斌会教授编著的《计量经济学模型及其实现的R语言应用》一书,并参考了英文教材《Applied Econometrics with R》的相关章节内容。
第四版计量经济学导论电子表格文件可从百度网盘下载:http://pan.baidu.com/s/1qWkmTE8
C2.1
(1)
#导入数据 请注意修改文件路径名
data_2.1<-read.csv("E:\ 博客\ 计量经济学\ ch_2\ 401k.csv",header=TRUE)
#平均参与率
ave_prate<-mean(data_2.1$prate)
#平均匹配率
ave_mrate<-mean(data_2.1$mrate)
{r,echo=FALSE}
(2)
#估计回归方程
lm_prate<-lm(prate~mrate,data=data_2.1)
summary(lm_prate)
#估计结果
#prate=83.0755+5.8611mrate
#n=1534
#R-squared=0.0747
{r,echo=FALSE}
(3)
#解释系数
#当匹配率为0的时候,回报率为83.0755%
#mrate的系数表明在其他条件不变的条件下,当匹配率每增加一美元,回报率平均增加5.86%。
{r,echo=FALSE}
(4)
#输入mrate数据 输出fit的值就是点估计
point<-data.frame(mrate=3.5)
predict(lm(prate~mrate,data=data_2.1),point,interval = "confidence")
#点估计为103.5892%,显然这个答案是不可能的,这是由于数据集1534个记录中,只有34个记录中的mrate是大于3.5的,当mrate较大时,拟合效果不好。
{r,echo=FALSE}
(5)
#prate的变异中,只有7.47%由mrate进行解释。该值不大,说明有其他因素影响着回报率。
{r,echo=FALSE}
C2.2
(1)
data_2.2<-read.csv("E:\ 博客\ 计量经济学\ ch_2\ ceosal2.csv")
#为简便,将数据导入内存
attach(data_2.2)
#平均年薪
ave_salary<-mean(salary)
#平均任期
ave_ceoten<-mean(ceoten)
{r,echo=FALSE}
(2)
#任期一年个数
n_ceoten<-length(which(ceoten==0))
#最长任期
max_ceoten<-max(ceoten)
{r,echo=FALSE}
(3)
#参数估计
lm_ceosal<-lm(log(salary)~ceoten)
summary(lm_ceosal)
#回归方程为
log(salary)=6.505498+0.009723*ceoten
#报告
#每多担任一年ceo,年薪平均增长几乎1%
#释放数据集
detach(data_2.2)
{r,echo=FALSE}
C2.3
(1)
data_2.3<-read.csv("E:\ 博客\ 计量经济学\ ch_2\ sleep75.csv")
attach(data_2.3)
#方程拟合
lm_sleep75<-lm(sleep~totwrk)
summary(lm_sleep75)
#sleep=3586.37695-0.15075*totwrk
#观测次数
#n=706
#R-squared=0.1033
#截距项表示,每周不工作时睡眠时间约等于3586.37695分钟
{r,echo=FALSE}

(2)
#预测多工作两小时(120分钟)睡眠时间减少
#Δsleep=-0.15075*120=-18.09 每晚减少-18.09分钟,效应不大
detach(data_2.3)
{r,echo=FALSE}
C2.4
(1)
data_2.4<-read.csv("E:\ 博客\ 计量经济学\ ch_2\ wage2.csv")
attach(data_2.4)
#平均工资
ave_wage<-mean(wage)
#平均IQ
ave_IQ<-mean(IQ)
#IQ样本标准差
sd_IQ<-sd(IQ)
{r,echo=FALSE}
(2)
lm_wage2<-lm(wage~IQ)
summary(lm_wage2)
#回归方程为
#wage=116.9916+8.3031*IQ
#n = 935,R-squared=0.09554
#IQ增加15单位,工资预期变化
#Δwage=8.3031*15=124.5465
#IQ能够解释9.554%的工资变化
{r,echo=FALSE}
(3)
#由题可得,可以构建对数水平模型
#log(wage)=a+bIQ+u
#估计可得
lm_wage<-lm(log(wage)~IQ)
summary(lm_wage)
#log(wage)=5.8869943+0.0088072*IQ
#IQ提高15个单位 wage平均提高13.21%
#Δlog(wage)=0.0088072*15=0.132108
detach(data_2.4)
{r,echo=FALSE}
C2.5
(1)
data_2.5<-read.csv("E:\ 博客\ 计量经济学\ ch_2\ rdchem.csv")
attach(data_2.5)
#构建模型为
#log(rd)=a +b*log(sales)+u
#b为rd对sales的弹性
{r,echo=FALSE}
(2)
lm_rdchem<-lm(log(rd)~log(sales))
summary(lm_rdchem)
#log(rd)=-4.10472+1.07573*log(sales)
#弹性值为1.07573
#当其他条件不变时,sales每增加1%,rd增加1.07573%。
detach(data_2.5)
{r,echo=FALSE}
C2.6
(1)
data_2.6<-read.csv("E:\ 博客\ 计量经济学\ ch_2\ meap93.csv")
attach(data_2.6)
#随着更多一美元的花费,对通过率的影响越来越小。
#因为当支持较低时,可以通过购买教学书籍、上辅导班,增加一美元对数学通过率提高影响较大;随着支出增加到一定地步时,此时已经有大量书籍、有名师等教育资源,增加一美元对数学通过率的提高影响越来越小。
{r,echo=FALSE}
(2)
#见书中证明,略
{r,echo=FALSE}
(3)
lm_meap93<-lm(math10~log(expend))
summary(lm_meap93)
#math10=-69.341+11.164*log(expend)
#n=408 R-squared=0.02727
{r,echo=FALSE}
(4)
#支出影响多大
#当其他条件不变时,expend每增加1%,math10平均增加0.11164%
#支出提高10%,math10会增加1.1164%。
{r,echo=FALSE}
(5)
max_fit<--69.341+11.164*max(log(expend))
detach(data_2.6)
#可知数据集中最大为30.15033%,没有超过100%
{r,echo=FALSE}
C2.7
(1)
data_2.7<-read.csv("E:\ 博客\ 计量经济学\ ch_2\ charity.csv")
attach(data_2.7)
#平均捐款数量
ave_gift<-mean(gift)
#没有捐款的百分比 占比60%
percent_gift<-100*((length(which(respond==0)))/length(respond))
{r,echo=FALSE}
(2)
#平均邮递数
ave_mailsyear<-mean(mailsyear)
#最小、最大邮递数
min_mailsyear<-min(mailsyear)
max_mailsyear<-max(mailsyear)
{r,echo=FALSE}
(3)
lm_gift<-lm(gift~mailsyear)
summary(lm_gift)
#估计的回归方程为
#gift=2.0141+2.6495*mailsyear
#n=4268,R-squared=0.01379
{r,echo=FALSE}
(4)
#回归系数表明当其他条件不变时,每年的邮件邮寄数量每增加一封,捐款平均增加2.6495荷兰盾
#当邮递成本为1荷兰盾时,仍然有2.6495-1=1.6495的净利润
#这只是平均所获净利润,仍然有length(which(gift<1))=2561封邮件没有捐款
{r,echo=FALSE}
(5)
#最小预测值为2.676475
min_fit<-min(mailsyear)*2.6495+2.0141
#从该回归分析可得,不可能预测gift为0,因为最小值为2.676475。
detach(data_2.7)
{r,echo=FALSE}
全部评论 (0)
还没有任何评论哟~
