R語言 面板數據分析 plm包實現(三)——面板數據與面板模型的檢驗數據樣式數據檢驗模型檢驗尾聲


目錄

  • 數據樣式

    • 數據導入

  • 數據檢驗

    • 繪制相關系數矩陣和相關性t檢驗矩陣

    • 繪制企業投資平均水平隨時間的變化

    • 序列相關性檢驗

  • 模型檢驗

    • pool模型還是固定效應模型——F檢驗

    • 固定效應模型還是隨機效應模型——Hausman檢驗

    • LM檢驗

  • 尾聲

我們知道,針對面板數據主要有四種模型,分別是:

  1. pool模型->對變量去整體均值后進行 OLS 估計

  2. 固定效應模型->對變量去個體均值后進行 OLS 估計

  3. 隨機效應模型->對變量處理(減去個體均值的某個倍數)后進行 OLS 估計

  4. 可變系數模型(隨機系數模型)->采用 GLS 估計

《R語言 面板數據分析 plm包實現(固定效應模型和組內模型)》 中對模型如何使用進行分析做演示,本文主要展示如何檢驗該使用何種模型。

下面依次介紹三種檢驗,在介紹前,特別強調:

  1. WLS(加權最小二乘回歸)和FGLS都屬於GLS回歸。區別是前者方差矩陣可知,后者方差矩陣不知需估計。

  2. 判斷選擇固定效應模型和隨機效應模型不能單憑傳統的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檢驗
  pbgtest(form,data=rankData,model="within")

在這里插入圖片描述 從結果來看,Hausman和LM檢驗都指出應當使用固定效應模型。

尾聲

通常,檢驗部分結束,確定模型后,應當進入 模型分析部分 如果檢驗結果是隨機效應模型,且一些時間或個體存在數據缺失,應當使用Swamy Arora估計,如何用R語言來實現,參見這篇文章: R語言 面板數據如何做Swamy Arora估計

探究至此,文章中可能有錯誤,歡迎評論指出。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM