Может ли модель дерева решений предсказать будущее? - PullRequest
0 голосов
/ 02 апреля 2020

Я пытаюсь построить модель, которая прогнозирует объем доставки каждого месяца, недели и дня. Я обнаружил, что модель, основанная на дереве решений, работает лучше, чем линейная регрессия.

Но я прочитал несколько статей о машинном обучении, и там говорится, что модель, основанная на дереве решений, не может предсказать будущее, которое модель не изучала. (вопросы экстраполяции)

Так что я думаю, что это означает, что если данные распределены между датами, которые имеют данные обучения, модель может хорошо задаться, но если дата данных выходит за пределы диапазона, она не может .

Я хотел бы подтвердить, правильно ли я понимаю. некоторые публикации показывают прогноз для данных на основе даты и времени с использованием модели случайного леса, и это меня запутывает.

Также, пожалуйста, дайте мне знать, если есть какой-либо способ преодолеть проблемы экстраполяции в модели на основе дерева решений.

Ответы [ 2 ]

0 голосов
/ 06 апреля 2020

Здесь могут быть разные формы экстраполяции. Как уже упоминалось, классическое дерево решений для классификации может предсказывать только те значения, с которыми оно столкнулось в процессе обучения / создания. В этом смысле вы не будете предсказывать какие-либо ранее невидимые значения. Эта проблема может быть исправлена, если классификатор предсказывает относительные обновления вместо абсолютных значений. Но вам нужно иметь некоторое представление о ваших данных, чтобы определить, что лучше всего подходит для разных случаев. То же самое относится и к дереву решений, используемому для регрессии.

Следующая проблема с «экстраполяцией» состоит в том, что деревья решений могут работать плохо, если ваши данные обучения со временем меняют статистику. Опять же, я бы предложил предсказать обновления отношений. В противном случае прогнозы, основанные на данных обучения из более недавнего прошлого, могут дать лучшие прогнозы. Поскольку отдельные деревья решений не могут быть обучены в режиме онлайн, вам придется создавать новое дерево решений каждые x временных шагов.

Если пойти дальше, я бы сказал, что вы захотите начать думать в конечные автоматы и пытается использовать ваш классификатор для прогнозирования состояния. Но это довольно неизведанная область теории для деревьев решений с момента моей последней проверки. Это будет работать лучше, если у вас уже есть некоторые модели для ваших отношений данных.

0 голосов
/ 02 апреля 2020

Это зависит от данных. Дерево решений прогнозирует значение класса любой выборки в диапазоне [минимум значения класса данных обучения, максимум значения класса данных обучения]. Например, пусть есть пять выборок [(X1, Y1), (X2, Y2), ..., (X5, Y5)], а хорошо обученное дерево имеет два узла принятия решений. Первый узел N1 включает в себя (X1, Y1), (X2, Y2), а другой узел N2 включает в себя (X3, Y3), (X4, Y4) и (X5, Y5). Тогда дерево будет предсказывать новую выборку как среднее значение Y1 и Y2, когда выборка достигнет N1, но оно будет предсказывать новую выборку как людей Y3, Y4, Y5, когда выборка достигнет N2.

По этой причине, если значение класса новой выборки может быть больше максимального значения класса обучающих данных или может быть меньше минимального значения класса обучающих данных, не рекомендуется использовать решение дерево. В противном случае, основанная на дереве модель, такая как случайный лес, показывает хорошую производительность.

...