加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 使用ARMA的Statsmodel

发布时间:2020-12-16 21:53:51 所属栏目:Python 来源:网络整理
导读:这里有点新,但试图使用statsmodel ARMA预测工具.我从雅虎导入了一些股票数据并得到ARMA给我适合的参数.但是,当我使用预测代码时,我收到的是一个错误列表,我似乎无法弄清楚.不太确定我在这里做错了什么: import pandasimport statsmodels.tsa.api as tsafrom

这里有点新,但试图使用statsmodel ARMA预测工具.我从雅虎导入了一些股票数据并得到ARMA给我适合的参数.但是,当我使用预测代码时,我收到的是一个错误列表,我似乎无法弄清楚.不太确定我在这里做错了什么:

import pandas
import statsmodels.tsa.api as tsa
from pandas.io.data import DataReader

start = pandas.datetime(2013,1,1)
end = pandas.datetime.today()

data = DataReader('GOOG','yahoo')
arma =tsa.ARMA(data['Close'],order =(2,2))
results= arma.fit()
results.predict(start=start,end=end)

错误是:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
C:Windowssystem32
最佳答案
对我来说看起来像个错误.我会调查一下.

https://github.com/statsmodels/statsmodels/issues/712

编辑:作为一种解决方法,您可以从DataFrame中删除DatetimeIndex并将其传递给numpy数组.它使得预测在日期方面变得有点棘手,但是当没有频率时使用日期进行预测已经相当棘手,因此只有开始和结束日期基本上没有意义.

import pandas
import statsmodels.tsa.api as tsa
from pandas.io.data import DataReader
import pandas

data = DataReader('GOOG','yahoo')
dates = data.index

# start at a date on the index
start = dates.get_loc(pandas.datetools.parse("1-2-2013"))
end = start + 30 # "steps"

# NOTE THE .values
arma =tsa.ARMA(data['Close'].values,2))
results= arma.fit()
results.predict(start,end)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读