TypeError:只能将列表(而不是“str”)连接到列表自回归模型

2024-10-02 10:18:51 发布

您现在位置:Python中文网/ 问答频道 /正文

亲爱的, 我在时间序列数据集上应用自回归模型,当我试图拟合模型时,我得到了标题中提到的这个错误。 请查找下面的代码

dataset = dataset.values
# split into train and test sets
train_size = int(len(dataset) * 0.67)
test_size = len(dataset) - train_size
train, test = dataset[0:train_size,:], dataset[train_size:len(dataset),:]
print(len(train), len(test))

from matplotlib import pyplot
from statsmodels.tsa.ar_model import AutoReg
from sklearn.metrics import mean_squared_error
from math import sqrt

# train autoregression
model = AutoReg(train, lags=20)
model_fit = model.fit()

收到错误:

TypeError                                 Traceback (most recent call last)
<ipython-input-13-94515331b50e> in <module>
      1 # train autoregression
----> 2 model = AutoReg(train, lags=20)
      3 model_fit = model.fit()

TypeError: can only concatenate list (not "str") to list

请告知如何修复此问题


Tags: from模型testimportsizemodellen错误
2条回答

正如评论所说,如果能看到dataset就好了。但是这条线

train, test = dataset[0:train_size,:], ...

使我认为数据集是二维的,而文档here表明您需要1D

所以也许你想要

train, test = dataset[0:train_size,0], ...

或者数据集的其他列(不是索引0)

因此,事实上,如上所述,查看您的数据集,您的训练和测试是2D数组,而AutoReg需要1D数组,因此您应该尝试这个答案中的建议,看看它是否有效皮特堡

相关问题 更多 >

    热门问题