Интерпретация вывода R для биномиальной регрессии

38

Я довольно новичок в этом вопросе с тестами на биномиальные данные, но мне нужно было сделать один, и теперь я не уверен, как интерпретировать результат. Переменная y, переменная отклика, является биномиальной, а объясняющие факторы непрерывны. Вот что я получил при подведении итогов:

glm(formula = leaves.presence ~ Area, family = binomial, data = n)

Deviance Residuals: 
Min      1Q  Median      3Q     Max  
-1.213  -1.044  -1.023   1.312   1.344  

Coefficients:
                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
leaves.presence        0.0008166  0.0002472   3.303 0.000956 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 
(Dispersion parameter for binomial family taken to be 1)

Null deviance: 16662  on 12237  degrees of freedom
Residual deviance: 16651  on 12236  degrees of freedom
(314 observations deleted due to missingness)
AIC: 16655
Number of Fisher Scoring iterations: 4

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

                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
leaves.presence        0.0008166  0.0002472   3.303 0.000956 ***

А что означают итерации AIC и Number of Fisher Scoring?

> fit
Call:  glm(formula = Lövförekomst ~ Areal, family = binomial, data = n)

Coefficients:
(Intercept)        Areal  
-0.3877697    0.0008166  

Degrees of Freedom: 12237 Total (i.e. Null);  12236 Residual
(314 observations deleted due to missingness)
Null Deviance:      16660 
Residual Deviance: 16650        AIC: 16650

И вот что это значит:

Coefficients:
(Intercept)        Areal  
-0.3877697    0.0008166 
user40116
источник
6
Поскольку ваш вопрос очень широкий - «как интерпретировать биномиальную регрессию?» - Я бы предложил подобрать вступительный текст по теме. Agresti « Введение в категориальный анализ данных» очень доступно.
Sycorax говорит восстановить Монику
2
Это может быть слишком широким, чтобы ответить здесь; как сказал @ user777, можно обратиться к хорошему тексту. Агрести это хорошо, я согласен. Hosmer & Lemeshow тоже хорошо. Если вы хотите что-то краткое и бесплатное (оповещение о самостоятельном подключении), посмотрите мое введение в логистическую регрессию, но оно может быть слишком базовым для ваших нужд.
Питер Флом - Восстановить Монику
Хорошо, спасибо за быстрые ответы, я попробую Agresti и посмотрю, поможет ли это :)
user40116
4
Я не думаю, что этот вопрос слишком широкий, чтобы отвечать. Мне кажется, что это, по сути, версия логистической регрессии интерпретации-rs-lm-output , которая последовательно рассматривается по теме.
gung - Восстановить Монику
1
Я с @gung на этот раз, если вопрос о том, как интерпретировать то, что R впрыснул на экран. Где есть двусмысленность, что означает «значит»? Если OP рад сообщить, что коэффициенты являются оценочными значениями модели со значениями на шкале логарифмических шансов, тогда это Q в порядке. Если ФП не удовлетворен этим и требует объяснения их значения с точки зрения данных, модели и т. Д., То это будет слишком широкий вопрос, учитывая, что это всего лишь один из нескольких задаваемых вопросов.
Восстановить Монику - Г. Симпсон

Ответы:

74

То, что вы сделали, это логистическая регрессия . Это может быть сделано в основном в любом статистическом программном обеспечении, и результат будет аналогичным (по крайней мере, по содержанию, хотя представление может отличаться). На превосходном веб-сайте помощи статистики в UCLA есть руководство по логистической регрессии с R. Если вы не знакомы с этим, мой ответ здесь: разница между логит-моделями и пробит-моделями может помочь вам понять, что такое LR (хотя он написан в другом контексте).

Похоже, у вас представлены две модели, я сосредоточусь в первую очередь на верхней. Кроме того, по- видимому, была допущена ошибка при копировании и вставке модели или выход, так что я поменяются leaves.presenceс Areaна выходе , чтобы привести его в соответствие с моделью. Вот модель, на которую я ссылаюсь (обратите внимание, что я добавил (link="logit"), что подразумевается под family=binomial; see ? Glm и ? Family ):

glm(formula = leaves.presence ~ Area, family = binomial(link="logit"), data = n)

Давайте пройдемся по этому выводу (обратите внимание, что я изменил имя переменной во второй строке ниже Coefficients):

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-1.213  -1.044  -1.023   1.312   1.344  

Coefficients:
                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
Area                   0.0008166  0.0002472   3.303 0.000956 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 
(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 16662  on 12237  degrees of freedom
Residual deviance: 16651  on 12236  degrees of freedom
(314 observations deleted due to missingness)
AIC: 16655
Number of Fisher Scoring iterations: 4

Так же, как есть остатки в линейной (OLS) регрессии, могут быть остатки в логистической регрессии и других обобщенных линейных моделях. Однако они более сложны, когда переменная ответа не является непрерывной. GLiM могут иметь пять различных типов остатков, но то, что входит в стандартный список, - это отклонения от отклонений. ( Остатки отклонений и отклонений являются более продвинутыми, поэтому я буду кратким здесь; если за этим обсуждением будет довольно трудно следовать, я бы не стал слишком беспокоиться, вы можете его пропустить):

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-1.213  -1.044  -1.023   1.312   1.344  

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


Далее мы видим информацию о ковариатах, которая обычно интересует людей:

Coefficients:
                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
Area                   0.0008166  0.0002472   3.303 0.000956 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

Для простой модели логистической регрессии, подобной этой, существует только один ковариат ( Areaздесь) и перехват (также иногда называемый «константой»). Если бы у вас была множественная логистическая регрессия, под ними были бы перечислены дополнительные ковариаты, но интерпретация выходных данных была бы такой же. Во Estimateвтором ряду находится коэффициент, связанный с переменной, указанной слева. Это приблизительная сумма, на которую leaves.presenceувеличатся шансы , если бы они Areaбыли на единицу выше. Журнал шансов, leaves.presenceкогда Areaэто0чуть выше в первом ряду. (Если вы недостаточно знакомы с коэффициентами ведения журнала, это может помочь вам прочитать мой ответ здесь: интерпретация простых прогнозов и соотношений коэффициентов в логистической регрессии .) В следующем столбце мы видим стандартную ошибку, связанную с этими оценками. То есть они являются оценкой того, насколько в среднем эти оценки будут отклоняться, если исследование будет повторяться идентично, но с новыми данными, снова и снова. (Если вы не очень знакомы с идеей стандартной ошибки, это может помочь вам прочитать мой ответ здесь: как интерпретировать стандартные ошибки коэффициента в линейной регрессии.) Если бы мы поделили оценку на стандартную ошибку, мы бы получили частное, которое, как предполагается, обычно распределяется с достаточно большими выборками. Это значение указано в разделе z value. Ниже Pr(>|z|)перечислены двусторонние p-значения, которые соответствуют этим z-значениям в стандартном нормальном распределении. Наконец, есть звезды традиционной значимости (и обратите внимание на ключ под таблицей коэффициентов).


По Dispersionумолчанию строка печатается с GLiM, но здесь не добавляется много информации (это более важно, например, для моделей подсчета). Мы можем игнорировать это.


Наконец, мы получаем информацию о модели и ее пригодности:

    Null deviance: 16662  on 12237  degrees of freedom
Residual deviance: 16651  on 12236  degrees of freedom
(314 observations deleted due to missingness)
AIC: 16655
Number of Fisher Scoring iterations: 4

Строка о missingnessчасто отсутствует. Он показывает здесь , потому что вы имели 314 наблюдений , для которых либо leaves.presence, Areaили оба пропали без вести. Эти частичные наблюдения не использовались при подборе модели.

Это Residual devianceмера несоответствия вашей модели, взятая в целом, тогда как Null devianceэто мера для сокращенной модели, которая включает только перехват. Обратите внимание, что степени свободы, связанные с этими двумя, отличаются только на одну. Поскольку ваша модель имеет только один ковариат, был оценен только один дополнительный параметр ( Estimateдля Area), и, таким образом, была использована только одна дополнительная степень свободы. Эти два значения могут быть использованы при проведении проверки модели в целом, которая была бы аналогична глобальнойFтест, который идет с моделью множественной линейной регрессии. Поскольку у вас есть только одна ковариата, такой тест в этом случае будет неинтересен.

AIC является еще одной мерой СОГЛАСИЯ , которая принимает во внимание способность модели , чтобы соответствовать данным. Это очень полезно при сравнении двух моделей, в которых одна может подходить лучше, но, возможно, только благодаря большей гибкости и, следовательно, лучшей способности соответствовать любым данным. Поскольку у вас есть только одна модель, это неинформативно.

Ссылка на Fisher scoring iterationsимеет отношение к тому, как модель была оценена. Линейная модель может быть подобрана путем решения уравнений в замкнутой форме. К сожалению, это невозможно сделать с большинством GLiM, включая логистическую регрессию. Вместо этого используется итеративный подход ( алгоритм Ньютона-Рафсона по умолчанию). В общем, модель подходит на основе предположения о возможных оценках. Затем алгоритм осматривается, чтобы увидеть, будет ли улучшено соответствие, используя вместо этого различные оценки. Если это так, он движется в этом направлении (скажем, используя более высокое значение для оценки), а затем снова соответствует модели. Алгоритм останавливается, когда он не видит, что повторное перемещение приведет к значительным дополнительным улучшениям. Эта строка сообщает вам, сколько было итераций до остановки процесса и выводило результаты.



Относительно второй модели и вывода, который вы перечисляете, это просто другой способ отображения результатов. В частности, эти

Coefficients:
(Intercept)       Areal  
-0.3877697    0.0008166

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

Gung - Восстановить Монику
источник
1

Вызов : это просто вызов, который вы сделали для функции. Это будет точно такой же код, который вы ввели в R. Это может быть полезно для просмотра, если вы сделали какие-либо опечатки.

(Отклонения) Остатки: Вы можете в значительной степени игнорировать их для логистической регрессии. Для Пуассона или линейной регрессии вы хотите, чтобы они были более или менее нормально распределены (это то же самое, что проверяют два верхних диагностических графика). Вы можете проверить это, посмотрев, являются ли абсолютные значения 1Q и 3Q близкими (ish) друг к другу, и если медиана близка к 0. Среднее значение не отображается, потому что оно всегда равно 0. Если какой-либо из них супер выключен, то у вас, вероятно, есть странный перекос в ваших данных. (Это также будет отображаться на ваших диагностических графиках!)

Коэффициенты : это мясо продукции.

  • Перехват : для пуассоновской и линейной регрессии это прогнозируемый результат, когда все наши входы равны 0. Для логистической регрессии это значение будет находиться дальше от 0, чем больше разница между числом наблюдений в каждом классе. Стандартная ошибка представляет насколько мы не уверены в этом (чем ниже, тем лучше). В этом случае, поскольку наш перехват далек от 0, а наша стандартная ошибка намного меньше, чем перехват, мы можем быть совершенно уверены, что один из наших классов (с ошибками или с ошибками) содержит в себе гораздо больше наблюдений. (К счастью, в этом случае это "не удалось")

  • Различные входные данные (каждый вход будет находиться на отдельной строке): эта оценка показывает, насколько мы думаем, что выход будет меняться каждый раз, когда мы увеличиваем этот вход на 1. Чем больше оценка, тем больше влияние этой входной переменной на выход. Стандартная ошибка - насколько мы в этом уверены. Обычно, мы можем быть уверены, что ввод является информативным, если стандартная ошибка составляет 1/10 от оценки. Так что в этом случае мы уверены, что перехват важен.

  • Signif. Коды : это ключ к значению каждого: ввод и перехват. Это верно только в том случае, если вы когда-либо подгоняете одну модель к своим данным (Другими словами, они отлично подходят для экспериментальных данных, если вы с самого начала представляете интересующие вас переменные, и не столь информативны для анализа данных или выбора переменных.)

    Подождите, почему мы не можем использовать статистическую значимость? Вы можете, я просто не рекомендовал бы это. В науке о данных вы будете часто подбирать несколько моделей, используя один и тот же набор данных, чтобы попытаться выбрать лучшую модель. Если вы когда-либо выполняли более одного теста на статистическую значимость для одного и того же набора данных, вам нужно откорректировать свое значение p, чтобы компенсировать это. Вы можете думать об этом следующим образом: если вы решите, что вы примете результаты ниже p = 0,05, вы в основном говорите, что вы в порядке, ошибаясь один раз в двадцать. Если вы затем выполните пять тестов, и для каждого из них есть вероятность 1/20, что вы ошибетесь, теперь у вас есть шанс 1/4 ошибиться хотя бы в одном из этих тестов ... но вы не знаю какой. Вы можете исправить это (умножая p-значение, которое вы примете в качестве значимого на количество тестов, которые вы будете предварительно выполнять ), но на практике я нахожу, что в целом проще вообще избежать использования p-значений.

(Параметр дисперсии для биномиального семейства принят за 1): вы увидите это только для пуассоновской и биномиальной (логистической) регрессии. Это просто позволяет вам знать, что был добавлен дополнительный параметр масштабирования, чтобы помочь соответствовать модели. Вы можете игнорировать это.

Нулевое отклонение: нулевое отклонение говорит нам, насколько хорошо мы можем предсказать наш результат, только используя перехват. Меньше, тем лучше.

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

AIC: AIC - это «информационный критерий Акаике», и это оценка того, насколько хорошо ваша модель описывает шаблоны в ваших данных. Он в основном используется для сравнения моделей, обученных по одному и тому же набору данных. Если вам нужно выбирать между моделями, модель с более низким AIC лучше справляется с описанием различий в данных.

Количество итераций по шкале Фишера: это всего лишь показатель того, сколько времени понадобилось, чтобы соответствовать вашей модели. Вы можете смело игнорировать это.

Я предлагаю этот сборник, чтобы узнать больше. https://www.kaggle.com/rtatman/regression-challenge-day-5

parvij
источник