面板數據(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)
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)
3、協整檢驗/模型修正
單位根檢驗之後,變量間是同階單整,可進行協整檢驗,協整檢驗是用來考察變量間的長期均衡關係的方法。若通過協整檢驗,則說明變量間存在長期穩定的均衡關係,方程回歸殘差是平穩的,可進行回歸。
格蘭傑因果檢驗:前提是變量間同階協整,通過條件概率用以判斷變量間因果關係。
##格蘭傑因果檢驗granger.test(tsdata,p=2)
4、模型選擇
面板數據模型的基本形式
也可寫成:
其中:
對於平衡的面板數據,即在每一個截面單元上具有相同個數的觀測值,模型樣本觀測數據的總數等於NT。
當N=1且T很大時,就是所熟悉的時間序列數據;當T=1而N很大時,就只有截面數據。
form<- index3~index1+ index2rankData<-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代碼部分有些亂,需根據實際數據情況進行選擇,函數的參數設置並未完全吃透,還需要繼續學習,如有不對的地方,再改正,目前的理解是這樣了,在本次數據場景中,實際數據應用中預測效果不是很好,誤差稍大,這次未採用,以後遇到可以再嘗試。