【问题标题】:I am getting an error of "object arrays are not supported" when i am fitting the Dynamic Factor Model under statsmodels package当我在 statsmodels 包下拟合动态因子模型时,出现“不支持对象数组”的错误
【发布时间】:2019-06-25 05:33:10
【问题描述】:

我正在尝试将动态因子模型拟合到我的数据以进行预测,但出现此错误。 'dk' 是股票指数时间序列数据的数据框。 我正在执行以下操作:

dk_dfm = dk.loc['08-Nov-15':,'std_Volume':'std_IR']

mod = statsmodels.api.tsa.DynamicFactor(endog = dk_dfm, k_factors=1, factor_order=2, error_order=3)

直到这里它得到处理。

dfm = mod.fit(method='newton', disp=False)

这里出现错误:'不支持对象数组'

【问题讨论】:

  • dk_dfmdtypes 是什么?当pandas 列(系列)包含字符串或日期或其他非数字项时,其dtypeobject。即使转换为numpy 数组(使用valuesto_numpy),它们仍然具有该dtype。许多数值运算不适用于非数值数据。
  • dk_dfm 由“浮点”数据类型组成。

标签: python statsmodels


【解决方案1】:

你可以试试

dk_dfm = dk.loc['08-Nov-15':,'std_Volume':'std_IR'].values

要获得一个 numpy 数组,我没有使用 statsmodels 的经验,但这个解决方案往往适用于这个错误 编辑:有效的修复是升级到版本 0.10rc2

【讨论】:

  • 我仍然遇到同样的错误。你能建议点别的吗?提前致谢。
  • 您使用的是 statsmodels 0.9.0 版吗?
  • 是的。它的版本是 0.9.0
  • 这似乎是 statsmodels 中的一个错误,来自 this discussion,升级到版本 0.10rc2 应该可以修复它
  • 所以,在升级包并再次运行此程序后,我收到此错误:“在第 3 期遇到非正定预测误差协方差矩阵”
猜你喜欢
  • 1970-01-01
  • 2019-05-23
  • 2017-04-07
  • 2021-04-20
  • 2013-05-31
  • 1970-01-01
  • 2018-08-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多