Шаговая регрессия (пример)

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
Строка 58: Строка 58:
Критерий штрафует модели с большим количеством признаков. Минимизация критерия позволяет найти множество, состоящее из значимых признаков.
Критерий штрафует модели с большим количеством признаков. Минимизация критерия позволяет найти множество, состоящее из значимых признаков.
 +
== Вычислительный эксперимент ==
 +
Показана работа алгоритма в серии задач, основанных как на реальных, так и на модельных данных.
 +
 +
=== Пример 1 ===
 +
 +
Рассмотрим пример на модельных данных. Сравним два алгоритма: Метод наименьших углов и Шаговую регрессию. Назначена линейная модель, выборка состоит из 20 объектов и 10 признаков. По оси абсцисс показаны номера признаков, по оси ординат- параметры, полученные при использовании Метода наименьших углов. Красным цветом обозначены признаки, выбранные при помощи Шаговой регрессии. Мы видим, что Шаговой регрессией были выбраны 4 признака, которым алгоритмом Lars были присвоены наибольшие значения параметров <tex> \beta </tex>.
 +
 +
[[Изображение:sample8.png|800px]]
 +
 +
=== Пример 2 ===
 +
Рассмотрим пример на реальных данных : данные по кредитованию одним из немецких банков .
 +
Проведем проверку алгоритма на задаче из репозитория UCI: [http://archive.ics.uci.edu/ml/datasets/Statlog+%28German+Credit+Data%29 Statlog (German Credit Data) Data Set ]. Объектами являются анкеты людей, желавших получить кредит в банке. Изначально анкеты содержали 20 пунктов, таких как состояние банковсого счета заемщика, информация о его кредитной истории, цель займа, величина займа, возраст заемщика, время с момента трудоустройства на текущее место работы и другие. Но так как некоторые из них не были числовыми, а многие алгоритмы (в том числе рассматриваемый в данной статье) работают только с числовыми признаками, то из 20 разнородных признаков было составлено 24 числовых. В выборке представлено 256 объектов.
 +
 +
== График 1 ==
 +
 +
 +
На графике показана зависимость критерия Маллоуза от количества признаков. Алгоритмом Stepwise было выбрано 13 признаков.
 +
 +
[[Изображение:German1.png#filelinks|800px]]

Версия 22:23, 24 апреля 2010

Содержание

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

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

Метод наименьших углов (англ. least angle regression, LARS) - алгоритм отбора признаков в задачах линейной регрессии. При большом количестве свободных переменных возникает проблема неустойчивого оценивания весов модели. LARS предлагает метод выбора такого набора свободных переменных, который имел бы наиболее значимую статистическую связь с зависимой переменной. Также LARS предлагает метод оценки весов.

Шаговая регрессия (stepwise regression)

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

Пусть нам задана регрессионная модель

 y= f(\beta, x) +\mathbf{\varepsilon}.

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

F={\frac{S_1-S_2}{S_2}}{\frac{m-p_2}{p_1-p_2}

где индекс 2 соответствует второй регрессионной модели , индекс 1 соответствует первой регрессионной модели, которая является модификацией второй модели;  p_1, p_2 - соответствующие числа параметров модели; S- сумма квадратов невязок, задающий критерий качества модели.

S=\sum_{i} {(y^i-f(\beta, x^i))^2.

Шаговая регрессия включает два основных шага: шаг Add (последовательное добавление признаков) и шаг Del (последовательное удаление признаков).

Постановка задачи

Задана выборка - матрица X, столбцы которой соответствуют независимым переменным, а строки - элементам выборки и вектор \mathbf{y}, содержащий элементы зависимой переменной. Назначена линейная модель \mathbf{y}=X\mathbf{\beta}+\mathbf{\varepsilon}.

Требуется найти набор признаков (столбцов матрицы  X ) , удовлетворяющий F-критерию.

Описание алгоритма

Обозначим текущий набор признаков  A . Начальным набором является пустой набор  A= \emptyset. К текущему набору  A присоединяется по одному признаку, который дoставляет максимум F-критерию или

 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)}}

Добавляется несколько признаков, пока значение критерия на шаге не станет меньше заданного  F_1 . Затем признаки удаляются по одному так, чтобы значение F-критерия было минимально:

 j^*= arg \min_{j\in J}F_del= arg \min_{j\in J}{\frac{S(A/x^j)-S(A)}{S(A)}}

Признаки удаляются , пока значение F-критерия на шаге не станет больше заданного критического значения  F_2 .

Критические значения  F_1 и  F_2 для каждого шага определяются по таблице Фишера c заданным уровнем значимости  \alpha со степенями свободы  p_1 - p_2 и  m - p_2 .

Остановка алгоритма

Останов алгоритма производится при достижении заданного минимума критерием Маллоуза  C_p  :

 C_p= {\frac{S}{MSE}} +2k - m ,

где  MSE= {\frac{S_n}{n}} - среднеквадратичная ошибка, вычисленная для модели, настроенной методом наименьших квадратов на всем множестве признаков, k - сложность модели.

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

Вычислительный эксперимент

Показана работа алгоритма в серии задач, основанных как на реальных, так и на модельных данных.

Пример 1

Рассмотрим пример на модельных данных. Сравним два алгоритма: Метод наименьших углов и Шаговую регрессию. Назначена линейная модель, выборка состоит из 20 объектов и 10 признаков. По оси абсцисс показаны номера признаков, по оси ординат- параметры, полученные при использовании Метода наименьших углов. Красным цветом обозначены признаки, выбранные при помощи Шаговой регрессии. Мы видим, что Шаговой регрессией были выбраны 4 признака, которым алгоритмом Lars были присвоены наибольшие значения параметров  \beta .

Пример 2

Рассмотрим пример на реальных данных : данные по кредитованию одним из немецких банков . Проведем проверку алгоритма на задаче из репозитория UCI: Statlog (German Credit Data) Data Set . Объектами являются анкеты людей, желавших получить кредит в банке. Изначально анкеты содержали 20 пунктов, таких как состояние банковсого счета заемщика, информация о его кредитной истории, цель займа, величина займа, возраст заемщика, время с момента трудоустройства на текущее место работы и другие. Но так как некоторые из них не были числовыми, а многие алгоритмы (в том числе рассматриваемый в данной статье) работают только с числовыми признаками, то из 20 разнородных признаков было составлено 24 числовых. В выборке представлено 256 объектов.

График 1

На графике показана зависимость критерия Маллоуза от количества признаков. Алгоритмом Stepwise было выбрано 13 признаков.

Личные инструменты