Многомерные адаптивные регрессионные сплайны, широко известные как MARS, — это алгоритм, который лучше всего подходит для многомерных и сложных наборов данных нелинейных отношений. Его можно рассматривать как обобщенную форму пошаговой регрессии (пошаговая регрессия сначала выполняет прямой выбор, когда она начинает загрузку модели, а затем сокращает или отбирает назад, чтобы удалить переменные, которые не помогают значительно снизить частоту ошибок).
Он строит кусочно-линейную функцию, состоящую из правой и левой функций —
Эта функция аналогична выпрямленной линейной функции нейронной сети, где отправной точкой является сам ввод или 0. MARS использует эту функцию для создания узлов, и она известна как сплайн. Эти функции всегда генерируются в паре левой функции и правой функции.
Затем MARS генерирует несколько таких функций, которые мы называем базовой функцией для всех входных переменных, а затем запускает линейную регрессию на выходе каждой базовой функции. Выбор базисной функции происходит аналогично модели пошаговой регрессии, т.е.
- Он запускает прямой выбор, загружая модель с несколькими базовыми функциями.
- Он запускает отсечение или обратный отбор, при котором он начинает отбрасывать базовые функции до тех пор, пока не достигнет локальных минимумов глобальной перекрестной проверки.
Выбор переменной происходит в алгоритме MARS автоматически.
Преимущества MARS —
- Он использует только те базисные функции, которые дают наилучшие результаты для модели.
- Это делает автоматический выбор функций.
- Он может обрабатывать как качественные, так и количественные предикторы.
Недостатки MARS —
- Модель MARS подходит медленнее, чем любая модель OLS/GLS.
Библиотека Python для MARS — py-earth.
Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Присоединяйтесь к нашему сообществу Discord.