Statsmodels arima模型返回错误

时间:2016-01-20 13:58:38

标签: python pandas statsmodels

我已经开始学习statsmodels包,无法用arima实现基本的预测。

错误是

  

ValueError:给定pandas对象且索引不包含日期

我正在尝试将其作为版本:

df = make_df(filename_data)

y = []
x = []

# here I am preparing day by day sequence as that I have inconsistent data and I set 0 to NAN values

start_date = df[date_col].min()
end_date = df[date_col].max()



while start_date <= end_date:

    x.append(start_date)

    try:
        y.append(
            df[df[date_col] == start_date][rev_col].values[0])
    except:
        y.append(0)

    start_date += datetime.timedelta(days=1)

y = np.array(y)
x = np.array(x)

y = pd.TimeSeries(y, index=x)
print(y)
arma_mod = sm.tsa.ARMA(y, order=(2,2))
arma_res = arma_mod.fit(trend='nc', disp=-1)

在此之前我尝试了

df = make_df(filename_data)

y = np.array(df[rev_col])
x = np.array(df[date_col])

y = pd.TimeSeries(y, index=x)

为什么会这样?

日期 - 收入数据看起来不错:

2014-08-04      59477
2014-08-05      29989
2014-08-06      29989
2014-08-07     116116

1 个答案:

答案 0 :(得分:6)

您可以使用as_matrix()简单地转换DataFrame。

工作代码示例:

viewModelManager

由于statsmodels有许多未解决的问题,它只能暂时帮助你。