當前位置: 首頁>>代碼示例>>Python>>正文


Python ARIMA.summary2方法代碼示例

本文整理匯總了Python中statsmodels.tsa.arima_model.ARIMA.summary2方法的典型用法代碼示例。如果您正苦於以下問題:Python ARIMA.summary2方法的具體用法?Python ARIMA.summary2怎麽用?Python ARIMA.summary2使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在statsmodels.tsa.arima_model.ARIMA的用法示例。


在下文中一共展示了ARIMA.summary2方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: plot_acf

# 需要導入模塊: from statsmodels.tsa.arima_model import ARIMA [as 別名]
# 或者: from statsmodels.tsa.arima_model.ARIMA import summary2 [as 別名]
plot_acf(D_data).show() #自相關圖
from statsmodels.graphics.tsaplots import plot_pacf
plot_pacf(D_data).show() #偏自相關圖
print(u'差分序列的ADF檢驗結果為:', ADF(D_data[u'銷量差分'])) #平穩性檢測

#白噪聲檢驗
from statsmodels.stats.diagnostic import acorr_ljungbox
print(u'差分序列的白噪聲檢驗結果為:', acorr_ljungbox(D_data, lags=1)) #返回統計量和p值

from statsmodels.tsa.arima_model import ARIMA

#定階
pmax = int(len(D_data)/10) #一般階數不超過length/10
qmax = int(len(D_data)/10) #一般階數不超過length/10
bic_matrix = [] #bic矩陣
for p in range(pmax+1):
  tmp = []
  for q in range(qmax+1):
    try: #存在部分報錯,所以用try來跳過報錯。
      tmp.append(ARIMA(data, (p,1,q)).fit().bic)
    except:
      tmp.append(None)
  bic_matrix.append(tmp)

bic_matrix = pd.DataFrame(bic_matrix) #從中可以找出最小值

p,q = bic_matrix.stack().idxmin() #先用stack展平,然後用idxmin找出最小值位置。
print(u'BIC最小的p值和q值為:%s、%s' %(p,q)) 
model = ARIMA(data, (p,1,q)).fit() #建立ARIMA(0, 1, 1)模型
model.summary2() #給出一份模型報告
model.forecast(5) #作為期5天的預測,返回預測結果、標準誤差、置信區間。
開發者ID:guotong1988,項目名稱:PythonPracticeOfDataAnalysisAndMining,代碼行數:33,代碼來源:arima_test.py

示例2: programmer_6

# 需要導入模塊: from statsmodels.tsa.arima_model import ARIMA [as 別名]
# 或者: from statsmodels.tsa.arima_model.ARIMA import summary2 [as 別名]
def programmer_6():
    """
    警告解釋:
    # UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure
  "matplotlib is currently using a non-GUI backend, "
    調用了多次plt.show()
    解決方案,使用plt.subplot()

    # RuntimeWarning: overflow encountered in exp
    運算精度不夠

    forecastnum-->預測天數
    plot_acf().show()-->自相關圖
    plot_pacf().show()-->偏自相關圖
    """
    discfile = 'data/arima_data.xls'
    forecastnum = 5
    data = pd.read_excel(discfile, index_col=u'日期')

    fig = plt.figure(figsize=(8, 6))
    # 第一幅自相關圖
    ax1 = plt.subplot(411)
    fig = plot_acf(data, ax=ax1)

    # 平穩性檢測
    print(u'原始序列的ADF檢驗結果為:', ADF(data[u'銷量']))
    # 返回值依次為adf、pvalue、usedlag、nobs、critical values、icbest、regresults、resstore

    # 差分後的結果
    D_data = data.diff().dropna()
    D_data.columns = [u'銷量差分']
    # 時序圖
    D_data.plot()
    plt.show()
    # 第二幅自相關圖
    fig = plt.figure(figsize=(8, 6))
    ax2 = plt.subplot(412)
    fig = plot_acf(D_data, ax=ax2)
    # 偏自相關圖
    ax3 = plt.subplot(414)
    fig = plot_pacf(D_data, ax=ax3)
    plt.show()
    fig.clf()

    print(u'差分序列的ADF檢驗結果為:', ADF(D_data[u'銷量差分']))  # 平穩性檢測

    # 白噪聲檢驗
    print(u'差分序列的白噪聲檢驗結果為:', acorr_ljungbox(D_data, lags=1))  # 返回統計量和p值
    data[u'銷量'] = data[u'銷量'].astype(float)
    # 定階
    pmax = int(len(D_data) / 10)  # 一般階數不超過length/10
    qmax = int(len(D_data) / 10)  # 一般階數不超過length/10
    bic_matrix = []  # bic矩陣
    data.dropna(inplace=True)

    # 存在部分報錯,所以用try來跳過報錯;存在warning,暫未解決使用warnings跳過
    import warnings
    warnings.filterwarnings('error')
    for p in range(pmax + 1):
        tmp = []
        for q in range(qmax + 1):
            try:
                tmp.append(ARIMA(data, (p, 1, q)).fit().bic)
            except:
                tmp.append(None)
        bic_matrix.append(tmp)
    # 從中可以找出最小值
    bic_matrix = pd.DataFrame(bic_matrix)
    # 用stack展平,然後用idxmin找出最小值位置。
    p, q = bic_matrix.stack().idxmin()
    print(u'BIC最小的p值和q值為:%s、%s' % (p, q))
    model = ARIMA(data, (p, 1, q)).fit()  # 建立ARIMA(0, 1, 1)模型
    model.summary2()  # 給出一份模型報告
    model.forecast(forecastnum)  # 作為期5天的預測,返回預測結果、標準誤差、置信區間。
開發者ID:Ctipsy,項目名稱:python_data_analysis_and_mining_action,代碼行數:76,代碼來源:code.py

示例3: plot_acf

# 需要導入模塊: from statsmodels.tsa.arima_model import ARIMA [as 別名]
# 或者: from statsmodels.tsa.arima_model.ARIMA import summary2 [as 別名]
plt.rcParams['axes.unicode_minus'] = False
data.plot()
plt.show()

from statsmodels.graphics.tsaplots import plot_acf
plot_acf(data).show()

from statsmodels.tsa.stattools import adfuller as ADF 

print 'ADF test result:', ADF(data['value'])

D_data = data.diff().dropna()
D_data.columns = ['diff value']
D_data.plot()
plt.show()
plot_acf(D_data).show()
from statsmodels.graphics.tsaplots import plot_pacf
plot_pacf(D_data).show()
print 'diff seq ADF test result:', ADF(D_data['diff value'])

from statsmodels.stats.diagnostic import acorr_ljungbox
print 'dff white noise test result:', acorr_ljungbox(D_data, lags = 1)

from statsmodels.tsa.arima_model import ARIMA


model = ARIMA(data, (1,1,1)).fit()
model.summary2()
model.forecast(5*6)

開發者ID:memoiry,項目名稱:2016-,代碼行數:31,代碼來源:arima.py


注:本文中的statsmodels.tsa.arima_model.ARIMA.summary2方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。