0
我有以下DF:我該怎麼辦了多時間序列的多個固定的測試在數據幀
head(vardata)
Month repo Callrate WPI GDP FED nse usd
1 2001-04-01 9.00 7.49 5.41 4.6 4.50 1125.2 46.79
2 2001-05-01 8.75 8.03 5.60 4.6 4.00 1167.9 46.92
3 2001-06-01 8.50 7.24 5.30 4.6 3.75 1107.9 47.00
4 2001-07-01 8.50 7.19 5.23 5.3 3.75 1072.8 47.14
5 2001-08-01 8.50 6.94 5.41 5.3 3.50 1053.8 47.13
6 2001-09-01 8.50 7.30 4.52 5.3 3.00 913.9 47.65
我要進行Box.test,adf.test和kpss.test所有7 VAR用以下規則集:
說我設定的5%的顯着水平。然後,規則是:
1)對於Box.test,如果p值< 0.05 =>靜止
2)對於adf.test,如果p值< 0.05 =>靜止
3)對於kpss.test,如果p值> 0.05 =>靜止的(不等式的音符變化)
獨立我沒有測試爲:
Box.test(ts(df$repo),lag=20,type="Ljung-Box")
Box-Ljung test
data: ts(df$repo)
X-squared = 1100, df = 20, p-value <2e-16
adf.test(ts(df$repo),alternative = "stationary")
Augmented Dickey-Fuller Test
data: ts(df$repo)
Dickey-Fuller = -2.7, Lag order = 5, p-value = 0.3
alternative hypothesis: stationary
kpss.test(ts(df$repo))
KPSS Test for Level Stationarity
data: ts(df$repo)
KPSS Level = 0.32, Truncation lag parameter = 3, p-value = 0.1
# to extract p values
Box.test(ts(df$repo),lag=20,type="Ljung-Box")$p.value
adf.test(ts(df$repo),alternative = "stationary")$p.value
kpss.test(ts(df$repo))$p.value
氏S爲做一次一個對所有變量.....
但我想這樣做的所有這些測試一氣呵成在某種數據幀的輸出的所有變種&如果可能的話,也許是這樣這:
var box.pvalue box adf.pvalue adf kpss.pvalue kpss
repo 0.03 TRUE 0.03 TRUE 0.03 FALSE
Callrate 0.03 TRUE 0.03 TRUE 0.03 FALSE
WPI 0.03 TRUE 0.03 TRUE 0.03 FALSE
GDP 0.03 TRUE 0.03 TRUE 0.03 FALSE
FED 0.51 FALSE 0.03 TRUE 0.03 FALSE
nse 0.03 TRUE 0.03 TRUE 0.03 FALSE
usd 0.45 FALSE 0.03 TRUE 0.03 FALSE
其中TRUE =系列是固定的; FALSE =系列是非平穩的
更新---我嘗試了多個時間序列
平穩性檢驗
multi_stat_tests<- function(df){
for(i in 1:dim(df)[2]){
df_multi<-data.frame(var=names(df)[i],box.pvalue=Box.test(ts(df[,i]),lag=20,type="Ljung-Box")$p.value,adf.pvalue=adf.test(ts(df[,i]),alternative = "stationary")$p.value,kpss.pvalue=kpss.test(ts(df[,i]))$p.value,
box=Box.test(ts(df[,i]),lag=20,type="Ljung-Box")$p.value<0.05,
adf=adf.test(ts(df[,i]),alternative = "stationary")$p.value<0.05,
kpss=kpss.test(ts(df[,i]))$p.value>0.05
)
return(df_multi)
}
}
>multi_stat_tests(df[,2:8])
var box.pvalue adf.pvalue kpss.pvalue box adf kpss
1 repo 0 0.2859 0.1 TRUE FALSE TRUE
它只是拿起只有一個變種......它不是迭代跨越所有變量......在這裏缺少一些東西....幫助需要!!!!!
@Consistency ....... awesme ....教訓smethng新... 。只是一個小問題..the輸出有行名稱....我不得不刪除它separately..can它在循環中納入...... – Nishant
@Nishant如果你不希望有行名,你可以像'r < - multi_stat_tests(df); row.names(r)< - c()'或者在最後一行返回結果df_multi之前在函數中添加一行,比如'row.names(df_multi)< - c()'。 – Consistency