R语言 面板数据分析 plm包实现(三)——面板数据与面板模型的检验
系列文章
R做面板数据分析:R语言 面板数据分析 plm包实现(一) ——LSDV和固定效应模型
如果想看随机效应模型怎么做,参见这篇文章
R语言 面板数据分析 plm包实现(二)——随机效应模型如果想看如何判断面板数据适用随机效应模型还是固定效应模型,参见这篇文章:
R语言 面板数据分析 plm包实现(三)——面板数据与面板模型的检验使用随机效应模型,且一些时间或个体存在数据缺失,应当使用Swamy Arora估计,如何用R语言来实现,参见这篇文章:
R语言 面板数据如何做Swamy Arora估计。如何从统计年鉴获知某地接受转移支付额度
目录
- 系列文章
- 数据样式
- 数据导入
- 数据检验
- 绘制相关系数矩阵和相关性t检验矩阵
- 绘制企业投资平均水平随时间的变化
- 序列相关性检验
- 模型检验
- pool模型还是固定效应模型——F检验
- 固定效应模型还是随机效应模型——Hausman检验
- LM检验
- 尾声
我们知道,针对面板数据主要有四种模型,分别是:
- pool模型->对变量去整体均值后进行 OLS 估计
- 固定效应模型->对变量去个体均值后进行 OLS 估计
- 随机效应模型->对变量处理(减去个体均值的某个倍数)后进行 OLS 估计
- 可变系数模型(随机系数模型)->采用 GLS 估计
在《R语言 面板数据分析 plm包实现(固定效应模型和组内模型)》中对模型如何使用进行分析做演示,本文主要展示如何检验该使用何种模型。
下面依次介绍三种检验,在介绍前,特别强调:
- WLS(加权最小二乘回归)和FGLS都属于GLS回归。区别是前者方差矩阵可知,后者方差矩阵不知需估计。
- 判断选择固定效应模型和随机效应模型不能单凭传统的hausman检验(Hausman, 1978)。因为传统的hausman检验假设方差是同方差的,没有考虑异方差问题,须使用异方差稳健的豪斯曼检验。
有数据集:Ex1_1.dta
数据样式
点击下载
其中FN代表公司,总共有三家;YR代表年份;I是总投资;F是企业实际价值;C是企业实际资本存量。
更多解释:
数据导入
这个数据集是stata的数据集,因此在Rstudio中你可以选择文件–>导入数据集(import dataset)–>导入stata文件,即可完成导入工作
此外,我好像在其它地方也看见过此数据集,如果你无法下载,可以在其它地方寻找数据集(我印象里是在某个面板相关的R程序包里自带的数据集)。
很多童鞋反映数据集获取困难,我把这个数据集上传到github的一个项目里了(免费),注意,只有一个文件是数据集。如果有帮到你,请给文章点个赞哦~
数据检验
绘制相关系数矩阵和相关性t检验矩阵
rankData<-pdata.frame(Ex1_1 ,index=c("FN","YR"))
mydata = Ex1_1[ , c(3,4,5)]
# 相关系数矩阵
library(Hmisc) # 加载包
res <- cor(mydata)
# 输出相关系数矩阵,保留两位小数
round(res, 2)
# 相关性的显著性检验
res2 <- rcorr(as.matrix(mydata))
res2
# 结果都在p<0.01水平上显著(第二幅图的第二个矩阵)
绘制企业投资平均水平随时间的变化
frame = aggregate(I~YR,data=Ex1_1,mean) # YR(年份)作横轴,I作纵轴
# 绘制散点图
plot(frame,main = "投资随年份变化情况",xlab = "年份(单位:年)",ylab = "各公司平均投资额度(单位:万元)", family='STXihei')
# 绘制拟合曲线(回归方法)
abline(lm(I~YR,data=Ex1_1),col = "red", lwd = 2 , lty = 1)
得到图像如下:
序列相关性检验
考察企业的投资额的序列相关性,通常是重要一步
# 导入plm包
library("plm")
# 模型的基本形式
form = I ~ F + C
# 序列相关性检验,默认参数effect = "individual",此处未写出
pwartest(form, data = rankData)
在个体固定效应模型情况下,拒绝原假设,认为存在序列相关性。可以根据此对模型进行修改,比如在自变量中添加滞后一期的因变量I作为解释变量。
下面进行模型检验。
模型检验
pool模型还是固定效应模型——F检验
pooltest()函数和pFtest()函数都可以做F检验,其原假设是能否认为所有时间或个体都具有相同的系数,这样的话应当采用pool模型,即传统的OLS回归。
pool模型具体可参见《R语言 面板数据分析 plm包实现(固定效应模型和组内模型)》。
# 如果拒绝零假设,采用individual维度的固定效应模型
pooltest(form, data = rankData, model = "within")
# 如果拒绝零假设,采用time维度的固定效应模型
pooltest(form, data = rankData,effect = "time", model = "within")
# 如果拒绝零假设,采用双维度的固定效应模型
pFtest(form, data = rankData,effect = "twoways", model = "within")
固定效应模型还是随机效应模型——Hausman检验
固定效应模型和随机效应模型的名字具有迷惑性,实际上二者都采用了随机估计量,我们可以用Hausman检验来判断哪一个适用(Hausman and Taylor 1981)。
拒绝零假设,采用固定效应模型;不拒绝,采用随机效应模型。
上文提到数据可能存在自相关和异方差问题,因此我们也可以采用稳健的(robust) Hausman检验,下面的代码展示了两种,即稳健的和非稳健的。
# 固定效应模型,注意参数是model = "within"
mf = plm(form, data = rankData,effect = "twoways", model = "within")
# 随机效应模型
mr = plm(form, data = rankData,effect = "twoways", model = "random")
# 传统 Hausman检验
phtest(mf,mr)
# 稳健的Hausman检验
phtest(form, data = rankData, method = "aux", vcov = vcovHC)
检验结果:
从两个结果看,都拒绝原假设,应当采用固定效应模型。
另外,如果没有序列相关性,则随机效应的最佳检验是Breusch和Godfrey的基于似然性的LM检验(Honda进行了改进)
LM检验
拒绝零假设,采用随机效应模型;不拒绝,可能是固定效应模型或 Pooled 模型。
# LM检验
pcdtest(form,data=rankData,model="within")
从结果来看,Hausman和LM检验都指出应当使用固定效应模型。
尾声
通常,检验部分结束,确定模型后,应当进入模型分析部分
如果检验结果是随机效应模型,且一些时间或个体存在数据缺失,应当使用Swamy Arora估计,如何用R语言来实现,参见这篇文章:
R语言 面板数据如何做Swamy Arora估计。
探究至此,文章中可能有错误,欢迎评论指出。
R语言 面板数据分析 plm包实现(三)——面板数据与面板模型的检验相关推荐
- R语言 面板数据分析 plm包实现(一) ——LSDV和固定效应模型
系列文章 R做面板数据分析:R语言 面板数据分析 plm包实现(一) --LSDV和固定效应模型 如果想看随机效应模型怎么做,参见这篇文章 R语言 面板数据分析 plm包实现(二)--随机效应模型 如 ...
- R语言入门第四集 实验三:数据可视化
R语言入门第四集 实验三:数据可视化 一.资源 [R语言]R语言数据可视化--东北大学大数据班R实训第三次作业 在r中rowsums_R语言初级教程(15): 矩阵(下篇) R语言环境变量的设置 环境 ...
- R语言与数据分析练习:使用ARIMA模型预测网站访问量
R语言与数据分析练习:使用ARIMA模型预测网站访问量 使用ARIMA模型预测网站访问量 一.实验背景: 随着流量的增大,某网站的数据信息量也在以一定的幅度增长 基于该网站2016年9月~2017年2 ...
- R语言与数据分析练习:创建和使用R语言数据集数据的导入导出
R语言与数据分析练习:创建和使用R语言数据集&数据的导入导出 实验一 创建和使用R语言数据集 一.实验目的: 了解R语言中的数据结构. 熟练掌握他们的创建方法,和函数中一些参数的使用. 对创建 ...
- 【R语言与数据分析实战】数据操作(一):基于向量的处理与外部数据处理
目录 1.R中的常用数据集 2.读写CSV文件 (1) 读写CSV文件 (2) 读写对象文件 3.合并数据框的行与列 4.apply系数函数 (1) apply (2) lapply (3) sapp ...
- 《R语言游戏数据分析与挖掘》一2.2 数据对象
2.2 数据对象 R拥有许多用于存储数据的对象类型,包括向量.矩阵.数组.数据框和列表.它们在存储数据的类型.创建方式.结构复杂度,以及用于定位和访问其中个别元素的标记等方面均有所不同.多样化的数据对 ...
- 2014全球软件技术峰会WOT:R语言金融数据分析
跨界知识聚会系列文章,"知识是用来分享和传承的",各种会议.论坛.沙龙都是分享知识的绝佳场所.我也有幸作为演讲嘉宾参加了一些国内的大型会议,向大家展示我所做的一些成果.从听众到演讲 ...
- 【R语言与数据分析实战】绘图
目录 1.散点图 2.图像选项 2.1 坐标轴名称 2.2 图形标题 2.3 点的类型 2.4 点的大小 2.5 颜色 2.6 坐标轴的取值范围 2.7 图像类型 2.8 线型 2.9 图形排列 2. ...
- 看书标记【R语言 商务数据分析实战4】
看书标记--关于R语言 chapter 4 4.2 任务实现 [R语言 商务数据分析实战4] chapter 4 财政收入预测分析 从海量数据中发现隐藏的运行模式,并提供具有决策意义的信息.变量过多会 ...
- 看书标记【R语言 商务数据分析实战5】
看书标记--关于R语言 chapter 5 5.2 任务实现 [R语言 商务数据分析实战5] chapter 5 金融服务机构资金流量预测 数据理解和预处理>>检验平稳性+纯随机性> ...
最新文章
- 清华大学、中科院等研究机构研究人员提出BETA:面向SSVEP-BCI应用程序的大型基准测试数据库...
- SQL语句、PL/SQL语句、SQL*PLUS语句结束符号
- jbpm6.5 环境搭建(三) 数据库 切换
- 【数据结构与算法】广度优先遍历(BFS) 深度优先遍历(DFS)
- 路由虚拟端口配置dhcp服务器,交换机和路由器DHCP设置中的端口配置
- 对!这就是你要的pandas练习题(❤️❤️)
- facebook快捷登录 pc_华为发布首款商用台式机,商用PC布局更进一步
- iPhone 12 Pro系列终于不怕弯了!
- 13.3 mysql常用命令
- java语言构造顺序树_PAT-1086(Tree Traversals Again)Java语言实现+根据中序和前序遍历构建树并且给出后序遍历序列...
- openssl加解密原理
- 业绩梯队:让各层级领导者做出正确的业绩
- (unsigned char) ~0 1
- 如何将英文句子分词(拆分单词), 并判断分词是否为英文单词
- WSL:关闭WSL【vmmem 进程占用CPU资源的解决办法】
- 支付宝花呗提前还款————附操作图片
- 应用层协议的设计与实现
- 《爱上Pandas》系列-你还在用VLookup吗?
- 图解:RJ45水晶头网线的做法 十分经典
- c语言实现stomp协议客户端,在vue中使用SockJS实现webSocket通信