Линейная регрессия

Posted On 20.05.2018

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

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

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

Такая прямая проходит максимально близко ко всем точкам одновременно. Это по сути регрессионная задача, итогом решения которой являются параметры прямой (\(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=’DejaVu Sans’# Понимает русские буквыrcParams=16# —————- Создание модельных данных ————————mean1=cov1=,]mean2=cov2=,]# Данные первого класса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()# Групповая переменнаяY=*len(data1)+*len(data2)# Настраиваем модель логистической регрессииlogreg=linear_model.LogisticRegression(C=1e5)logreg.fit(X,Y)# Массив точек для классификации и последующей заливки в соотвтетсвии с классомx_min,x_max=X.min()-.5,X.max()+.5y_min,y_max=X.min()-.5,X.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_)# логарифмы вероятностей принадлежности к классамprobabilities=logreg.predict_log_proba(np.c_)# преобразование формата (как требует pcolormesh)Z=Z.reshape(xx.shape)p1=probabilities.reshape(xx.shape)p2=probabilities.reshape(xx.shape)

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

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

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

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

Соответствующие оценки вероятностей (для удобства — логарифмы таких оценок) даны на рисунках ниже.

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

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

blog comments powered by

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

1 2   3   4

Вопрос Ответ Верно
100. Величина RSS показывает величину коэффициента детерминации нет
101. Величина ТSS показывает величину дисперсии зависимой переменной, объясненной регрессией нет
108.

Логистическая регрессия: вычисления на Python

Что такое статистический выброс?

незначимый коэффициент корреляции нет
11. Что означает наличие обратной связи между переменными х и у? что график зависимости между х и у не является прямой линией нет
111. В каких случаях не обязательно удаление статистических выбросов? в случае сильной связи в регрессионной модели да
116. Что такое бинарная переменная? переменная, принимающая значения «0» или «1» при наличии или отсутствии признака да
119. Уравнение регрессии, содержащее бинарные переменные, является регрессионной моделью да
120. Какие значения может принимать фиктивная переменная? 0 и 1 да
124. Может ли бинарная переменная быть независимой переменной регрессионной модели? да, конечно да
14. Взаимозависимости экономических переменных часто описываются линейным уравнением да
19. Регрессия у на х — это коэффициент корреляции между у и х нет
20. Какой метод позволяет определить оценки параметров регрессии? метод наименьших квадратов да
25. Для чего применяется МНК? для оценки параметров регрессии да
28. В каком случае регрессия является множественной? если в ур-е регрессии входит одна зависимая и множество независимых переменных да
42. Какие величины служат для записи уравнения регрессии? коэффициенты регрессии да
44. В уравнении регрессии независимая переменная обычно обозначается как a нет
45. В уравнении регрессии факторы обычно обозначаются как х и у да
48. В уравнении регрессионной зависимости может быть только одна зависимая и одна независимая переменная нет
55. В результатах решения задачи коэффициент регрессии а отображается как: Значимость F нет
57. В результатах регрессионного анализа Y-пересечение — это величина остатка нет
62. Чему будет равен Y в множественной линейной регрессии, если Y-пересечение = 6, b1 = 2, b2 = 5, х1 = 8, x2 = 4? 42 да
65. Как в уравнении регрессии интерпретируется коэффициент перед переменной х? показывает статистическую значимость переменной х нет
9. В эконометрических задачах математическая модель это уравнение регрессии или система уравнений регрессии да
90. Нулевая гипотеза для коэфициента детерминации отвергается при Значимости F, меньшей или равной 5% да
99.

О чем свидетельствует близкое к 1 значение коэффициента детерминации?

о наличии тесной связи между изучаемыми показателями да
101. Величина ТSS показывает величину стандартной ошибки уравнения регрессии нет
116. Зачем в регрессионном анализе используются бинарные переменные? для фиксации свойств найденной регрессии нет
121. Можно ли использовать бинарные переменные в множественной регрессии? да да
130. В каких случаях производится исключение бинарных переменных из модели? в случае слабой связи в модели нет
27. В каком случае регрессия является парной? если все коэффициенты регрессии положительны нет
28. В каком случае регрессия является множественной? если в ур-е регрессии входит одна зависимая и множество независимых переменных да
29. Какие виды регрессионных зависимостей существуют? парная, множественная, линейная, нелинейная да
3. Эконометрика занимается изучением статистических таблиц распределений случайных величин нет
30. Какого вида регрессионная зависимость между переменными не может существовать? прямая, парная, нелинейная нет
31. Что является математической моделью эконометрической задачи? совокупность числовых характеристик переменных Х и Y нет
33. После записи уравнения регрессии необходимо определить зависимые и независимые переменные нет
34. Регрессионная модель считается качественной при обязательном выполнении следующих условий: связь в модели тесная, объясняющие переменные значимы, наблюдений достаточно да
44. В уравнении регрессии независимая переменная обычно обозначается как b нет
49. Сколько объясняющих переменных может быть в уравнении регрессии? только одна нет
53. В уравнении y = a + bx коэффициент b является коэффициентом корреляции нет
61. Чему будет равен Y в множественной линейной регрессии, если Y-пересечение = 10, b1 = 1, b2 = 2, х1 = 3, x2 = 4? 24 нет
64. В уравнении регрессии у = a + bx коэффициент а показывает является ли связь между зависимой и независимыми переменными тесной нет
65. Как в уравнении регрессии интерпретируется коэффициент перед переменной х? показывает величину изменения у при единичном изменении х да
7. Что может быть выполнено с помощью эконометрической модели? управление программными средствами, предназначенными для экономических расчетов нет
75. Какая величина «Р-значения» подтверждает влияние х на у? Р-значение для него меньше 0,05 да
81. Что проверяется с помощью коэффициента корреляции? теснота связи между факторами в уравнении регрессии да
84. Тесная связь между перменными модели констатируется в том случае, если коэффициент корреляции по модулю не меньше 0,7 да
86. В результатах решения задачи в Excel коэффициент корреляции отображается как: переменная Х1 нет
89. Для чего служит величина «Значимость F»? является одним из коэффициентов уравнения регрессии нет
92. В каком случае коэффициент детерминации может быть не достоверен? в случае, если единицы измерения переменных Х и Y различны нет

1   2   3   4

Add a Comment

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