Почему мультиколлинеарность не проверяется в современной статистике / машинном обучении


44

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

Ответы:


51

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

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

Однако можно заметить, что случайный лес имеет параметр регуляризации по числу переменных, выбранных при каждом разделении: чем лучше разделение, тем больше mtry(больше возможностей для выбора; некоторые из них лучше других), но это также делает каждое дерево более тесно коррелированным с другим деревом, что несколько смягчает диверсифицирующий эффект оценки множества деревьев в первую очередь. Эта дилемма заставляет искать правильный баланс, обычно достигаемый с помощью перекрестной проверки. Важно отметить, что, в отличие от регрессионного анализа, никакая часть модели случайного леса не подвергается воздействию коллинеарных переменных: даже если две переменные обеспечивают одинаковую чистоту дочернего узла, вы можете выбрать одну из них, не ухудшая качество результата.

Аналогично, для чего-то вроде SVM вы можете включить больше предикторов, чем функций, потому что уловка ядра позволяет вам работать исключительно с внутренним произведением этих векторов функций. Наличие большего количества возможностей, чем наблюдений, было бы проблемой в регрессиях, но хитрость ядра означает, что мы оцениваем коэффициент только для каждого образца, в то время как параметр регуляризации снижает гибкость решения - что, безусловно, хорошо, так как оценка параметров дляCNNнеограниченные наблюдения всегда будут давать идеальную модель на тестовых данных - и мы возвращаемся к полному кругу, возвращаясь к сценарию регрессии гребня / LASSO / эластичной сети, в котором гибкость модели ограничена как проверка чрезмерно оптимистичной модели. Обзор условий KKT проблемы SVM показывает, что решение SVM уникально, поэтому нам не нужно беспокоиться о проблемах идентификации, возникших в случае регрессии.

Наконец, рассмотрим фактическое влияние мультиколлинеарности. Это не меняет прогнозирующую способность модели (по крайней мере, на данных обучения), но вредит нашим оценкам коэффициентов. В большинстве приложений ML мы не заботимся о самих коэффициентахпросто потеря наших модельных прогнозов, поэтому в этом смысле проверка VIF на самом деле не отвечает на дополнительный вопрос. (Но если небольшое изменение в данных вызывает огромные колебания в коэффициентах [классический признак мультиколлинеарности], это также может изменить прогнозы, и в этом случае нам все равно - но все это [мы надеемся!] Характерно, когда мы выполнить перекрестную проверку, которая в любом случае является частью процесса моделирования.) Регрессия легче интерпретируется, но интерпретация может быть не самой важной целью для некоторых задач.


1
При моделировании причинной регрессии с использованием таких методов, как оценка склонности или регулирование регрессии, коллинеарность может быть проблемой даже для прогнозирования, поскольку обычно цель состоит в том, чтобы подобрать модель либо исключительно в контрольной / неэкспонированной группе, а затем оценить результаты с использованием этой модели в экспериментальном группа, или объединить две группы, но использовать переменную индикатора для измерения эффекта, контролирующего другие факторы, нахождения в экспериментальной группе.
Ely

1
Если коллинеарность создает ошибки в коэффициентах, то расширенная регрессия в экспериментальной группе не будет работать. Аналогичным образом, оценка коэффициента для индикаторной переменной, получившего лечение, может быть отброшена, если выполнить одну регрессию по обоим подвыборкам. Современные методы машинного обучения обычно не используются для анализа этих типов причинно-следственных связей, и поэтому никому не приходилось сталкиваться с необходимостью использования инструментов для их учета.
Ely

@ely, в вашем первом примере, коллинеарность (среди ковариат, а не лечения) не вызывает проблем, потому что опять же цель - прогнозирование неэффективных результатов, а колинеарность - не проблема с прогнозированием. Кроме того, современные методы ОД часто используются в причинно-следственной связи; обобщенное ускоренное моделирование и случайные леса широко используются для оценки показателей предрасположенности, а TMLE использует методы ML для расчета контрфактических результатов. Я бы сказал, что сила причинных методов заключается в том, что колинеарность обычно не является для них проблемой.
Ноя

@Noah Обычно имеет значение интерпретация коэффициента воздействия (и интерпретация других оценок эффекта), а не только грубая точность прогноза. Я понимаю, что мой комментарий не прояснил это, но именно поэтому это проблема. Если общий прогноз является хорошим, но не основывается на истинной связи с коэффициентом, оцененным для воздействия, обычно это нежелательная модель для причинного вывода.
Ely

21

Причина в том, что цели «традиционной статистики» отличаются от многих методов машинного обучения.

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

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

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


11

Похоже, здесь есть основополагающее предположение, что не проверка на коллинеарность является разумной или даже лучшей практикой. Это кажется ущербным. Например, проверка на идеальную коллинеарность в наборе данных со многими предикторами покажет, являются ли две переменные на самом деле одинаковыми, например, дата рождения и возраст (пример взят из Dormann et al. (2013), Ecography , 36 , 1, pp 27–46). ). Я также иногда видел проблему совершенно коррелированных предикторов, возникающих в соревнованиях Kaggle, где участники на форуме пытаются устранить потенциальных предикторов, которые были анонимными (то есть ярлык предиктора скрыт, распространенная проблема в Kaggle и Kaggle-подобных соревнованиях).

Кроме того, в машинном обучении все еще существует активность выбора предикторов - идентификация высококоррелированных предикторов может позволить работнику найти предикторы, которые являются прокси для другой базовой (скрытой) переменной, и в конечном итоге найти одну переменную, которая лучше всего работает для представления скрытой переменной или альтернативно предложите переменные, которые могут быть объединены (например, через PCA).

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


9

Основная проблема с мультиколлинеарностью заключается в том, что она портит коэффициенты (бета) независимых переменных. Вот почему это серьезная проблема, когда вы изучаете отношения между переменными, устанавливаете причинность и т. Д.

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

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


4
Даже с идеальной коллинеарностью прогнозы хорошо определены.
whuber

@whuber, если вы используете OLS, пакет stat может выдать ошибку, потому что он не сможет инвертировать матрицу. Умные могут отбросить одну из независимых переменных и двигаться дальше.
Аксакал

2
Если вы используете обобщенное обратное, то эта особенность не является проблемой.
аналитик

1
Я не следую вашей логике, Аксакал: пытаетесь ли вы предположить, что методы машинного обучения отличаются от статистических методов тем, что у первых почему-то нет проблем с матрицами пониженного ранга? Это интересная идея для изучения.
whuber

1
@user, независимая переменная почти всегда коррелируется, и обычно это нормально. Только совершенная мультиколлинеарность вызывает дефицит ранга. Мультиколлинеарность относится к очень сильным корреляциям и, как правило, нежелательна, но, как я писал ранее, во многих случаях это неопасная проблема.
Аксакал

7

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

Кроме того, мой ответ на вопрос « Когда LASSO выбирает коррелированные предикторы » может оказаться полезным для вас.


1

Я думаю, что мультиколлинеарность должна быть проверена в машинном обучении. И вот почему: предположим, что у вас есть две сильно коррелированные особенности X и Y в нашем наборе данных. Это означает, что плоскость ответа не является надежной (небольшое изменение в данных может оказать существенное влияние на ориентацию плоскости ответа). Что подразумевает, что прогнозы модели для данных указывают далекоот линии, где X и Y имеют тенденцию падать, не надежны. Если вы используете свою модель для прогнозов для таких точек, прогнозы, вероятно, будут очень плохими. Другими словами, когда у вас есть две сильно коррелированные особенности, в качестве модели вы изучаете плоскость, где данные в основном располагаются в одну линию. Поэтому важно удалить сильно коррелированные функции из ваших данных для предотвращения ненадежных моделей и ошибочных прогнозов.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.