Шаговая регрессия (пример)
Материал из MachineLearning.
Строка 19: | Строка 19: | ||
::<tex> y= f(\beta, x) +\mathbf{\varepsilon}</tex>. | ::<tex> y= f(\beta, x) +\mathbf{\varepsilon}</tex>. | ||
- | Алгоритм заключается в последовательном добавлении и удалении признаков согласно определённому критерию. Обычно используется [[Критерий Фишера|F- критерий]], который имеет вид | + | Алгоритм заключается в последовательном добавлении и удалении признаков согласно определённому критерию. Обычно используется [[Критерий Фишера|<tex> F </tex> -критерий]], который имеет вид |
::<tex>F={\frac{S_1-S_2}{S_2}}{\frac{m-p_2}{p_1-p_2}</tex> | ::<tex>F={\frac{S_1-S_2}{S_2}}{\frac{m-p_2}{p_1-p_2}</tex> | ||
Строка 33: | Строка 33: | ||
содержащий элементы зависимой переменной. Назначена линейная модель <tex>\mathbf{y}=X\mathbf{\beta}+\mathbf{\varepsilon}</tex>. | содержащий элементы зависимой переменной. Назначена линейная модель <tex>\mathbf{y}=X\mathbf{\beta}+\mathbf{\varepsilon}</tex>. | ||
- | Требуется найти набор признаков (столбцов матрицы <tex> X </tex>) , удовлетворяющий F-критерию. | + | Требуется найти набор признаков (столбцов матрицы <tex> X </tex>) , удовлетворяющий <tex>F</tex>-критерию. |
== Описание алгоритма == | == Описание алгоритма == | ||
- | Обозначим текущий набор признаков <tex> A </tex>. Начальным набором является пустой набор <tex> A= \emptyset</tex>. К текущему набору <tex> A </tex> присоединяется по одному признаку, который дoставляет максимум F-критерию или | + | Обозначим текущий набор признаков <tex> A </tex>. Начальным набором является пустой набор <tex> A= \emptyset</tex>. К текущему набору <tex> A </tex> присоединяется по одному признаку, который дoставляет максимум <tex>F</tex>-критерию или |
::<tex> j^*= arg \max_{j\in J}F_add= arg \max_{j\in J}{\frac{S(A)-S(A\cup x^j)}{S(A\cup x^j)}} </tex> | ::<tex> j^*= arg \max_{j\in J}F_add= arg \max_{j\in J}{\frac{S(A)-S(A\cup x^j)}{S(A\cup x^j)}} </tex> | ||
- | Добавляется несколько признаков, пока значение критерия на шаге не станет меньше заданного <tex> F_1 </tex>. Затем признаки удаляются по одному так, чтобы значение F-критерия было минимально: | + | Добавляется несколько признаков, пока значение критерия на шаге не станет меньше заданного <tex> F_1 </tex>. Затем признаки удаляются по одному так, чтобы значение <tex>F</tex>-критерия было минимально: |
::<tex> j^*= arg \min_{j\in J}F_del= arg \min_{j\in J}{\frac{S(A/x^j)-S(A)}{S(A)}} </tex> | ::<tex> j^*= arg \min_{j\in J}F_del= arg \min_{j\in J}{\frac{S(A/x^j)-S(A)}{S(A)}} </tex> |
Версия 22:56, 24 апреля 2010
|
Логистическая регрессия - частный случай обобщенной линейной регрессии. Предполагается, что зависимая переменная принимает два значения и имеет биномиальное распределение
В данной статье рассматриваются два алгоритма отбора признаков линейной регрессии: метод наименьших углов и шаговая регрессия.
Метод наименьших углов (англ. least angle regression, LARS) - алгоритм отбора признаков в задачах линейной регрессии. При большом количестве свободных переменных возникает проблема неустойчивого оценивания весов модели. LARS предлагает метод выбора такого набора свободных переменных, который имел бы наиболее значимую статистическую связь с зависимой переменной. Также LARS предлагает метод оценки весов.
Шаговая регрессия (stepwise regression)
Цель пошаговой регрессии состоит в отборе из большого количества предикатов небольшой подгруппы переменных, которые вносят наибольший вклад в вариацию зависимой переменной.
Пусть нам задана регрессионная модель
- .
Алгоритм заключается в последовательном добавлении и удалении признаков согласно определённому критерию. Обычно используется -критерий, который имеет вид
где индекс 2 соответствует второй регрессионной модели , индекс 1 соответствует первой регрессионной модели, которая является модификацией второй модели; - соответствующие числа параметров модели; - сумма квадратов невязок, задающий критерий качества модели:
- .
Шаговая регрессия включает два основных шага: шаг Add (последовательное добавление признаков) и шаг Del (последовательное удаление признаков).
Постановка задачи
Задана выборка - матрица , столбцы которой соответствуют независимым переменным, а строки - элементам выборки и вектор , содержащий элементы зависимой переменной. Назначена линейная модель .
Требуется найти набор признаков (столбцов матрицы ) , удовлетворяющий -критерию.
Описание алгоритма
Обозначим текущий набор признаков . Начальным набором является пустой набор . К текущему набору присоединяется по одному признаку, который дoставляет максимум -критерию или
Добавляется несколько признаков, пока значение критерия на шаге не станет меньше заданного . Затем признаки удаляются по одному так, чтобы значение -критерия было минимально:
Признаки удаляются , пока значение F-критерия на шаге не станет больше заданного критического значения .
Критические значения и для каждого шага определяются по таблице Фишера c заданным уровнем значимости со степенями свободы и .
Остановка алгоритма
Останов алгоритма производится при достижении заданного минимума критерием Маллоуза :
- ,
где - среднеквадратичная ошибка, вычисленная для модели, настроенной методом наименьших квадратов на всем множестве признаков, - сложность модели.
Критерий штрафует модели с большим количеством признаков. Минимизация критерия позволяет найти множество, состоящее из значимых признаков.
Вычислительный эксперимент
Показана работа алгоритма в серии задач, основанных как на реальных, так и на модельных данных.
Пример 1
Рассмотрим пример на модельных данных. Сравним два алгоритма: Метод наименьших углов и Шаговую регрессию. Назначена линейная модель, выборка состоит из 20 объектов и 10 признаков. По оси абсцисс показаны номера признаков, по оси ординат- параметры, полученные при использовании Метода наименьших углов. Красным цветом обозначены признаки, выбранные при помощи Шаговой регрессии. Мы видим, что Шаговой регрессией были выбраны 4 признака, которым алгоритмом Lars были присвоены наибольшие значения параметров .
Пример 2
Рассмотрим пример на реальных данных : данные по кредитованию одним из немецких банков . Проведем проверку алгоритма на задаче из репозитория UCI: Statlog (German Credit Data) Data Set . Объектами являются анкеты людей, желавших получить кредит в банке. Изначально анкеты содержали 20 пунктов, таких как состояние банковсого счета заемщика, информация о его кредитной истории, цель займа, величина займа, возраст заемщика, время с момента трудоустройства на текущее место работы и другие. Но так как некоторые из них не были числовыми, а многие алгоритмы (в том числе рассматриваемый в данной статье) работают только с числовыми признаками, то из 20 разнородных признаков было составлено 24 числовых. В выборке представлено 256 объектов.
График 1
На графике показана зависимость критерия Маллоуза от количества признаков. Алгоритмом Stepwise было выбрано 13 признаков.
График 2
Аналогично примеру 1 сравним два алгоритма. По оси абсцисс показаны номера признаков, по оси ординат- параметры, полученные при использовании Метода наименьших углов. Красным цветом обозначены признаки, выбранные при помощи Шаговой регрессии. В отличие от первого примера на модельных данных, Шаговой регрессией были выбраны несколько признаков, которым Lars присвоил параметры, близкие к нулю. Одним из недостатков метода Шаговой регрессии является то, что важная переменная может быть никогда не включена в модель, а второстепенные признаки будут включены.
График 3
Сравним для двух моделей значения критерия Маллоуза, критерия Акаике и критерия SSE(сумма квадратов регрессионных остатков). Сплошной линией показаны критерии для Шаговой регрессии, пунктирной- для Метода наименьших углов.
График 4
На графике показана зависимость значения критерия Маллоуза от количества признаков для обучающей и тестовой выборки. В качестве обучающей выборки были выбраны 200 объектов, в качестве тестовой- остальные 56. График для Шаговой регрессии.
График 5
На графике показана зависимость значения критерия Маллоуза от количества признаков для обучающей и тестовой выборки. В качестве обучающей выборки были выбраны 200 объектов, в качестве тестовой- остальные 56. График для метода наименьших углов.