R で kpss テストを実行する方法 (例を含む)


KPSS テストを使用すると、時系列に定常傾向があるかどうかを判断できます。

この検定では、次の帰無仮説と対立仮説を使用します。

  • H 0 : 時系列には定常的な傾向があります。
  • H A : 時系列には定常的な傾向はありません

検定のp 値が特定の有意水準 (例: α = 0.05) を下回る場合、帰無仮説は棄却され、時系列には定常傾向がないと結論付けられます。

そうしないと、帰無仮説を棄却できなくなります。

次の例は、R で KPSS テストを実行する方法を示しています。

例 1: R での KPSS テスト (定常データを使用)

まず、操作する偽のデータを R で作成しましょう。

 #make this example reproducible
set. seeds (100)

#create time series data
data<-rnorm(100)

#plot time series data as line plot
plot(data, type=' l ') 

tseriesパッケージのkpss.test()関数を使用して、この時系列データに対して KPSS テストを実行できます。

 library (tseries)

#perform KPSS test
kpss. test (data, null=" Trend ")

	KPSS Test for Trend Stationarity

data:data
KPSS Trend = 0.034563, Truncation lag parameter = 4, p-value = 0.1

Warning message:
In kpss.test(data, null = "Trend"): p-value greater than printed p-value

p 値は0.1です。この値は 0.05 未満ではないため、KPSS 検定の帰無仮説を棄却できません。

これは、時系列には定常的な傾向があると仮定できることを意味します。

: p 値は実際にはまだ 0.1 より大きいですが、kpss.test() 関数が生成する最小値は 0.1 です。

例 2: R での KPSS テスト (非定常データを使用)

まず、操作する偽のデータを R で作成しましょう。

 #make this example reproducible

#create time series data
data <-c(0, 3, 4, 3, 6, 7, 5, 8, 15, 13, 19, 12, 29, 15, 45, 23, 67, 45)

#plot time series data as line plot
plot(data, type=' l ') 

繰り返しますが、 tseriesパッケージのkpss.test()関数を使用して、この時系列データに対して KPSS テストを実行できます。

 library (tseries)

#perform KPSS test
kpss. test (data, null=" Trend ")

	KPSS Test for Trend Stationarity

data:data
KPSS Trend = 0.149, Truncation lag parameter = 2, p-value = 0.04751

p 値は0.04751です。この値が 0.05 未満であるため、KPSS 検定の帰無仮説は棄却されます。

これは、時系列が静止していないことを意味します。

追加リソース

次のチュートリアルでは、R で時系列データを操作する方法に関する追加情報を提供します。

R で時系列をプロットする方法
R で拡張ディッキー・フラーテストを実行する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です