So führen sie einen kpss-test in r durch (einschließlich beispiel)


Mit einem KPSS-Test kann festgestellt werden, ob eine Zeitreihe einen stationären Trend aufweist.

Dieser Test verwendet die folgende Null- und Alternativhypothese:

  • H 0 : Die Zeitreihe hat einen stationären Trend.
  • H A : Die Zeitreihe weist keinen stationären Trend auf.

Wenn der p-Wert des Tests unter einem bestimmten Signifikanzniveau liegt (z. B. α = 0,05), lehnen wir die Nullhypothese ab und kommen zu dem Schluss, dass die Zeitreihe keinen stationären Trend aufweist.

Andernfalls können wir die Nullhypothese nicht ablehnen.

Die folgenden Beispiele zeigen, wie ein KPSS-Test in R durchgeführt wird.

Beispiel 1: KPSS-Test in R (mit stationären Daten)

Erstellen wir zunächst einige gefälschte Daten in R, mit denen wir arbeiten können:

 #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 ') 

Wir können die Funktion kpss.test() aus dem Paket tseries verwenden, um einen KPSS-Test für diese Zeitreihendaten durchzuführen:

 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

Der p-Wert beträgt 0,1 . Da dieser Wert nicht kleiner als 0,05 ist, können wir die Nullhypothese des KPSS-Tests nicht ablehnen.

Das bedeutet, dass wir davon ausgehen können, dass die Zeitreihe einen stationären Trend aufweist.

Hinweis : Der p-Wert ist tatsächlich immer noch größer als 0,1, aber der niedrigste Wert, den die Funktion kpss.test() erzeugt, ist 0,1.

Beispiel 2: KPSS-Test in R (mit instationären Daten)

Erstellen wir zunächst einige gefälschte Daten in R, mit denen wir arbeiten können:

 #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 ') 

Auch hier können wir die Funktion kpss.test() aus dem Paket tseries verwenden, um einen KPSS-Test für diese Zeitreihendaten durchzuführen:

 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

Der p-Wert beträgt 0,04751 . Da dieser Wert kleiner als 0,05 ist, lehnen wir die Nullhypothese des KPSS-Tests ab.

Dies bedeutet, dass die Zeitreihe nicht stationär ist .

Zusätzliche Ressourcen

Die folgenden Tutorials bieten zusätzliche Informationen zum Arbeiten mit Zeitreihendaten in R:

So zeichnen Sie eine Zeitreihe in R
So führen Sie einen erweiterten Dickey-Fuller-Test in R durch

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert