Я инженер-программист, работающий над машинным обучением. Насколько я понимаю, линейная регрессия (например, OLS) и линейная классификация (например, логистическая регрессия и SVM) делают прогноз на основе внутреннего произведения между обучаемыми коэффициентами и характеристическими переменными :
Мой вопрос: после обучения модели (то есть после вычисления коэффициентов ), имеет ли место значение, когда коэффициенты будут больше для характерных переменных, которые для модели важнее прогнозировать более точно?
Другими словами, я спрашиваю, можно ли использовать относительные величины коэффициентов для выбора признаков , просто упорядочив переменные по значению коэффициента, а затем выбрав элементы с наивысшими коэффициентами? Если этот подход верен, то почему он не упоминается для выбора функции (наряду с методами оболочки и фильтра и т. Д.).
Причина, по которой я спрашиваю об этом, заключается в том, что я столкнулся с обсуждением регуляризации L1 и L2 . Существует реклама, которая говорит:
Выбор встроенных функций часто упоминается как полезное свойство L1-нормы, чего нет в L2-норме. Это на самом деле результат L1-нормы, которая имеет тенденцию производить разреженные коэффициенты (объяснено ниже). Предположим, что модель имеет 100 коэффициентов, но только 10 из них имеют ненулевые коэффициенты, это фактически говорит о том, что «остальные 90 предикторов бесполезны в прогнозировании целевых значений».
Читая между строк, я бы предположил, что если коэффициент близок к 0, то переменная объекта с этим коэффициентом должна иметь небольшую предсказательную силу.
РЕДАКТИРОВАТЬ : я также применяю z-scaling к моим числовым переменным.
источник
Ответы:
Не за что. Величина коэффициентов напрямую зависит от шкал, выбранных для переменных, что является несколько произвольным решением моделирования.
Чтобы увидеть это, рассмотрим модель линейной регрессии, предсказывающую ширину лепестка радужки (в сантиметрах) по длине лепестка (в сантиметрах):
Наша модель достигает скорректированного значения R ^ 2 0,9266 и присваивает значение коэффициента 0,415755 переменной Petal.Length.
Однако выбор определения Petal.Length в сантиметрах был совершенно произвольным, и мы могли бы вместо этого определить переменную в метрах:
Конечно, это никак не влияет на подобранную модель - мы просто присвоили коэффициенту Petal.Length.Meters в 100 раз больше, чем Petal.Length (0.415755). Все остальные свойства модели (скорректированные R ^ 2, t-статистика, p-значения и т. Д.) Идентичны.
Как правило, при подборе регуляризованных линейных моделей сначала необходимо нормализовать переменные (например, иметь среднее значение 0 и единичную дисперсию), чтобы избежать предпочтения одних переменных над другими на основе выбранных шкал.
Предполагая нормализованные данные
Даже если вы нормализовали все переменные, переменные с более высокими коэффициентами могут все еще не быть такими полезными в прогнозах, потому что независимые переменные редко устанавливаются (имеют низкую дисперсию). В качестве примера рассмотрим набор данных с зависимой переменной Z и независимыми переменными X и Y, принимающими двоичные значения
По построению, коэффициент для Y примерно в два раза больше, чем коэффициент для X, когда оба используются для предсказания Z с помощью линейной регрессии:
Тем не менее, X объясняет больше дисперсии в Z, чем Y (модель линейной регрессии, предсказывающая Z с помощью X, имеет значение R ^ 2 0,2065, в то время как модель линейной регрессии, предсказывающая Z с помощью Y, имеет значение R ^ 2 0,0511):
против:
Случай мультиколлинеарности
Третий случай, когда большие значения коэффициента могут быть обманчивыми, был бы в случае значительной мультиколлинеарности между переменными. В качестве примера рассмотрим набор данных, где X и Y сильно коррелированы, но W не сильно коррелирует с двумя другими; мы пытаемся предсказать Z:
Эти переменные в значительной степени имеют одинаковое среднее значение (0) и дисперсию (~ 1), а линейная регрессия присваивает гораздо более высокие значения коэффициента (в абсолютном значении) X (примерно 15) и Y (примерно -16), чем W ( примерно 2):
Тем не менее, среди трех переменных в модели W является наиболее важным: если вы удаляете W из полной модели, R ^ 2 падает с 0,833 до 0,166, в то время как если вы отбрасываете X или Y, то R ^ 2 практически не изменяется.
источник
«Важность особенности» - это очень скользкая концепция, даже когда все предикторы настроены на общую шкалу (что само по себе является нетривиальной проблемой во многих практических приложениях, включающих категориальные переменные или искаженные распределения). Поэтому, если вы избежите проблем с масштабированием, указанных в ответе @josliber, или проблемы с низким показателем прогнозирования, поднятой @dsaxton, у вас все еще будут дополнительные проблемы.
Например, более полезным показателем важности признака может быть отношение его коэффициента к предполагаемой ошибке его коэффициента. Высокий коэффициент с большой оценочной ошибкой не обязательно поможет при прогнозировании. Таким образом, одна только величина коэффициента, даже в предварительно масштабированной ситуации, не является хорошим ориентиром для «важности».
Тем не менее, предиктор может быть важен, даже если отношение его коэффициента к ошибке является низким (то есть он не является «статистически значимым»). Линейные модели обеспечивают возможность одновременного учета нескольких переменных предикторов, поэтому включение в модель «несущественного» предиктора может улучшить общую производительность, обеспечиваемую объединенным набором предикторов.
Кроме того, попытки выбрать «важные» переменные предиктора имеют тенденцию сильно зависеть от конкретной выборки данных и часто не распространяются на другие выборки, особенно если переменные коррелированы. Вы можете убедиться в этом сами, повторив выбор функций на нескольких выборках начальной загрузки одного и того же набора данных. Фрэнк Харрелл в этом ответе показывает, как использовать свой
rms
пакет в R для ранжирования важности функций, и отмечает в этом ответе, как использовать загрузчик для получения доверительных интервалов для рангов. Начальная загрузка может служить предостережением для тех, кто придает слишком большое значение «важности функций».Этот вопрос почти 3 года назад, на который указал @amoeba, также подробно описывает трудности, связанные с важностью функций в моделях множественной регрессии.
источник
Просто чтобы добавить к предыдущему ответу, сам коэффициент также не в состоянии отразить, насколько изменчивость демонстрирует предиктор, что оказывает большое влияние на то, насколько он полезен при прогнозировании. Рассмотрим простую модель
источник