我当时使用Statsmodel训练一些时间序列模型,结果发现某些输出的数据类型将根据输入类型而有所不同,而我期望输出的类型与输入类型无关。
我的问题是,这在statsmodels(以及其他软件包,例如sklearn)中是否正常?如果没有,处理这种情况的正常/标准/惯例方式是什么?
下面有一个例子。如果我使用pandas.Series
作为输入,那么statsmodels的输出bse
将是pandas.Series
。如果输入为list
,则输出为np.array
。
from statsmodels.tsa.arima_model import ARIMA
x1 = pd.Series([1.5302615469999998,1.130221162,1.059648341,1.246757738,0.98096523,1.173285138,1.630229825,1.6447988169999999,1.753422,1.7624994719999998,1.60655743,1.7999185709999999,1.7284643419999999,1.74167109,1.606315199,1.510957898,1.38138611,1.4421003190000001,1.172060761,0.978149498,0.878831354,0.802660206])
x2 = [s for s in x1]
model1 = ARIMA(x1,order=(1,1,0))
model2 = ARIMA(x2,0))
model_fit1 = model1.fit(disp=False)
model_fit2 = model2.fit(disp=False)
model_fit1.bse #outputs pandas series
model_fit2.bse #outputs numpy array