繁体   English   中英

估计的自由度不足

[英]Insufficient degrees of freedom to estimate

我的自由度小于数据集中的行数。 为什么我会出现“估算自由度不足”的错误。 我该怎么做才能解决此错误?

我试图减少differenced = difference(X,11) ,但它仍然显示错误。

dataset, validation = series[0:split_point], series[split_point:]
print('Dataset %d, Validation %d' % (len(dataset), len(validation)))
dataset.to_csv('dataset.csv')
validation.to_csv('validation.csv')
from pandas import Series
from statsmodels.tsa.arima_model import ARIMA
import numpy
# load dataset
series = Series.from_csv('dataset.csv', header=None)
series = series.iloc[1:]
series.head()
series.shape

from pandas import Series
from statsmodels.tsa.arima_model import ARIMA
import numpy
# create a differenced series
def difference(dataset, interval=1):
    diff = list()
    for i in range(interval+1, len(dataset)):
        value = int(dataset[i]) - int(dataset[i - interval])
        diff.append(value)
    return numpy.array(diff)

# load dataset
series = Series.from_csv('dataset.csv', header=None)
# seasonal difference
X = series.values
differenced = difference(X,11)
# fit model
model = ARIMA(differenced, order=(7,0,1))
model_fit = model.fit(disp=0)
# print summary of fit model
print(model_fit.summary())

series.head()结果

形状是(17,)

差分后,剩下6个观察值(17 - 11 = 6)。 这对ARIMA来说还不够(7,0,1)。

使用这些小数据,您不可能在任何模型下获得良好的预测性能,但如果必须,那么我会推荐更简单的东西,如ARIMA(1,0,0)或指数平滑模型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM