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

Предположим, что изучаемое явление имеет дискретную природу и принимает два крайних значения («Да» или «Нет», 0 или 1). Описать поведение подобной переменной в терминах классической линейной регрессионной модели, как правило, невозможно. К тому же, поведение остатков в такой регрессионной модели существенно отличается от классического.
Для моделирования подобных ситуаций существует класс моделей бинарного выбора. Эти модели описывают вероятность события :

Видно, что функция G принимает значения из интервала [0,1], т.е. может быть ассоциирована с функцией распределения.
На практике используют модели на базе нормального, логистического и равномерного распределения. В программе реализована модель на базе логистической функции распределения, называемая логистической регрессией.
Отметим, что для логистической регрессии неприменимы оценки качества коэффициентов модели и характеристики остатков, используемые для линейной регрессионной модели (несмотря на то, что они рассчитываются и выводятся в протокол).
Итак, функция имеет вид:

Так как y принимает лишь значения 0 и 1, то вероятность второго возможного значения равна:

Задача построения модели заключается в оценке параметров, оценке частоты отсечки и в оценке адекватности построенной модели. Для оценки параметров в программе VSTAT применяется подход, описанный в примере.
После получения вектора оценок параметров b, расчетные значения зависимой переменной принимают значения в интервале [0,1]. Необходимо оценить порог отсечения такой, что
i-е наблюдение считается принадлежащим классу y=0, если

и i-е наблюдение считается принадлежащим классу y=1, если

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

 

  Факт
Расчет 0 (отрицательно) 1 (положительно)
0 (отрицательно) TN FN
1(положительно) FP TP
Итог Total0 = (TN+FP) Total1 = (FN+TP)

 

Вводятся следующие понятия:

Точка отсечения определяется как точка пересечения кривых Чувствительности и Специфичности (см. рис. ниже).

Для оценки качества построенной модели в программе используется ROC-кривая, или кривая ошибок.
ROC-кривая получается следующим образом:

  • Для каждого значения точки отсечения, которое меняется от 0 до 1 с шагом dx (в текущей версии программы он равен 0.1) рассчитываются значения чувствительности Se и специфичности Sp.
  • Строится график зависимости: по оси Y откладывается чувствительность Se, по оси X – 100%–Sp.


Качество построенной модели оценивается площадью под ROC-кривой, которая вычисляется в программе с помощью метода трапеций:

Принята следующая достаточно условная классификация оценки качества модели в зависимости от полученного значения площади под ROC-кривой.

 

Значение площади Качество модели
90-100 отличное
80-90 очень хорошее
70-80 хорошее
60-70 среднее
50-60 плохое

 

Точка отсечки и площадь под ROC-кривой выводятся в «подвале» одной из основных таблиц анализа результатов логистической регрессии.

Поиск Лекций


Задание к контрольной работе по курсу «Эконометрика»

 

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

1. Определить параметры следующих уравнений регрессии:

а) линейного;

б) гиперболического;

в) степенного;

г) показательного (экспоненциального);

д) логарифмического;

е) параболического.

2. Оценить качество каждой модели взаимосвязи с помощью средней ошибки аппроксимации и показателя детерминации.

3. На основании результатов, полученных в пункте 2, выбрать уравнение регрессии, наилучшим образом описывающее взаимосвязь между фактором х и результативным признаком у.

4. По выбранной модели взаимосвязи сделать точечный прогноз для значения фактора равного .

 

 

Определение параметров уравнений регрессии

 

Линейное уравнение регрессии

Система нормальных уравнений в общем виде:

Система нормальных уравнений с вычисленными коэффициентами

Решение системы:

 

Построенное уравнение регрессии:

 

 

Рис. 1. График линейного уравнения регрессии

 

 

Гиперболическое уравнение регрессии

 

Система нормальных уравнений в общем виде:

 

Система нормальных уравнений с вычисленными коэффициентами

Решение системы:

 

Построенное уравнение регрессии:

 

 

Рис. 2. График гиперболического уравнения регрессии

 

Степенное уравнение регрессии

 

Система нормальных уравнений в общем виде:

 

 

Система нормальных уравнений с вычисленными коэффициентами

Решение системы:

 

 

Построенное уравнение регрессии:

 

Рис. 3. График степенного уравнения регрессии

 

Показательное уравнение регрессии

 

Система нормальных уравнений в общем виде:

 

 

Система нормальных уравнений с вычисленными коэффициентами

Решение системы:

 

;

 

 

Построенное уравнение регрессии:

 

Рис. 4. График показательного уравнения регрессии

Логарифмическое уравнение регрессии

 

Система нормальных уравнений в общем виде:

 

 

Система нормальных уравнений с вычисленными коэффициентами

Решение системы:

 

 

Построенное уравнение регрессии:

 

Рис. 5. График логарифмического уравнения регрессии

Параболическое уравнение регрессии

Система нормальных уравнений в общем виде:

Система нормальных уравнений с вычисленными коэффициентами

Решение системы:

 

Построенное уравнение регрессии:

 

 

 

Рис. 6.

Бинарная логистическая регрессия

График параболического уравнения регрессии

Оценка качества построенных уравнений регрессии

 

Средняя ошибка аппроксимации:

 

Показатель детерминации:

 

 

 

 

Выбор уравнения регрессии

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

©2015-2018 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Нарушение авторских прав и Нарушение персональных данных

Регрессия в анализе данных — попытка выделить в них какую-либо аналитическую модель зависимости, что предполагает сведение данных к небольшому числу параметров модели. Гораздо удобней иметь дело с небольшим числом параметров, нежели с огромным массивом исходных данных; более того, построенная аналитическая модель может служить отправной точкой для построения прогнозов.

Например, имеется множество измерений \(x_i, y_i\), \(i=\overline{1,\ldots,N}\), которые можно представить точками на плоскости; поставим задачу отыскания такой прямой, которая  «наилучшим» образом характеризует зависимость между \(x_i\) и \(y_i\). Требование «наилучшего» в этом случае нуждается в разъяснении. Крайне маловероятно, что все точки будут одновременно принадлежать прямой, поэтому, как правило, понятие «наилучшей», предполагает отыскание такой прямой, сумма квадратов расстояний от которой до точек минимальна. Такая прямая проходит максимально близко ко всем точкам одновременно. Это по сути регрессионная задача, итогом решения которой являются параметры прямой (\(y=k\cdot x + b\)). Таким образом, большой набор значений сводится к модели данных, представляемой в виде двух параметров прямой —  углового коэффициента  (\(k\)) и параметра (\(b\)) вертикального ее смещения.

Многообразие регрессионных моделей определяется выбором ее аналитического вида (линейная, нелинейная), набором параметров, критериями построения оценок параметров по исходным данным. Рассмотренный пример  нахождения прямой — двухпараметрическая задача линейной регрессии (в случае минимизации квадратов расстояний до точек соответствует методу главных компонент).

Независимо от выбираемой аналитической модели и критерия для оценки ее параметров,  назначение регрессии — сведение исходного набора данных к малому числу количественных характеристик и построение им (данным) наилучшего аналитического приближения.

Рассмотрим один из видов регрессии — логистическую регрессию, целью которой является построение модели распределения вероятностей для случая, когда зависимая переменная (моделируемое значение, или (аналог переменной \(y\) в линейной модели) может принимать два значения 0 или 1.

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

Формулировка задачи.

Имеется набор данных \( (y_i, x_i)\), где \(x_i \in R^n\) — т. е.

Алгоритм логистической регрессии (Майкрософт)

являются векторами в n-мерном числовом пространстве; \(y_i =  {0, 1}\) — допустимые значения зависимой переменной.

Необходимо построить модель распределения значений \(y\) в многомерном пространстве \(R^n\); иными словами, исходя из имеющихся данных, необходимо восстановить распределение вероятностей \(P_y(x)\).

Если \(P_{y=0}(x) \) известна, то \( P_{y=1}(x) = 1-P_{y=0}(x) \), так как \(y\) может принимать только значения 0 или 1.

Дальнейшие шаги в восстановлении распределения состоят в выборе модели для  \(P_{y=0}(x) \). Кривая логистического роста $$f(x) = \frac{1}{1+e^{-x}}$$ вполне удовлетворяет требованиям, накладываемым на функции распределения вероятностей; нужно однако несколько изменить ее вид, добавив для гибкости параметры, которые будут оцениваться по набору данных. Вполне естественным шагом «добавления» в модель параметров, является использование их линейной комбинации.
Таким образом, приходим к задаче логистической регрессии: необходимо оценить параметры (\(w_1,\ldots, w_n, c\)) для модели $$ P_{y=0}(x) = f(x) = \frac{1}{1+e^{w^T x + c}}, P_{y=1}(x) = 1-f(x),$$ где \(w^T+c = w_1\cdot x_1 + w_2\cdot x_2 + \ldots + w_n\cdot x_n +c\), исходя из наблюдаемых данных.

Для оценки параметров в таких задачах обычно используют метод максимального правдоподобия: его суть заключается в том, что параметры \(w_i, c\)  должны выбираться таким образом, что в случае подстановки наблюдаемых данных в модель, обеспечивалась максимальная вероятность осуществления события, которое соответствует наблюдаемым данным. В случае равноправных измерений, такое условие должно одновременно распространяться на все наблюдаемые данные. Требование одновременной оптимизации \(P_{y_i=0}(x_i, w, c)\) для всего набора данных нередко записывают как задачу оптимизации произведения значений модельных вероятностей. Произведение с одной стороны отражает «одновременность» оптимальности для всех данных, а с другой может быть очень удобно в случае моделей, содержащих экспоненту: в этом случае путем логарифмирования (операции не влияющей на результат) оптимизация произведения может быть сведена к оптимизации суммы логарифмов составляющих, а взятие логарифмов от экспонент приводит к существенному упрощению задачи.

Логистическая регрессия дает оценки вероятности принадлежности одному из двух классов. На основании таких оценок несложно построить и классификационную схему: выбирать тот класс, оценка вероятности для которого оказалась больше 0.5. Количественная оценка вероятности — одно из примечательных свойств классификации при помощи логистической регрессии.

Классификация с помощью логистической регрессии: пример на Python и Scikit-Learn

Рассмотрим пример построения оценок вероятностей принадлежности точек факторного пространства двум классам для специально сгенерированных данных.

# coding: utf8importnumpyasnpfrompylabimport*fromsklearnimportlinear_model# Для вопроизодимости результатов, зависящих от генератора случайных чиселnp.random.seed(1000)# Настройка шрифтов для будущих графиковrcParams['font.family']='DejaVu Sans'# Понимает русские буквыrcParams['font.size']=16# —————- Создание модельных данных ————————mean1=[0.5,2]cov1=[[1,1.1],[-1.1,1]]mean2=[2.3,-0.5]cov2=[[1.3,-1.5],[1.5,1.6]]# Данные первого классаdata1=np.random.multivariate_normal(mean1,cov1,100)# Данные второго классаdata2=np.random.multivariate_normal(mean2,cov2,100)# ——————————————————————-

После того, как обучающая выборка сгенерирована (100 точек класса 0, и 100 точек класса 1), воспользуемся функцией выполнения логистической регрессии из пакета Scikit-Learn.

# Формируем обучающую выборкуX=np.vstack([data1,data2])# Групповая переменнаяY=[0]*len(data1)+[1]*len(data2)# Настраиваем модель логистической регрессииlogreg=linear_model.LogisticRegression(C=1e5)logreg.fit(X,Y)# Массив точек для классификации и последующей заливки в соотвтетсвии с классомx_min,x_max=X[:,0].min()-.5,X[:,0].max()+.5y_min,y_max=X[:,1].min()-.5,X[:,1].max()+.5xx,yy=np.meshgrid(np.arange(x_min,x_max,0.02),np.arange(y_min,y_max,0.02))# Выполнение классификации каждой точки массиваZ=logreg.predict(np.c_[xx.ravel(),yy.ravel()])# логарифмы вероятностей принадлежности к классамprobabilities=logreg.predict_log_proba(np.c_[xx.ravel(),yy.ravel()])# преобразование формата (как требует pcolormesh)Z=Z.reshape(xx.shape)p1=probabilities[:,0].reshape(xx.shape)p2=probabilities[:,1].reshape(xx.shape)

И, наконец,  финальный этап — отрисовка результатов классификации и оценок вероятностей принадлежности классам.

# Отрисовка результатов классификации и оценок вероятностейtitle(u'Результаты классификации')plot(data1[:,0],data1[:,1],'oy')plot(data2[:,0],data2[:,1],'sc')pcolormesh(xx,yy,Z,cmap='RdYlBu')gca().set_xlim([x_min,x_max])gca().set_ylim([y_min,y_max])figure()title(u'Лог-Вероятности класса 1')pcolormesh(xx,yy,p1,cmap='cool')colorbar()gca().set_xlim([x_min,x_max])gca().set_ylim([y_min,y_max])figure()title(u'Лог-Вероятности класса 2')pcolormesh(xx,yy,p2,cmap='cool')colorbar()gca().set_xlim([x_min,x_max])gca().set_ylim([y_min,y_max])show()

Классификация каждой из точек двумерного факторного пространства позволила визуализировать об
ласти принятия решений (отнесения объекта к первому, либо второму классу).

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

Соответствующие оценки вероятностей (для удобства — логарифмы таких оценок) даны на рисунках ниже. Данные оценки согласуются с полученными результатами классификации (например, вероятность встретить класс 2 возрастает в «правом нижнем углу» фрагмента факторного пространства).


Логистическая регрессия: вычисления на Python, Scikit-Learn (2,7 KB)

blog comments powered by

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

.

логистическая регрессия в excel

Мультиномиальная логистическая регрессия

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

Начиная с 10 версии SPSS для независимых переменных, относящихся к порядковой шкале предусмотрен метод порядковой регрессии (см. гл. 16.6), который в данном случае является предпочтительным.

Для представления метода мольтиномиальной логистической регрессии был сначала взят простой пример с одной независимой переменной. Данные для этого примера были взяты из ALLBUS (общий социологический опрос населения) 1998 года.

  • Откройте файл polein.sav, и при помощи выбора меню Analyze (Анализ) › Descriptive Statistics (Дескриптивные статистики) › Frequencies… (Частоты) достройте частотные таблицы для четырех переменных, находящихся в этом файле:

ALTer (Возраст)

  Frequency (Частота) Percent (Процент) Valid Percent (Действительный процент) Cumulative Percent (Совокупный процент)
Valid (Действительное значение) bis 45 Jahre (До 45 лет) 1306 50.1 50.1 50.1
ueber 45 Jahre (Свыше 45 лет) 1301 49.9 49.9 100.0
Total (Сумма) 2607 100.0 100.0  

Politische Links-Rechts-Einschaetzung (Политическая принадлежность к левым или правым)

  Frequency (Частота) Percent (Процент) Valid Percent (Действительный процент) Cumulative Percent (Совокупный процент)
Valid (Действительное значение) eher links (Скорее левый) 740 28.4 28.4 28.4
Mitte (Центрист) 1212 46.5 46.5 74.9
eher rechts (Скорее правый) 655 25.1 25.1 100.0
Total (Сумма) 2607 100.0 100.0  

Schicht (Прослойка)

  Frequency (Частота) Percent (Процент) Valid Percent (Действительный процент) Cumulative Percent (Совокупный процент)
Valid (Действительное значение)

Unterschicht (Нижняя прослойка) 879 33.7 33.7 33.7
Mittelschicht (Средняя прослойка) 1477 56.7 56.7 90.4
Oberschicht (Верхняя прослойка) 251 9.6 9.6 100.0
  Total (Сумма) 2607 100.0 100.0  

Schulbildung (Школьное образование)

  Frequency (Частота) Percent (Процент) Valid Percent (Действительный процент) Cumulative Percent (Совокупный процент)
Valid (Действительное значение) Hauptschule (Неполное среднее) 1499 57.5 57.5 57.5
Mittlere Reife (Среднее) 610 23.4 23.4 80.9
Abitur (Атестат зрелости) 498 19.1 19.1 100.0
Total (Сумма) 2607 100.0 100.0  

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *