繁体   English   中英

Python Statsmodels x13_arima_analysis:AttributeError:'dict'对象没有属性'iteritems'

[英]Python Statsmodels x13_arima_analysis : AttributeError: 'dict' object has no attribute 'iteritems'

步骤1 :我的样本数据

import pandas as pd
from pandas import Timestamp

s = pd.Series(
    {Timestamp('2013-03-01 00:00:00'): 838.2,
 Timestamp('2013-04-01 00:00:00'): 865.17,
 Timestamp('2013-05-01 00:00:00'): 763.0,
 Timestamp('2013-06-01 00:00:00'): 802.99,
 Timestamp('2013-07-01 00:00:00'): 875.56,
 Timestamp('2013-08-01 00:00:00'): 754.4,
 Timestamp('2013-09-01 00:00:00'): 617.48,
 Timestamp('2013-10-01 00:00:00'): 994.75,
 Timestamp('2013-11-01 00:00:00'): 860.86,
 Timestamp('2013-12-01 00:00:00'): 786.66,
 Timestamp('2014-01-01 00:00:00'): 908.48,
 Timestamp('2014-02-01 00:00:00'): 980.88,
 Timestamp('2014-03-01 00:00:00'): 1453.73,
 Timestamp('2014-04-01 00:00:00'): 1473.33,
 Timestamp('2014-05-01 00:00:00'): 1480.44,
 Timestamp('2014-06-01 00:00:00'): 1433.91,
 Timestamp('2014-07-01 00:00:00'): 1386.58,
 Timestamp('2014-08-01 00:00:00'): 1437.35,
 Timestamp('2014-09-01 00:00:00'): 1207.07,
 Timestamp('2014-10-01 00:00:00'): 973.3,
 Timestamp('2014-11-01 00:00:00'): 962.18,
 Timestamp('2014-12-01 00:00:00'): 717.69,
 Timestamp('2015-01-01 00:00:00'): 873.06,
 Timestamp('2015-02-01 00:00:00'): 881.65,
 Timestamp('2015-03-01 00:00:00'): 1252.92,
 Timestamp('2015-04-01 00:00:00'): 866.94,
 Timestamp('2015-05-01 00:00:00'): 1498.05,
 Timestamp('2015-06-01 00:00:00'): 1282.31,
 Timestamp('2015-07-01 00:00:00'): 1411.33,
 Timestamp('2015-08-01 00:00:00'): 1379.05,
 Timestamp('2015-09-01 00:00:00'): 1334.52,
 Timestamp('2015-10-01 00:00:00'): 1231.86,
 Timestamp('2015-11-01 00:00:00'): 1088.14,
 Timestamp('2015-12-01 00:00:00'): 967.35,
 Timestamp('2016-01-01 00:00:00'): 1266.37,
 Timestamp('2016-02-01 00:00:00'): 1278.79,
 Timestamp('2016-03-01 00:00:00'): 1497.8,
 Timestamp('2016-04-01 00:00:00'): 1352.27},
    name='Cost')

步骤2 :我将X-13ARIMA-SEATS季节性调整程序下载到Windows操作系统中的downloads文件夹中

步骤3 :在Python的IDLE IDE中,我将当前路径更改为该程序所在的位置:

import os
os.chdir(r'C:\Users\owner\Downloads\x13asall_V1.1_B26\x13as')

步骤4 :我导入statsmodels并尝试如下运行x13_arima_analysis

import statsmodels.api as sm
sm.tsa.x13_arima_analysis(s)

收到错误:

Traceback (most recent call last):
  File "<pyshell#104>", line 1, in <module>
    sm.tsa.x13_arima_analysis(s)
  File "C:\Python34\lib\site-packages\statsmodels-0.6.1-py3.4-win-amd64.egg\statsmodels\tsa\x13.py", line 417, in x13_arima_analysis
    spec_obj = pandas_to_series_spec(endog)
  File "C:\Python34\lib\site-packages\statsmodels-0.6.1-py3.4-win-amd64.egg\statsmodels\tsa\x13.py", line 310, in pandas_to_series_spec
    stperiod))
  File "C:\Python34\lib\site-packages\statsmodels-0.6.1-py3.4-win-amd64.egg\statsmodels\tsa\x13.py", line 271, in __init__
    title=title, name=series_name,
  File "C:\Python34\lib\site-packages\statsmodels-0.6.1-py3.4-win-amd64.egg\statsmodels\tsa\x13.py", line 218, in set_options
    for key, value in kwargs.iteritems():
AttributeError: 'dict' object has no attribute 'iteritems'

请注意,我已经安装了statsmodels的非官方二进制文件 (因为无法在Windows机器上安装),所以我认为我无法更改实际的源代码,但是我确实看到问题在于此行

我是做错了还是这是statsmodels中的错误?

我有什么版本的statsmodels? 0.6.1

>>> sm.__spec__
ModuleSpec(name='statsmodels.api', loader=<_frozen_importlib.SourceFileLoader object at 0x0000000007193470>, origin='C:\\Python34\\lib\\site-packages\\statsmodels-0.6.1-py3.4-win-amd64.egg\\statsmodels\\api.py')

不知道我是否应该关闭此问题,或者继续为任何x13_arima_analysis使x13_arima_analysis正常工作的人提供参考。 总而言之,我通过更改几x13.py其工作了……但是最后,我建议先转到Github,并替换位于C:\\Python34\\Lib\\site-packages\\statsmodels-0.6.1-py3.4-win-amd64.egg\\statsmodels‌​\\tsax13.py文件C:\\Python34\\Lib\\site-packages\\statsmodels-0.6.1-py3.4-win-amd64.egg\\statsmodels‌​\\tsa使用最新的Github代码在您计算机上的C:\\Python34\\Lib\\site-packages\\statsmodels-0.6.1-py3.4-win-amd64.egg\\statsmodels‌​\\tsa上查看是否为您解决了该问题。 它为我修复。

实际工作示例:

import pandas as pd
from pandas import Timestamp
import os
import matplotlib.pyplot as plt
import statsmodels.api as sm

PATH =r'C:\Users\owner\Downloads\x13asall_V1.1_B26\x13as'

os.chdir(PATH)

s = pd.Series(
    {Timestamp('2013-03-01 00:00:00'): 838.2,
 Timestamp('2013-04-01 00:00:00'): 865.17,
 Timestamp('2013-05-01 00:00:00'): 763.0,
 Timestamp('2013-06-01 00:00:00'): 802.99,
 Timestamp('2013-07-01 00:00:00'): 875.56,
 Timestamp('2013-08-01 00:00:00'): 754.4,
 Timestamp('2013-09-01 00:00:00'): 617.48,
 Timestamp('2013-10-01 00:00:00'): 994.75,
 Timestamp('2013-11-01 00:00:00'): 860.86,
 Timestamp('2013-12-01 00:00:00'): 786.66,
 Timestamp('2014-01-01 00:00:00'): 908.48,
 Timestamp('2014-02-01 00:00:00'): 980.88,
 Timestamp('2014-03-01 00:00:00'): 1453.73,
 Timestamp('2014-04-01 00:00:00'): 1473.33,
 Timestamp('2014-05-01 00:00:00'): 1480.44,
 Timestamp('2014-06-01 00:00:00'): 1433.91,
 Timestamp('2014-07-01 00:00:00'): 1386.58,
 Timestamp('2014-08-01 00:00:00'): 1437.35,
 Timestamp('2014-09-01 00:00:00'): 1207.07,
 Timestamp('2014-10-01 00:00:00'): 973.3,
 Timestamp('2014-11-01 00:00:00'): 962.18,
 Timestamp('2014-12-01 00:00:00'): 717.69,
 Timestamp('2015-01-01 00:00:00'): 873.06,
 Timestamp('2015-02-01 00:00:00'): 881.65,
 Timestamp('2015-03-01 00:00:00'): 1252.92,
 Timestamp('2015-04-01 00:00:00'): 866.94,
 Timestamp('2015-05-01 00:00:00'): 1498.05,
 Timestamp('2015-06-01 00:00:00'): 1282.31,
 Timestamp('2015-07-01 00:00:00'): 1411.33,
 Timestamp('2015-08-01 00:00:00'): 1379.05,
 Timestamp('2015-09-01 00:00:00'): 1334.52,
 Timestamp('2015-10-01 00:00:00'): 1231.86,
 Timestamp('2015-11-01 00:00:00'): 1088.14,
 Timestamp('2015-12-01 00:00:00'): 967.35,
 Timestamp('2016-01-01 00:00:00'): 1266.37,
 Timestamp('2016-02-01 00:00:00'): 1278.79,
 Timestamp('2016-03-01 00:00:00'): 1497.8,
 Timestamp('2016-04-01 00:00:00'): 1352.27},
    name='Cost')


res = sm.tsa.x13_arima_analysis(s)
res.plot()
plt.show()

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM