Я использовал Statsmodel для обучения некоторых моделей временных рядов и обнаружил, что тип данных некоторых выходных данных будет отличаться в зависимости от типа входных данных, в то время как я ожидал, что тип выходных данных будет независимым от типа входных данных.
Мой вопрос: нормально ли это в statsmodels (и в других пакетах, например, sklearn)? Если нет, каков нормальный / стандартный / конвенционный способ справиться с такой ситуацией?
У меня есть пример ниже. Если я использую pandas.Series
в качестве ввода, то вывод bse
из statsmodels будет 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, order=(1,1,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