階差データはオリジナルの先頭もしくは最終のデータがわからなければ復元できないとは
思いますが、diffinv関数は階差データを復元できるのかと期待したものの、
値を足し合わせていく(階差の逆)関数であることがわかりがっかりしています。
階差データを投入してモデルを作るのは予測のためではなく、
変数間の関係性やショックの影響を調べるためなのかも?
そこへいくと階差をとらずに分析できるというのは大きな魅力ですね。
共和分があってほしかったです。
あと、ACFとPACFを求める関数もありました。
●ACF(インフレ率)
> acf(tmydata[,1])

> acf(tmydata[,1],plot=FALSE)
Autocorrelations of series ‘tmydata[, 1]’, by lag
0 1 2 3 4 5 6 7 8 9 10
1.000 0.727 0.554 0.319 0.234 0.184 0.154 0.132 0.133 0.175 0.197
11 12 13 14 15
0.188 0.087 0.033 -0.064 -0.106
●Ljung-Box検定(インフレ率)
> Box.test(tmydata[,1], lag=15, type="Ljung-Box")
Box-Ljung test
data: tmydata[, 1]
X-squared = 49.653, df = 15, p-value = 1.372e-05
ラグ1~15において「無相関」は棄却。
●ACF(失業率)
> acf(tmydata[,2])

> acf(tmydata[,2],plot=FALSE)
Autocorrelations of series ‘tmydata[, 2]’, by lag
0 1 2 3 4 5 6 7 8 9 10
1.000 0.928 0.811 0.687 0.571 0.483 0.421 0.367 0.293 0.216 0.139
11 12 13 14 15
0.054 -0.033 -0.111 -0.179 -0.235
●Ljung-Box検定(失業率)
> Box.test(tmydata[,2], lag=15, type="Ljung-Box")
Box-Ljung test
data: tmydata[, 2]
X-squared = 129.47, df = 15, p-value < 2.2e-16
ラグ1~15において「無相関」は棄却。
●PACF(インフレ率)
> pacf(tmydata[,1])

> pacf(tmydata[,1],plot=FALSE)
Partial autocorrelations of series ‘tmydata[, 1]’, by lag
1 2 3 4 5 6 7 8 9 10 11
0.727 0.056 -0.217 0.125 0.080 -0.044 0.016 0.076 0.111 0.009 -0.035
12 13 14 15
-0.150 0.031 -0.101 -0.075
●PACF(失業率)
> pacf(tmydata[,2])

> pacf(tmydata[,2],plot=FALSE)
Partial autocorrelations of series ‘tmydata[, 2]’, by lag
1 2 3 4 5 6 7 8 9 10 11
0.928 -0.368 -0.010 -0.011 0.118 0.026 -0.071 -0.220 0.054 -0.031 -0.139
12 13 14 15
-0.111 -0.017 -0.028 -0.004
なんだかちょびっとずつしか進みませんが、地道にやるしかないですよね・・・
思いますが、diffinv関数は階差データを復元できるのかと期待したものの、
値を足し合わせていく(階差の逆)関数であることがわかりがっかりしています。
階差データを投入してモデルを作るのは予測のためではなく、
変数間の関係性やショックの影響を調べるためなのかも?
そこへいくと階差をとらずに分析できるというのは大きな魅力ですね。
共和分があってほしかったです。
あと、ACFとPACFを求める関数もありました。
●ACF(インフレ率)
> acf(tmydata[,1])

> acf(tmydata[,1],plot=FALSE)
Autocorrelations of series ‘tmydata[, 1]’, by lag
0 1 2 3 4 5 6 7 8 9 10
1.000 0.727 0.554 0.319 0.234 0.184 0.154 0.132 0.133 0.175 0.197
11 12 13 14 15
0.188 0.087 0.033 -0.064 -0.106
●Ljung-Box検定(インフレ率)
> Box.test(tmydata[,1], lag=15, type="Ljung-Box")
Box-Ljung test
data: tmydata[, 1]
X-squared = 49.653, df = 15, p-value = 1.372e-05
ラグ1~15において「無相関」は棄却。
●ACF(失業率)
> acf(tmydata[,2])

> acf(tmydata[,2],plot=FALSE)
Autocorrelations of series ‘tmydata[, 2]’, by lag
0 1 2 3 4 5 6 7 8 9 10
1.000 0.928 0.811 0.687 0.571 0.483 0.421 0.367 0.293 0.216 0.139
11 12 13 14 15
0.054 -0.033 -0.111 -0.179 -0.235
●Ljung-Box検定(失業率)
> Box.test(tmydata[,2], lag=15, type="Ljung-Box")
Box-Ljung test
data: tmydata[, 2]
X-squared = 129.47, df = 15, p-value < 2.2e-16
ラグ1~15において「無相関」は棄却。
●PACF(インフレ率)
> pacf(tmydata[,1])

> pacf(tmydata[,1],plot=FALSE)
Partial autocorrelations of series ‘tmydata[, 1]’, by lag
1 2 3 4 5 6 7 8 9 10 11
0.727 0.056 -0.217 0.125 0.080 -0.044 0.016 0.076 0.111 0.009 -0.035
12 13 14 15
-0.150 0.031 -0.101 -0.075
●PACF(失業率)
> pacf(tmydata[,2])

> pacf(tmydata[,2],plot=FALSE)
Partial autocorrelations of series ‘tmydata[, 2]’, by lag
1 2 3 4 5 6 7 8 9 10 11
0.928 -0.368 -0.010 -0.011 0.118 0.026 -0.071 -0.220 0.054 -0.031 -0.139
12 13 14 15
-0.111 -0.017 -0.028 -0.004
なんだかちょびっとずつしか進みませんが、地道にやるしかないですよね・・・