当前位置:  开发笔记 > 编程语言 > 正文

在pandas数据帧中使用最大似然估计的自回归(AR)模型:correlate()得到了一个意外的关键字参数'旧行为'

如何解决《在pandas数据帧中使用最大似然估计的自回归(AR)模型:correlate()得到了一个意外的关键字参数'旧行为'》经验,为你挑选了1个好方法。

我有一个pandas数据框的子集,其中包含我想使用statsmodel使用AR或ARIMA模型分析的时间序列:

data_sci = H_Clinton_social_vector.Florida

数据如下所示:

Date
    2015-09-28     587
    2015-10-05     582
    2015-10-12     606
    2015-10-19     698

我的AR模型是这样创建的,每周汇总时间序列:

ar_model = sm.tsa.AR(data_sci, freq='W')
ar_model

接下来,我想对AR参数进行最大似然估计(MLE)拟合,半年滞后:

ar_res = ar_model.fit(maxlag=26, method='mle')

我得到以下结果:

correlate() got an unexpected keyword argument 'old behavior'

由于correlate()参数,我不明白问题是什么,我认为这与数据的自动关联有关.我的数据中有很高的自相关性,所以这应该没问题.

数据集的自相关

我对stasmodels不太熟悉,并且喜欢从头开始编码AR或ARIMA模型.



1> Luis Miguel..:

经过一些研究,问题是statsmodel与numpy 1.10不兼容.虽然我有最新版本的stasmodel,但是存在自相关的内部问题(与最新版本的numpy不兼容),这需要在Github上安装主代码.

首先,我发现了stasmodels的依赖关系的版本:

Python >= 2.6, including Python 3.x
NumPy >= 1.5.1
SciPy >= 0.9.0
Pandas >= 0.7.1
Patsy >= 0.3.0

所有这些都没关系,所以为了从源代码安装,我需要Cython> = 20.1,我从这里下载了.解压缩,导航到该目录并执行:

python setup.py install

完成后,从Github导航到下载的statsmodel副本,并构建stasmodel:

python setup.py install

你会看到的:

Cythonizing sources
Processing statsmodels/nonparametric/_smoothers_lowess.pyx
Processing statsmodels/nonparametric/linbin.pyx
Processing statsmodels/tsa/kalmanf/kalman_loglike.pyx
Processing statsmodels/tsa/statespace/_statespace.pyx.in

等等一段时间后,你将获得最新版本的statsmodel.现在我的AR模型工作正常,但有一些警告你可以忽略或禁用.


看起来在numpy 1.10.2中修复了其他错误,这些错误会影响master中的新状态空间模型.所以,如果可能的话,我建议升级numpy.
推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有