您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Python中使用pandas statsmodels的VAR模型

5b51 2022/1/14 8:20:46 python 字数 4963 阅读 484 来源 www.jb51.cc/python

我是R的狂热用户,但最近由于几个不同的原因切换到Python.但是,我正在努力从statsmodels运行Python中的矢量AR模型.,Q#1.我运行时遇到错误,我怀疑它与我的矢量类型有关. import numpy as np import statsmodels.tsa.api from statsmodels import da

概述

我是R的狂热用户,但最近由于几个不同的原因切换到Python.但是,我正在努力从statsmodels运行Python中的矢量AR模型.

,Q#1.我运行时遇到错误,我怀疑它与我的矢量类型有关.

    import numpy as np
    import statsmodels.tsa.api
    from statsmodels import datasets
    import datetime as dt
    import pandas as pd
    from pandas import Series
    from pandas import DataFrame
    import os

    df = pd.read_csv('myfile.csv')
    speedonly = DataFrame(df['speed'])
    results = statsmodels.tsa.api.VAR(speedonly)

    Traceback (most recent call last):
    File "
  
   __init__
      super(VAR,self).
   __init__(endog,None,dates,freq)
    File "C:\Python27\lib\site-packages\statsmodels\tsa\base\tsa_model.py",line 40,in 
   __init__
      self._init_dates(dates,line 54,in _init_dates
      raise ValueError("dates must be of type datetime")
    ValueError: dates must be of type datetime

  

现在,有趣的是,当我从这里https://github.com/statsmodels/statsmodels/blob/master/docs/source/vector_ar.rst#id5运行VAR示例时,它运行正常.

我尝试使用Wes McKinney的“用于数据分析的Python”第293页的第三个较短向量ts的VAR模型,它不起作用.

好的,所以我现在想的是因为矢量是不同的类型:

    >>> speedonly.head()
         speed
    0  559.984
    1  559.984
    2  559.984
    3  559.984
    4  559.984
    >>> type(speedonly)
    
  
   ndarray'> #WORKS

    >>> ts
    2011-01-02   -0.682317
    2011-01-05    1.121983
    2011-01-07    0.507047
    2011-01-08   -0.038240
    2011-01-10   -0.890730
    2011-01-12   -0.388685
    >>> type(ts)
    
   
  

所以我将speedonly转换为ndarray ……它仍然无效.但是这次我得到了另一个错误

   >>> nda_speedonly = np.array(speedonly)
   >>> results = statsmodels.tsa.api.VAR(nda_speedonly)

   Traceback (most recent call last):
   File "
  
   __init__
     self.neqs = self.endog.shape[1]
   IndexError: tuple index out of range

  

有什么建议?

Q | 2.我的数据集中有外生特征变量,似乎对预测很有用.上面的statsmodels模型是否是最好用的?

ValueError: Given a pandas object and the index does not contain dates

在第二种情况下,你给VAR一个单独的1d系列.当您有多个系列时,将使用VAR.这就是为什么你有形状错误,因为它期望你的数组中有第二个维度.我们可以在这里改进错误信息.对于具有外生变量的单个系列AR模型,您可能希望使用sm.tsa.ARMA.请注意,ARMA.predict中有一个known bug,用于很快修复外生变量的模型.如果您可以为此提供测试用例,那将会很有帮助.

总结

以上是编程之家为你收集整理的在Python中使用pandas statsmodels的VAR模型全部内容,希望文章能够帮你解决在Python中使用pandas statsmodels的VAR模型所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶