[关闭]
@fanxy 2020-04-05T13:14:31.000000Z 字数 6252 阅读 3891

第七讲 计量回归基础与应用(II)

樊潇彦 复旦大学经济学院 金融数据


  1. setwd("D:\\...\\Ch07")
  2. rm(list=ls())
  3. install.packages(c("multcomp","HH","MASS")) # 方差分析
  4. install.packages(c("AER","plm")) # 面板数据模型
  5. load("Ch06_Data.RData")

1. 广义线性模型(GLM)

1.1 定义与分类

广义线性模型(Generalized linear model)是线性模型在以下两方面的推广:

模型类别 连接函数 误差项 的分布
线性模型 线性函数 高斯分布(正态分布)
Logit 模型 Logist函数 二项分布
Probit 模型 正态累积分布函数 二项分布

1.2 程序实现

  1. # Logit模型
  2. fit.logit <- glm(ynaffair ~ age + yearsmarried + religiousness + rating,
  3. data=glmdata, family=binomial())
  4. summary(fit.logit)
  5. # Probit模型
  6. fit.probit <- glm(ynaffair ~ age + yearsmarried + religiousness + rating,
  7. data=glmdata, family = binomial(link = "probit"))
  8. summary(fit.probit)
  9. # 模型预测与比较:其他变量取均值,看随着婚姻质量的变化,发生婚外情的概率如何变化
  10. testdata <- data.frame(rating = c(1, 2, 3, 4, 5),
  11. age = mean(glmdata$age),
  12. yearsmarried = mean(glmdata$yearsmarried),
  13. religiousness = mean(glmdata$religiousness))
  14. testdata$pre_logit <- predict(fit.logit, newdata=testdata, type="response")
  15. testdata$pre_probit <- predict(fit.probit, newdata=testdata, type="response")
  16. # 比较两种模型的预测结果,相差很小
  17. round(data.frame(testdata$pre_logit,testdata$pre_probit),3)

2. 方差分析(AOV)

2.1 定义

当影响因素 是离散变量时,按照 将数据 分组,将总方差 分解为组间方差(因素效应 )和组内方差(误差效应 ),进而分析各部分对总变异的贡献。

以单因素一元分析为例,推导过程如下:

其中 为各组均值, 为总平均值。

2.2 分类

2.3 程序实现

  1. # 单因素一元分析
  2. library(multcomp)
  3. data(litter)
  4. attach(litter)
  5. aggregate(weight, by=list(gesttime), FUN=mean) # 分组均值
  6. aov1 <- aov(weight ~ gesttime) # 服药时间单因素
  7. summary(aov1)
  8. ## 从F-statistic和p-value来看,等同于线性回归:
  9. ols1 <- lm(weight ~ gesttime, litter)
  10. summary(ols1)
  11. # 双因素一元分析
  12. aov2 <- aov(weight ~ gesttime + dose) # 服药时间和剂量双因素,无交互项
  13. summary(aov2)
  14. library(HH)
  15. ancova(weight ~ gesttime + dose, data=litter) # 做图查看
  16. aov2c <- aov(weight ~ gesttime * dose) # 服药时间和剂量双因素,有交互项
  17. summary(aov2c)
  18. ancova(weight ~ gesttime * dose, data=litter)
  19. detach(litter)
  20. # 单因素多元分析
  21. library(MASS)
  22. attach(UScereal)
  23. y <- cbind(calories, fat, sugars) # 3个被解释变量
  24. aggregate(y, by=list(shelf), FUN=mean) # 分组计算均值
  25. fit <- manova(y ~ shelf) # 一个因素对多元变量做方差分析
  26. summary(fit) # 报告结果
  27. summary.aov(fit) # 对每个被解释变量报告结果
  28. detach("UScereal")

3. 面板数据模型

3.1 模型描述

如果要分析多家上市公司历年的数据,就要用到面板数据模型:


假定:(1) ;(2) ;(3)

3.2 模型分类

3.3 程序实现

  1. library(AER)
  2. data(Grunfeld)
  3. gr=subset(Grunfeld, firm %in% c("General Electric","General Motors", "IBM"))
  4. ## 选取三个公司的数据,设置为面板
  5. library(plm)
  6. pgr=pdata.frame(gr,c("firm","year"))
  7. ## 混合数据回归(POOL)
  8. gr_pool=plm(invest~value+capital, data=pgr, model="pooling")
  9. summary(gr_pool)
  10. gr_ols=lm(invest~value+capital, data=gr) # 等同于OLS回归
  11. summary(gr_ols)
  12. ## 固定效应(FE)
  13. gr_fe=plm(invest~value+capital, data=pgr, model="within")
  14. summary(gr_fe)
  15. ## 随机效应(RE)
  16. gr_re=plm(invest~value+capital, data=pgr, model="random", random.method="walhus")
  17. summary(gr_re)
  18. ## Hausman检验
  19. phtest(gr_re,gr_fe) # 如果拒绝H0应选择固定效应模型

3.4 动态面板数据模型

当解释变量包含被解释变量的滞后项时,有动态面板数据模型:


假定:(1) ;(2) ;(3)

对此Blundell and Bond(1998)提出可以把原方程和差分方程联立、同时回归。由于 ,因此用 作为原方程 的工具变量。

  1. data("EmplUK", package = "plm")
  2. ## Arellano and Bond (1991), Table 4b
  3. z1 <- pgmm(log(emp) ~ lag(log(emp), 1:2) + lag(log(wage), 0:1)
  4. + log(capital) + lag(log(output), 0:1) | lag(log(emp), 2:99),
  5. data = EmplUK, effect = "twoways", model = "twosteps")
  6. summary(z1)
  7. ## Blundell and Bond (1998) Table 4 (cf DPD for OX p.12 col.4)
  8. z2 <- pgmm(log(emp) ~ lag(log(emp), 1)+ lag(log(wage), 0:1) +
  9. lag(log(capital), 0:1) | lag(log(emp), 2:99) +
  10. lag(log(wage), 2:99) + lag(log(capital), 2:99),
  11. data = EmplUK, effect = "twoways", model = "onestep",
  12. transformation = "ld")
  13. summary(z2, robust = TRUE)

阅读讨论

  1. 孔丹凤、孙宇辰、马驰骋、秦大忠,2015:信用风险转移工具真的转移了风险吗?——基于美国上市银行面板数据的实证研究,《金融研究》,2015:2
  2. 张亦春、李晚春、彭江,2015:债权治理对企业投资效率的作用研究——来自中国上市公司的经验证据,《金融研究》,2015.7

参考资料

  1. Kleiber, C. and A. Zeileis 2008: Applied Econometrics with R (Use R!), Springer
  2. R.I. Kabacoff著:《R语言实战(第2版)》,王小宁、刘撷芯、黄俊文译,人民邮电出版社,2016
  3. 薛毅、陈立萍编著,2012:《统计建模与R软件》,清华大学出版社
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注