R語言-面板數據分析步驟及流程-


面板數據分析步驟及流程-R語言

2016年08月16日 16:49:55 飯飯認認米 閱讀數 47093 文章標簽: r語言面板數據分析預測 更多

分類專欄: R語言 預測模型

版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。

本文鏈接:https://blog.csdn.net/fanfanrenrenmi/article/details/52222728

面板數據

面板數據(Panel Data),也成平行數據,具有時間序列和截面兩個維度,整個表格排列起來像是一個面板。 
面板數據舉例: 
這里寫圖片描述

模型說明及分析步驟

1、首先確定解釋變量和因變量; 
2、R語言操作數據格式,部分截圖如下,這里以index3為因變量,index1與index2為解釋變量: 
這里寫圖片描述

##加載相關包
install.packages("mice")##缺失值處理
install.packages("plm")
install.packages("MSBVAR")
library(plm)
library(MSBVAR)
library(tseries)
library(xts)
library(mice)
data<-read.csv("F://分類別//rankdata.csv",header=T,as.is=T)##讀取數據
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

2、單位根檢驗:數據平穩性 
為避免偽回歸,確保結果的有效性,需對數據進行平穩性判斷。何為平穩,一般認為時間序列提出時間趨勢和不變均值(截距)后,剩余序列為白噪聲序列即零均值、同方差。常用的單位根檢驗的辦法有LLC檢驗和不同單位根的Fisher-ADF檢驗,若兩種檢驗均拒絕存在單位根的原假設則認為序列為平穩的,反之不平穩(對於水平序列,若非平穩,則對序列進行一階差分,再進行后續檢驗,若仍存在單位根,則繼續進行高階差分,直至平穩,I(0)即為零階單整,I(N)為N階單整)。

##單位根檢驗
tlist1<-xts(data$index1,as.Date(data$updatetime))
adf.test(tlist1)
tlist2<-xts(data$index2,as.Date(data$updatetime))
adf.test(tlist2)
  • 1
  • 2
  • 3
  • 4
  • 5

3、協整檢驗/模型修正 
單位根檢驗之后,變量間是同階單整,可進行協整檢驗,協整檢驗是用來考察變量間的長期均衡關系的方法。若通過協整檢驗,則說明變量間存在長期穩定的均衡關系,方程回歸殘差是平穩的,可進行回歸。 
格蘭傑因果檢驗:前提是變量間同階協整,通過條件概率用以判斷變量間因果關系。

##格蘭傑因果檢驗
granger.test(tsdata,p=2)
  • 1
  • 2

4、模型選擇 
面板數據模型的基本形式 
這里寫圖片描述 
也可寫成: 
這里寫圖片描述 
其中: 
這里寫圖片描述 
這里寫圖片描述 
這里寫圖片描述

對於平衡的面板數據,即在每一個截面單元上具有相同個數的觀測值,模型樣本觀測數據的總數等於NT。 
當N=1且T很大時,就是所熟悉的時間序列數據;當T=1而N很大時,就只有截面數據。

  • 模型選擇一般有三種形式 
    (1)無個體影響的不變系數模型(混合估計模型):ai=aj=a,bi=bj=b 
    這里寫圖片描述 
    即模型在橫截面上無個體影響、無結構變化,可將模型簡單地視為是橫截面數據堆積的模型。這種模型與一般的回歸模型無本質區別,只要隨機擾動項服從經典基本假設條件,就可以采用OLS法進行估計(共有k+1個參數需要估計),該模型也被稱為聯合回歸模型(pooled regression model)。 
    (2)變截距模型(固定效用模型):ai≠aj,bi=bj=b 
    這里寫圖片描述 
    即模型在橫截面上存在個體影響,不存在結構性的變化,即解釋變量的結構參數在不同橫截面上是相同的,不同的只是截距項,個體影響可以用截距項ai (i=1,2,…,N)的差別來說明,故通常把它稱為變截距模型。 
    (3)變系數模型(隨機效應模型):ai≠aj,bi≠bj 
    這里寫圖片描述 
    即模型在橫截面上存在個體影響,又存在結構變化,即在允許個體影響由變化的截距項ai (i=1,2,…,N)來說明的同時還允許系數向量bi (i=1,2,…,N)依個體成員的不同而變化,用以說明個體成員之間的結構變化。我們稱該模型為變系數模型。
  • 選擇合適的面板模型 
    需要檢驗被解釋變量yit的參數ai和bi是否對所有個體樣本點和時間都是常數,即檢驗樣本數據究竟屬於上述3種情況的哪一種面板數據模型形式,從而避免模型設定的偏差,改進參數估計的有效性。 
    這里寫圖片描述 
    如果接受假設H2,則可以認為樣本數據符合不變截距、不變系數模型。如果拒絕假設H2,則需檢驗假設H1。如果接受H1,則認為樣本數據符合變截距、不變系數模型;反之,則認為樣本數據符合變系數模型。
  • F檢驗 
    具體計算過程略,見參考ppt。 
    這里寫圖片描述 
    這里寫圖片描述 
    其中下標1,s1指代隨機效應模型的殘差平方和,s2指代固定效用模型殘差平方和,s3指代混合估計模型的殘差平方和; 
    若F2統計量的值小於給定顯著水平下的相應臨界值,即F2小於Fa,則接受H2,認為樣本數據符合混合效應模型;反之,則繼續檢驗假設H1; 
    若F1統計量的值小於給定顯著水平下的相應臨界值,即F1小於Fa,則接受H1,認為樣本數據符合固定效應模型;反之,則認為樣本數據符合隨機效應模型;
  • 隨機效應模型 
    (1)1.LM檢驗。Breush和Pagan於1980年提出R 檢驗方法。 
    其檢驗原假設和備擇假設: 
    這里寫圖片描述 
    如果不否定原假設,就意味着沒有隨機效應,應當采用固定效應模型。 
    (2). 豪斯曼(Hausman)檢驗。William H Greene於1997年提出了一種檢驗方法,稱為豪斯曼(Hausman)檢驗。 
    這里寫圖片描述
    若統計量大於給定顯著水平下臨界值,p值小於給定顯著水平,則存在個體固定效應,應建立個體固定效應模型。
form<- index3~index1+ index2
rankData<-plm.data(data,index=c("IPname","updatetime"))#轉化為面板數據
pool <- plm(form,data=rankData,model="pooling")#混合模型
pooltest(form,data=rankData,effect="individual",model="within")#檢驗個體間是否有差異
pooltest(form,data=rankData,effect="time",model="within")#檢驗不同時間是否有差異
wi<-plm(form,data=rankData,effect="twoways",model="within")#存在兩種效應的固定效應模型
pooltest(pool,wi)#F檢驗判斷混合模型與固定效應模型比較
phtest(form,data=rankData)##Hausman檢驗判斷應該采用何種模型,隨機效應模型檢驗
pbgtest(form,data=rankData,model="within")#LM檢驗,隨機效應模型檢驗
#檢驗是否存在序列相關
pwartest(form,data=rankData)#Wooldridge檢驗(自相關)小於0.05存在序列相關
summary(wi)##查看擬合模型信息
fixef(wi,effect="time")#不同時間對因變量的影響程度的系數估計值
inter<-fixef(wi,effect="individual")#不同個體對因變量的影響程度的截距估計值

##根據模型參數,進行預測;

百度文庫中下載的參考ppt: 
http://pan.baidu.com/s/1qXHVGde

注:有些地方,尤其R代碼部分有些亂,需根據實際數據情況進行選擇,函數的參數設置並未完全吃透,還需要繼續學習,如有不對的地方,再改正,目前的理解是這樣了,在本次數據場景中,實際數據應用中預測效果不是很好,誤差稍大,這次未采用,以后遇到可以再嘗試。


免責聲明!

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



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