簡體   English   中英

時間序列分析,使用 Kwiatkowski–Phillips–Schmidt–Shin (KPSS) 檢查平穩性

[英]Time series Analysis ,checking for stationarity using Kwiatkowski–Phillips–Schmidt–Shin (KPSS)

我正在執行時間序列分析,並使用 Kwiatkowski–Phillips–Schmidt–Shin (KPSS) 檢查平穩性。 我使用以下方法加載了數據:

import pandas as pd
import numpy as np
path = 'https://raw.githubusercontent.com/selva86/datasets/master/daily-min-temperatures.csv'
df = pd.read_csv(path, parse_dates=['Date'], index_col='Date')
df.plot(title='Daily Temperatures', figsize=(14,8), legend=None);

這是我使用的代碼,但我無法顯示結果。

#define function for kpss test
from statsmodels.tsa.stattools import kpss
#define KPSS
def kpss_test(timeseries):
    print ('Results of KPSS Test:')
    kpsstest = kpss(timeseries, regression='c')
    kpss_output = pd.Series(kpsstest[0:3], index=['Test Statistic','p-value','Lags Used'])
    for key,value in kpsstest[3].items():
      kpss_output['Critical Value (%s)'%key] = value

助攻。

你快到了,只需像這樣返回kpss_output

def kpss_test(timeseries):
    print ('Results of KPSS Test:')
    kpsstest = kpss(timeseries, regression='c')
    kpss_output = pd.Series(kpsstest[0:3], index=['Test Statistic','p-value','Lags Used'])
    for key,value in kpsstest[3].items():
      kpss_output['Critical Value (%s)'%key] = value
    
    return kpss_output

當您調用kpss_test(df.Temp)時,您將得到:

Test Statistic            0.06511
p-value                   0.10000
Lags Used                30.00000
Critical Value (10%)      0.34700
Critical Value (5%)       0.46300
Critical Value (2.5%)     0.57400
Critical Value (1%)       0.73900
dtype: float64

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM