簡體   English   中英

statsmodels.tsa.arima_model:TypeError:“系列”對象不可調用

[英]statsmodels.tsa.arima_model : TypeError: 'Series' object is not callable

通過建立一個ARMA模型后statsmodels.tsa.arima_model.ARMA ,我想用給MESURE模型的誤差.resid()之類的方法ARMAResult 但是,在執行過程中,出現錯誤:

Traceback (most recent call last):
  File "smtest.py", line 161, in <module>
    arma(df, 'input')
  File "smtest.py", line 81, in arma
    print arma11.resid()
TypeError: 'Series' object is not callable

實際上, statsmodels.tsa.arima_model.ARMAResults.resid()的源代碼如下:

@cache_readonly
def resid(self):
    return self.model.geterrors(self.params)

而我的代碼的一部分:

def arma(df, colname):
    """
    Compute the ARMA result for dataframe provided, than plot

    Parameters
    ----------
    df : dataframe
    colname : column name in the dataframe df
    """
    values_realtime = df[colname]
    arma11 = sm.tsa.ARMA(values_realtime, (1, 1)).fit()
    arma12 = sm.tsa.ARMA(values_realtime, (1, 2)).fit()
    arma13 = sm.tsa.ARMA(values_realtime, (1, 3)).fit()
    arma31 = sm.tsa.ARMA(values_realtime, (3, 1)).fit()
    arma41 = sm.tsa.ARMA(values_realtime, (4, 1)).fit()
    values_predict_arma11 = arma11.predict()
    values_predict_arma12 = arma12.predict()
    values_predict_arma13 = arma13.predict()
    values_predict_arma31 = arma31.predict()
    values_predict_arma41 = arma41.predict()
    # get errors I
    values_error_arma11 = values_predict_arma11 - values_realtime
    values_error_arma12 = values_predict_arma12 - values_realtime
    values_error_arma13 = values_predict_arma13 - values_realtime
    values_error_arma31 = values_predict_arma31 - values_realtime
    values_error_arma41 = values_predict_arma41 - values_realtime
    # get errors II
    print arma11.resid()
    # ...

有人可以告訴我該怎么做才能解決問題? 謝謝。

使用不帶括號() arma11.resid

說明:

模型中的許多結果是延遲計算的,也就是說,它們只是按需計算的,然后存儲起來以備將來使用。 這意味着這些結果本質上是通過裝飾器實現的緩存屬性。

statsmodels的文檔對此有點困惑,因為sphinx將這些緩存的屬性作為一種方法呈現,並包括括號,即使我們在不帶括號的情況下使用它也是如此。

Python的一般提示:如果錯誤消息表明一個對象不可調用,那么我們可以嘗試不調用它,即不使用() (我也碰巧,我不記得哪個是屬性,哪個是方法或可調用。)

暫無
暫無

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

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