Thursday, February 17, 2011

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

офтоп про SPSS из онлайнового учебника социологического ф-та
мне важно поскольку сам метод ооочень популярен, но его смысла в толк не возьму -- никогда не видел результата, который был бы получен именно этим методом и не был бы понятен/получен простыми табуляциями


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

Предсказания событий, исследования связи событий с теми или иными факторами с нетерпением ждут от социологов. Будем считать, что событие в данных фиксируется дихотомической переменной (0 не произошло событие, 1 - произошло). Для построения модели предсказания можно было бы построить, к примеру, линейное регрессионное уравнение с зависимой дихотомической переменной Y, но оно будет не адекватно поставленной задаче, так как в классическом уравнении регрессии предполагается, что Y - непрерывная переменная. С этой целью рассматривается логистическая регрессия. Ее целью является построение модели прогноза вероятности события {Y=1} в зависимости от независимых переменных X1,:,Xp. Иначе эта связь может быть выражена в виде зависимости P{Y=1|X}=f(X)
Логистическая регрессия выражает эту связь в виде формулы
, где Z=B0+B1X1+:+BpXp (1).
Название "логистическая регрессия" происходит от названия логистического распределения, имеющего функцию распределения . Таким образом, модель, представленная этим видом регрессии, по сути, является функцией распределения этого закона, в которой в качестве аргумента используется линейная комбинация независимых переменных.

Отношение шансов и логит

Отношение вероятности того, что событие произойдет к вероятности того, что оно не произойдет P/(1-P) называется отношением шансов.
С этим отношением связано еще одно представление логистической регрессии, получаемое за счет непосредственного задания зависимой переменной в виде Z=Ln(P/(1-P)), где P=P{Y=1|X1,:,Xp}. Переменная Z называется логитом.По сути дела, логистическая регрессия определяется уравнением регрессии Z=B0+B1X1+:+BpXp.
В связи с этим отношение шансов может быть записано в следующем виде
P/(1-P)=.
Отсюда получается, что, если модель верна, при независимых X1,:,Xpизменение Xk на единицу вызывает изменение отношения шансов в раз.

Решение уравнения с использованием логита.

Механизм решения такого уравнения можно представить следующим образом
1.        Получаются агрегированные данные по переменным X, в которых для каждой группы, характеризуемой значениями Xj= подсчитывается доля объектов, соответствующих событию {Y=1}. Эта доля является оценкой вероятности . В соответствии с этим, для каждой группы получается значение логита Zj.
2.        На агрегированных данных оцениваются коэффициенты уравнения Z=B0+B1X1+:+BpXp. К сожалению, дисперсия Z здесь зависит от значений X, поэтому при использовании логита применяется специальная техника оценки коэффициентов - взвешенной регрессии.
Еще одна особенность состоит в том, что в реальных данных очень часто группы по X оказываются однородными по Y, поэтому оценки оказываются равными нулю или единице. Таким образом, оценка логита для них не определена (для этих значений ).
В некоторых статистических пакетах такие группы объектов просто-напросто отбрасываются.
В настоящее время в статистическом пакете для оценки коэффициентов используется метод максимального правдоподобия, лишенный этого недостатка. Тем не менее, проблема, хотя и не в таком остром виде остается: если оценки вероятности для многих групп оказываются равными нулю или единице, оценки коэффициентов регрессии имеют слишком большую дисперсию. Поэтому, имея в качестве независимых переменных такие признаки, как душевой доход в сочетании с возрастом, их следует укрупнить по интервалам, приписав объектам средние значения интервалов.

Неколичественные данные

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

Взаимодействие переменных

В процедуре логистической регрессии в SPSS предусмотрены средства для автоматического включения в уравнение переменных взаимодействий. В диалоговом окне в списке исходных переменных для этого следует выделить имена переменных, взаимодействия которых предполагается рассмотреть, затем переправить выделенные имена в окно независимых переменных кнопкой c текстом >a*b>.

Пример логистической регрессии и статистики

Процедура логистической регрессии в SPSS в диалоговом режиме вызывается из меню командой Statistics\Regression\Binary logistic:.
В качестве примера по данным RLMS изучим, как связано употребление спиртных напитков с зарплатой, полом, статусом (ранг руководителя), курит ли он.
Для этого подготовим данные: выберем в обследовании RLMS население старше 18 лет, сконструируем индикаторы курения (smoke) и пития (alcohol) (в обследовании задавался вопрос "Употребляли ли Вы в течении 30 дней алкогольные напитки")
COMPUTE filter_$=(vozr>18).
FILTER BY filter_$.
compute smoke=(dm71=1).
val lab smoke 1 "курит" 0 "не курит".
compute alcohol=(dm80=1).
val lab alcohol 1 "пьет" 0 "не пьет".
Укрупним переменную dj10 -(зарплата на основном рабочем месте). В данном случае группы по значениям этой переменной в основном достаточно наполнены, но мы с методической целью покажем один из способов укрупнения. Для этого вначале получаем переменную wage, которая содержит номера децилей по зарплате, затем среднюю зарплату по этим децилям (см. таблицу 6.5).
missing values dj6.0 (9997,9998,9999) dj10(99997,99998,99999).
RANK VARIABLES=dj10 (A) /NTILES (10) into wage /PRINT=YES /TIES=MEAN .
MEANS TABLES=dj10 BY wage /CELLS MEAN.
Таблица 6.5. Средняя зарплата по децилям.
WAGE децили зарплаты
1
2
3
4
5
6
7
8
9
10
DJ10 зарплата за 30 дней
101
211
307
416
542
703
853
1108
1565
3464
Полученные средние используем для формирования переменной, соответствующей укрупненной зарплате (для удобства, чтобы коэффициенты регрессии не были слишком малы, в качестве единицы ее измерения возьмем сто рублей).
recode wage (1=1.01) (2=2.11) (3=3.07) (4=4.16) (5=5.42) (6=7.03) (7=8.53) (8=11.08) (9=15.65) (10 =34.64).
recode dj6.0 (sysmis=4)(1 thru 5=1)(6 thru 10=2) (10 thru hi=3) into manag.
var lab manag "статус" wage "зaработок".
val lab manag 4 "не начальник" 1 "шеф" 2 "начальничек" 3 "начальник".
exec.
Далее формируем переменную manag - " статус" из переменной dj6.0 - количество подчиненных.
Запускаем команду построения регрессии LOGISTIC REGRESSION, в которой использованы переменные wage - зарплата, manag статус, dh5 - пол (1 мужчины, 2 женщины) smoke - курение (1 курит, 0 не курит), dh5* wage - "взаимодействие" пола с зарплатой (для женщин значение - 0, для мужчин - совпадает с зарплатой).
LOGISTIC REGRESSION VAR=alcohol /METHOD=ENTER wage manag dh5 smoke dh5*wage /CONTRAST (dh5)=Indicator /CONTRAST (manag)=Indicator /CONTRAST (smoke)=Indicator /PRINT=CI(95) /CRITERIA PIN(.05) POUT(.10) ITERATE(20) CUT(.69) .
В выдаче программа, прежде всего, сообщает о перекодировании данных:
Dependent Variable Encoding:
Original Internal
Value Value
.00 0
1.00 1
Следует обратить внимание, что зависимая переменная здесь должна быть дихотомической, и ее максимальный код считается кодом события, вероятность которого прогнозируется. Например, если Вы закодировали переменную ALCOHOL 1-употреблял, 2-не употреблял, то будет прогнозироваться вероятность не употребления алкоголя.
Далее идут сведения о кодировании индексных переменных для категориальных переменных; из-за их естественности мы их здесь не приводим.
Далее следуют обозначения для переменных взаимодействия, в нашем простом случае это:
Interactions:
INT_1 DH5(1) by WAGE

Качество подгонки логистической регрессии

Далее в выдаче появляется описательная информация о качестве подгонки модели:
-2 Log Likelihood 3289.971
Goodness of Fit 2830.214
Cox & Snell - R^2 .072
Nagelkerke - R^2 .102
которые означают:
·         -2 Log Likelihood - удвоенный логарифм функция правдоподобия со знаком минус;
·         Goodness of Fit - характеристика отличия наблюдаемых частот от ожидаемых;
·         Cox & Snell - R^2 и Nagelkerke - R^2 - псевдо коэффициенты детерминации, полученные на основе отношения функций правдоподобия моделей лишь с константой и со всеми коэффициентами.
Эти коэффициенты стоит использовать при сравнении очень похожих моделей на аналогичных данных, что практически нереально, поэтому мы не будем на них останавливаться.

Вероятность правильного предсказания


Рисунок 6.3. Классификационная таблица
На основе модели логистической регрессии можно строить предсказание произойдет или не произойдет событие {Y=1}. Правило предсказания, по умолчанию заложенное в процедуру LOGISTIC REGRESSION устроено по следующему принципу: если >0.5 считаем, что событие произойдет; ?0.5, считаем, что событие не произойдет. Это правило оптимально с точки зрения минимизации числа ошибок, но очень грубо с точки зрения исследования связи. Зачастую оказывается, что вероятность события P{Y=1} мала (значительно меньше 0.5) или велика (значительно больше 0.5), поэтому оказывается, что все имеющиеся в данных сочетания X предсказывают событие или все предсказывают противоположное событие.
Поэтому здесь необходима другая классификация, которая демонстрирует связь между зависимой и независимыми переменными. С этой целью стоит отнести к предсказываемому классу , для которых {Y=1} ожидается c большей вероятностью, чем в среднем, а остальные - к противоположному классу. В нашем случае доля употреблявших алкоголь равна 69% и мы к классу предсказанных значений отнесли значения X, для которых >0.69. Поэтому в процедуре указан параметр /CRITERIA CUT(.69). Связь между этими классификациями представлена таблица сопряженности (рмсунок 6.3). Но лучше в этой таблице вычислить процентные соотношения пользуясь EXCEL или калькулятором.
Таблица 6.6. Связь наблюдения и предсказания в логистической регрессии
Наблюдается
Предсказано

Не пьет
Пьет
Всего
Не пьет
43.8%
21.5%
31.3%
Пьет
56.2%
78.5%
68.7%

Коэффициенты регрессии


Рисунок 6.4. Коэффициенты логистической регрессии



Основная информация содержится в таблице коэффициентов регрессии (рисунок 6.4). Прежде всего, следует обратить внимание на значимость коэффициентов. Наблюдаемая значимость вычисляется на основе статистики Вальда. Эта статистика связана с методом максимального правдоподобия и может быть использована при оценках разнообразных параметров.
Универсальность статистики Вальда позволяет оценить значимость не только отдельных переменных, но и в целом значимость категориальных переменных, несмотря на то, что они дезагрегированы на индексные переменные. Статистика Вальда имеет распределение хи-квадрат. Число степеней свободы, равно единице, если проверяется гипотеза о равенстве нулю коэффициента при обычной или индексной переменной и, для категориальной переменной, равно числу значений без единицы (числу соответствующих индексных переменных). Квадратный корень из статистики Вальда приближенно равен отношению величины коэффициента к его стандартной ошибке - так же выражается t-статистика в обычной линейной модели регрессии.

Рисунок 6.5. Экспоненты коэффициентов
В нашей таблице коэффициентов почти все переменные значимы на уровне значимости 5%. Закрыв глаза на возможное взаимодействие между независимыми переменными (коллинеарность), можно считать, что вероятность употребления алкоголя повышена при высокой зарплате, а также, у руководителей различного ранга. Из-за незначимости статистики Вальда нет, правда, полной уверенности относительно повышенной вероятности для начальников, имеющих более 10 подчиненных. Курение и принадлежность к мужскому полу также повышают эту вероятность, однако, взаимодействие "мужчина-зарплата" имеет обратное действие.
В этой же таблице присутствует аналог коэффициента корреляции (R), также построенный на основе статистики Вальда. Для обычных и индексных переменных положительные значения коэффициента свидетельствуют о положительной связи переменной с вероятностью события, отрицательные - об отрицательной связи.
Кроме того, мы выдали таблицу экспонент коэффициентов eB и их доверительные границы (см. рисунок 6.5). Эта таблица выдана подкомандой /PRINT=CI(95) в команде задания логистической регрессии.
Согласно модели и полученным значениям коэффициентов, при фиксированных прочих переменных, принадлежность к мужскому полу увеличивает отношение шансов "пития" и "не пития" в 2.4 раза (точнее в 1.84-3.15 раза), курения - в 1.9 раза (1.54 - 2.35), а прибавка к зарплате 100 рублей - на 4.4% (2.8%-6%), правда такая прибавка мужчине одновременно уменьшает это отношение на 3.8% (5.7%-1.9%). Быть мелким начальником - значит увеличить отношение шансов в 1.43 (1.06 - 1.9) раза, чем в среднем, а средним начальником - в 1.7 (1.07-2.67) раза.

О статистике Вальда

Как отмечено в документации SPSS, недостаток статистики Вальда в том, что при малом числе наблюдений она может давать заниженные оценки наблюдаемой значимости коэффициентов. Для получения более точной информации о значимости переменных можно воспользоваться пошаговой регрессией, метод FORWARD LR (LR - likelihood ratio - отношение правдоподобия), тогда будет для каждой переменной выдана значимость включения/исключения, полученная на основе отношения функций правдоподобия модели. Поскольку основная выдача построена на основе статистики Вальда, первые выводы удобнее делать на ее основе, а потом уже уточнять результаты, если это необходимо.



там её называют мультиномальной -- не понятно: почему?

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.