Как тренировать модель AR(p) несколько раз в Python
Я использую модель AR(p) для прогнозирования данных временных рядов. Модель работает нормально и прогнозирует значения с MSE ~ 5%. Я попытался обучить модель, используя цикл for, чтобы получить меньшее значение ошибки, используя приведенный ниже фрагмент кода, но я получаю одно и то же значение MSE при каждом запуске.
train, test = client_A_array[1:80], client_A_array[80:]
for i in range(100):
# train autoregression
model = AR(train)
model_fit = model.fit()
# make predictions
predictions = model_fit.predict(start=len(train), end=len(train) + len(test) - 1, dynamic=True)
error = mean_squared_error(test, predictions)
print('Test MSE: %.3f' % error)
# here we use an AR(p) model of statsmodels
ar_a = AR(client_A_array)
# we set the maximum estimation lag, but the algorithm selects the best lag according to Bayesian Information Criteria
p_a = ar_a.fit(maxlag = max_estimation_lag - 1, ic='bic')
to_be_predicted_array = client_A_array[-predict_len:]
# below pads the original data with zeros to be able forecast the future
client_A_array = np.pad(client_A_array, (0, predict_len), 'constant')
# here we predict the last predict_len observations for testing
predicted_ta = p_a.predict(start=len(client_A_array) - predict_len, end = len(client_A_array) - 1 , dynamic = True)
Может кто-нибудь сказать мне, как поступить, я гуглил, но не нашел решения. Я могу поделиться своим кодом, если это необходимо. Я думаю, что мне нужно добавить немного контролируемого обучения, но я не знаю, как это сделать.