Як виконати тест kpss у r (включаючи приклад)
Тест KPSS можна використовувати, щоб визначити, чи має часовий ряд стаціонарний тренд.
Цей тест використовує таку нульову та альтернативну гіпотезу:
- H 0 : часовий ряд має стаціонарний тренд.
- H A : часовий ряд не має стаціонарного тренду.
Якщо p-значення тесту нижче певного рівня значущості (наприклад, α = 0,05), тоді ми відхиляємо нульову гіпотезу та робимо висновок, що часовий ряд не має стаціонарного тренду.
Інакше ми не зможемо відхилити нульову гіпотезу.
У наступних прикладах показано, як виконати тест KPSS у R.
Приклад 1: Тест KPSS в R (зі стаціонарними даними)
По-перше, давайте створимо деякі фейкові дані в 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 ')
Ми можемо використати функцію kpss.test() із пакета tseries , щоб виконати тест 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: Тест KPSS в R (з нестаціонарними даними)
По-перше, давайте створимо деякі фейкові дані в 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 ')
Знову ж таки, ми можемо використати функцію kpss.test() із пакету tseries , щоб виконати тест 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