Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СППР_Часть2_New.doc
Скачиваний:
76
Добавлен:
24.11.2019
Размер:
1 Мб
Скачать
☆

2.2 Логистическая регрессия

Логистическая регрессия применяется для предсказания вероятности возникновения некоторого события по значениям множества признаков. Для этого вводится так называемая зависимая переменная y, принимающая лишь одно из двух значений — как правило, это числа 0 (событие не произошло) и 1 (событие произошло), и множество независимых переменных (также называемых признаками, предикторами или регрессорами) — вещественных x1,x2,...,xn, на основе значений которых требуется вычислить вероятность принятия того или иного значения зависимой переменной.

На практике логистическая регрессия используется для решения задач классификации с линейно-разделяемыми классами.

Задана выборка – множество пар , в которых описание -го элемента , и значения зависимой переменной .

Принята модель логистической регрессии, согласно которой свободные переменные и зависимая переменная y связаны зависимостью

где .

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

Требуется найти такое значение вектора параметров , которое бы доставляло минимум норме вектора невязок

Алгоритм отыскания оптимальных параметров. Оптимальные параметры отыскиваются последовательно с помощью итерационного метода наименьших квадратов с использованием взвешивания элементов выборки. Приведенный ниже алгоритм основан на алгоритме Ньютона-Рафсона.

В начале работы алгоритма задаются параметры начального приближения: скаляр , где - среднее значение выборки зависимой переменной и значения для j=1,2,…,n.

Далее итеративно повторяется следующая процедура:

  • с использованием вектора параметров вычисляется переменная ;

  • вычисляется восстановленное значение выборки зависимой переменной ;

  • вычисляется вектор значений зависимой переменной для текущего шага линейной регрессии , где - вектор весов значений зависимой переменной;

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

,

где - диагональная матрица весов.

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

Пример на модельных данных % Перед началом работы алгоритма задаются начальные % значения параметров.

b0 = log(mean(y)/(1-mean(y)));

% 1st element, function of the mean value of y's

b = [b0 zeros(size(X,2)-1,1)]'; % column-vector of parameters

% Итерационное вычисление параметров логистической регрессии

while 1==1

z = X*b;

p = 1./(1+exp(-z)); % recover the regression

w = p.*(1-p); % calculate the weights of the samples

u = z + (y-p)./w; % calculate the dependent variable for this step

b_old = b; % store old parameters

b = inv( X'*diag(w)*X ) * X' * diag(w) * u;

% calculate new parameters with least squares

% terminate the iterations if changes of the parameters are small

if sumsqr(b - b_old) <= TolFun, break; end

end

Функция MatLab для логистической регрессии

Для получения параметров логистической регрессии используют функцию обощенной линейной регрессионной модели

b = glmfit(X,y,distr)

Функция возвращает вектор b размером m-на-1 коэффициентов обощенной линейной регрессии для зависимой переменой y и матрицы наблюдений X, используя распределение distr. X - матрица m * n для n наблюдений. Если distr принимает значение 'binomial', то получаем логистическую регрессию. В этом случае вектор y - двоичный вектор, характеризующий успех или неудачу для каждого наблюдения. Модель сводится к линейной преобразованием

log(p/(1 – p)) = Xb,

которое называется логит-преобразованием.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]