Методы отбора переменных в регрессионные модели

Методы отбора переменных в регрессионные модели

При всем существующем разнообразии методов Data Mining, практически все они сталкиваются с общей трудностью – вопросом отбора значимых для модели входных признаков (в зарубежной литературе такая проблема известна как feature selection).Сокращение числа независимых переменных призвано уменьшить размерность модели не только с тем, чтобы удалить из нее все незначащие признаки, не несущие в себе какой-то полезной для анализа информации, и тем самым упростить модель, но и чтобы устранить избыточные признаки. Дублирование информации в составе избыточного признака не просто не улучшает качество модели, но и порой, наоборот, ухудшает его (как, например, в случае с мультиколлинеарностью).

Очевидно, что одним из возможных выходов из сложившейся проблемы могло бы стать построение модели на всех возможных комбинациях наборов входных признаков с последующим отбором того варианта, который обладал бы наилучшей описательной способностью результирующего признака $Y$ и при этом содержал бы минимум независимых переменных. Однако такое решение возможно лишь при наличии незначительного количества факторов-претендентов на включение в модель. В случае же относительно большого списка потенциальных признаков подобная методика представляется достаточно затруднительной, так как количество моделей, которые необходимо будет построить, оказывается крайне велико и в общем случае равно $2^n$ – 1 штука (так называемое "проклятие" размерности). Ввиду этого необходимо иметь на вооружение какие-то иные алгоритмы отбора наиболее важных факторов, которые потребовали бы значительно меньших затрат усилий, а соответственно и времени.

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

  • процедура Forward Selection (прямой отбор),
  • процедура Backward Elimination (обратное исключение),
  • процедура Stepwise,
  • процедура Best Subsets (лучшие подмножества).

Рассмотрим работу данных методов на примере множественной регрессии.

Частный F-тест

Перед тем, как начать знакомиться непосредственно с самими методами отбора переменных в регрессионные модели, рассмотрим сущность критерия, называемого частным F-тестом, на основе которого, собственно, и разработаны первые 3 методики.

Критерий призван оценить целесообразность ввода дополнительной независимой переменной в линейную модель множественной регрессии, уравнение которой, как известно, имеет вид:

$Y= \beta_0+ \beta_1 X^ < >+ \dots + \beta_n X^ < >+ \varepsilon$, (1)

$Y$ – зависимая переменная,

$X^< >,\,X^< >,\,\dots,\,X^< >$ – независимые переменные,

$\beta_0,\,\beta_1,\,\dots,\,\beta_n$ – параметры модели,

$\varepsilon$ – случайная составляющая.

Идея этого критерия основана в первую очередь на таком базовом понятии, как сумма квадратов регрессии $SSR$:

$\widehat$ – оценка, полученная на основе регрессионной модели,

$\overline$ – среднее по всем наблюдениям $Y$,

$n$ – объем выборки.

Данный показатель характеризует ту долю общей вариации (изменчивости) результативного признака $Y$, которую получилось объяснить при помощи регрессии. Проиллюстрируем данный факт на примере простейшей однофаторной линейной модели (рисунок 1).

Поясним рисунок 1. Очевидно, что если бы регрессия не включала бы ни одного фактора, то модель бы выдавала значения, равные $\overline$. Соответственно, разности $Y_i\,-\,\overline\,(i = 1,\,2,\,\dots,\,n)$ представляли бы собой необъясненные случайные отклонения. Благодаря же вводу независимой переменной $X$ оценки, полученные на основании модели, стремятся оказаться как можно ближе к реальным значениям случайной величины $Y$. В связи с этим каждое расстояние $Y_i\,-\,\overline$ может быть разложено на 2 составляющие:

$\widehat\,-\,\overline $ – было объяснено регрессией,

$Y_i\,-\,\widehat $ – не удалось объяснить.

Соответственно, модель оказывается тем лучше, чем ближе к нулю величины $Y_i\,-\,\widehat,\,i = 1,\,2,\,\dots,\,n$.

Теперь предположим, что на основе переменных $X^< >,X^< >,\dots,X^ < >$ была построена регрессионная модель, для которой доля изменчивости, объясненная линейной зависимостью, составила величину $SSR^< >$. Допустим, что мы хотим ввести в модель новый признак $X^< >$.

Сумма квадратов регрессии $SSR$, построенной на независимых переменных $X^< >,\,X^< >,\,\dots\,X^< >$ и $X^< >$, составляет $SSR< >$.

Очевидно, что $SSR^< >\geq SSR^< >$.

Рассчитаем, насколько увеличилась объясняющая способность модели в результате ввода новой переменной $X^< >$:

Таким образом, $SSR^< >$ можно назвать вкладом переменной $SSR^< >$ в объяснение общей изменчивости результативного признака $Y$. Очевидно, чем больше данное значение, тем весомей этот вклад. Тогда возникает вопрос:

"Каким образом следует выбрать порог для $SSR^< >$, чтобы признать эту величину достаточно большой и, соответственно, принять решение о значимости признака $^< >$?".

С ответом на этот вопрос может помочь так называемый частный F-тест. По сути, данный критерий призван проверить следующую гипотезу:

H0: вклад $SSR$, вносимый $X^< >$, не достаточно велик, ввиду чего эту переменную не следует включать в модель

H0: вклад $SSR^< >$, вносимый $X^< >$, значительный, и потому эту переменную следует включить в модель

Для того чтобы проверить эти гипотезы, следует перейти от рассматриваемого показателя $SSR^< >$ к статистике следующего вида:

где $MSE^< >$ представляет собой сумму квадратов ошибок $SSE$ (модель построена по переменным $X^< >,\,X^< >,\,\dots\,X^< >$ и $X^< >$), приходящуюся на одну степень свободы $df^< >$.

Значение $MSE^< >$ может быть найдено по формуле:

$Y_i$ – истинное значение результирующей переменной, $\widehat$ – оценка, полученная на основании регрессионной модели, $n$ – объем выборки, $k$ – количество переменных исходной модели (без $X^< >$).

Доказано, что статистика, сформированная в соответствии с (4), при справедливости гипотезы H0 распределена по закону Фишера (F-распределение). Тогда проверка гипотезы H0 будет сводиться к следующей последовательности действий:

  1. Задаемся уровнем значимости $\alpha$, например 0,01 или 0,05. Данная величина характеризует риск принятия неправильного решения.
  2. По специальным таблицам находим $00\,\alpha$-процентную точку $K_$ распределения Фишера со степенями свободы $d1= 1$ и $d2 = n-k-2$. Это значение будет являться граничным для статистики $ \gamma$ (4).
  3. Сравниваем найденную $100\,\alpha$-процентную точку $K_$ со значением статистики $\gamma$. Если окажется, что $\gamma\,>\,K_$, то делается вывод о значимости признака $X^< >$ и, соответственно, его следует включить в модель (отдается предпочтение гипотезе H1 с вероятностью $\alpha$ ошибиться). Если же $\gamma\,\leq \,K_ $, то принимается решение о неэффективности включения переменной $X^< >$ в модель (то есть гипотеза H0 принимается с вероятностью $1\,-\,\alpha$ как не противоречащая экспериментальным данным).

Замечание. Вопрос проверки гипотез H0 и H1 на основе F-критерия можно рассмотреть несколько в ином русле, а именно, не задаваясь уровнем значимости $\alpha$, найти вероятность того, что случайная величина $\gamma$ примет значение большее, чем рассчитанный критерий. Так как закон распределения данной статистики нам известен, то сделать это совсем не сложно. Соответствующую величину можно найти следующим образом:

$\alpha_ = 1\,-\,pF\bigl(\gamma,\,d_1,\, d_2\bigr)$,

$pF\bigl(\gamma,\,d_1,\, d_2\bigr)$ – значение функции распределения Фишера в точке $\gamma$; $d_1,\, d_2$ – количество степеней свободы.

Теперь, если найденная величина $\alpha_$ окажется достаточно маленькой, то следует принять решение о включении переменной $X^< >$ в модель. В противном случае эту идею нужно отвергнуть.

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

Методы отбора переменных

Метод прямого отбора (Forward Selection)

Данный алгоритм включает в себя следующие шаги:

  1. Из списка всех возможных входных переменных выбирается та, которая имеет наибольшую корреляцию с $Y$, после чего модель, содержащая лишь одну выбранную независимую переменную, проверяется на значимость при помощи частного F-критерия. Если значимость модели не подтверждается, то алгоритм на этом заканчивается за неимением существенных входных переменных. В противном случае эта переменная вводится в модель и осуществляется переход к следующему пункту алгоритма. Следует отметить, что в данном случае проверка на значимость всей модели в целом будет равносильна проверке на значимость выбранной независимой переменной, так как на данном этапе модель еще не содержит других входных переменных.
  2. По всем оставшимся переменным на основании формулы (4) рассчитывается значение статистики $ \gamma$, которая представляет собой отношение прироста суммы квадратов регрессии, достигаемая за счет ввода в модель соответствующей дополнительной переменной (по сравнению с величиной $SSR^< >$, рассчитанной только лишь на основе ранее уже введенных переменных), к величине $MSE^ < >$.
  3. Из всех переменных-претендентов на включение в модель выбирается та, которая имеет наибольшее значение критерия, рассчитанного в пункте 2.
  4. Проводится проверка на значимость выбранной в пункте 3 независимой переменной. Если ее значимость подтверждается, то она включается в модель, и осуществляется переход к пункту 2 (но уже с новой независимой переменной в составе модели). В противном случае алгоритм останавливается.

Процедуру отбора независимых переменных по методу Forward Selection можно представить в виде блок-схемы, изображенной на рисунке 2.

Метод обратного исключения (Backward Elimination)

Данная процедура похожа на предыдущий метод, но с тем отличием, что теперь уже изначально включены в модель все переменные и постепенно осуществляется "отсеивание" тех из них, которые не проходят проверку на значимость.

  1. В модель включаются все имеющиеся независимые переменные.
  2. По переменным, включенным к данному моменту в модель, рассчитывается величина, представляющая собой разность между суммой квадратов регрессии, построенной по всем текущим переменным модели, и аналогичным показателем, рассчитанным теперь уже без учета одной переменной, для которой вычисляется данный показатель. По каждой найденной величине $SSR_>$ рассчитывается статистика $\gamma$.
  3. Выбирается переменная с минимальным значением $\gamma$.
  4. Решается вопрос о целесообразности присутствия в модели выбранной в пункте 3 переменной. Если она не проходит проверку на значимость, то производится ее исключение из модели, после чего осуществляется переход к пункту 2 алгоритма, но уже из расчета, что указанная переменная в модели не присутствует. В противном случае, когда переменная оказывается значимой, алгоритм останавливается.

На рисунке 3 приведена блок-схема процедуры отбора факторов методом обратного исключения.

Метод последовательного отбора (Stepwise)

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

Ниже на рисунке 4 приведена блок-схема соответствующего метода.

Отбор на основе "лучших подмножеств" (Best Subsets)

Данный метод предусматривает, что аналитик изначально должен определиться с максимально возможным количеством $p$ входных признаков, задействованных в модели. Далее поступают следующим образом: по всему перечню переменных строятся $p$ групп моделей, причем первую такую группу составляют все однофакторные модели, которые только можно построить на имеющемся наборе признаков, соответственно, во вторую попадают все двухфакторные модели и т. д. вплоть до $p$-й группы (куда входят все модели, включающие $p$ факторов). По всем полученным моделям рассчитываются статистические показатели, характеризующие качество модели, такие как коэффициент детерминации $R^2$, скорректированный коэффициент детерминации $R^2_$, стандартная ошибка оценивания $s$ (равная квадратному корню из суммы квадратов ошибки модели, приходящейся на одну степень свободы $MSE$) и другие. Затем из каждой полученной группы отбираются только $k$ самых лучших моделей с точки зрения рассчитанных показателей, после чего формируется отчет, включающий $k\,\times\,p$ моделей, на основании которого аналитик непосредственно делает окончательное заключение.

Пример использования алгоритмов отбора

Разберем механизм работы описанных выше методов отбора переменных в линейную модель множественной регрессии на конкретном примере. В качестве исследуемых признаков возьмем показатели из банковской сферы, приведенные в таблице 1.

📎📎📎📎📎📎📎📎📎📎