В настоящее время я изучаю использование случайных лесов для прогнозирования будущих значений событий (моя модель ARIMA дала мне очень плохое прогнозирование, поэтому я пытаюсь оценить другие варианты). Я полностью осознаю, что плохие результаты могут быть связаны с тем, что у меня мало данных, а качество не самое лучшее. Мои исходные данные состояли просто из числа вхождений за дату. Затем я добавил отдельные столбцы, представляющие день, месяц, год, день недели (которые позже были закодированы как горячие), а затем я также добавил два столбца с запаздывающими значениями (один из них со значением, наблюдаемым в предыдущий день, а другой -со значением, наблюдаемым двумя днями ранее). Окончательные данные выглядят примерно так:
Count Year Month Day Count-1 Count-2 Friday Monday Saturday Sunday Thursday Tuesday Wednesday
196.0 2017.0 7.0 10.0 196.0 196.0 0 1 0 0 0 0 0
264.0 2017.0 7.0 11.0 196.0 196.0 0 0 0 0 0 1 0
274.0 2017.0 7.0 12.0 264.0 196.0 0 0 0 0 0 0 1
286.0 2017.0 7.0 13.0 274.0 264.0 0 0 0 0 1 0 0
502.0 2017.0 7.0 14.0 286.0 274.0 1 0 0 0 0 0 0
... ... ... ... ... ... ... ... ... ... ... ... ...
Затем я обучил случайный лес, в котором подсчет меток (что я пытаюсь предсказать) и все остальные функции. Я также сделал 70/30 разделение поезда / теста. Обучил его по данным поезда, а затем использовал набор тестов для оценки модели (код ниже):
rf = RandomForestRegressor(n_estimators = 1000, random_state = 42)
rf.fit(train_features, train_labels)
predictions = rf.predict(test_features)
Полученные результаты были довольно хорошими: MAE = 1,71 и точность 89,84%.
Первый вопрос: есть ли вероятность, что я безумно перезаписываю данные? Я просто хочу убедиться, что я не делаю какой-то большой ошибки, которая дает мне лучшие результаты, чем я должен получить.
Второй вопрос: с обученной моделью, как я могу использовать RF для предсказания будущих значений? Моя цель состояла в том, чтобы давать еженедельные прогнозы для числа случаев, но я застрял на том, как это сделать.
Если бы кто-то, кто немного лучше и опытнее меня в этом, мог помочь, я был быочень ценится! Спасибо