Привет, ребята. Я использую arma_order_select_ic из библиотеки statsmodel для расчета порядка (p, q) для модели ARMA, я использую цикл for для циклического прохождения по различным компаниям, которые находятся в каждом столбце фрейма данных. Код выглядит следующим образом:
import pandas as pd
from statsmodels.tsa.stattools import arma_order_select_ic
df = pd.read_csv("Adjusted_Log_Returns.csv", index_col = 'Date').dropna()
main_df = pd.DataFrame()
for i in range(146):
order_selection = arma_order_select_ic(df.iloc[i].values, max_ar = 4,
max_ma = 2, ic = "aic")
ticker = [df.columns[i]]
df_aic_min = pd.DataFrame([order_selection["aic_min_order"]], index =
ticker)
main_df = main_df.append(df_aic_min)
main_df.to_csv("aic_min_orders.csv")
Код работает нормально, и в конце я получаю все результаты в файле csv, но меня смущает то, что когда я вычисляю (p, q) вне цикла for для одной компании, я получаю разные результаты
order_selection = arma_order_select_ic(df["ABL"].values, max_ar = 4,
max_ma = 2, ic = "aic")
Порядок для компании ABL равен (1,1) при расчете в цикле for, а его (4,1) - вне его.
Так что мой вопрос в том, что я делаю неправильно или почему это так? Любая помощь будет оценена.
Заранее спасибо