Як зрозуміти вихід з функції polr R (упорядкована логістична регресія)?


26

Я новачок у R, замовлений логістичний регрес та polr.

Розділ "Приклади" внизу сторінки довідки для polr (який відповідає логістичній або пробітній регресії моделі впорядкованому фактору)

options(contrasts = c("contr.treatment", "contr.poly"))
house.plr <- polr(Sat ~ Infl + Type + Cont, weights = Freq, data = housing)
pr <- profile(house.plr)
plot(pr)
pairs(pr)
  • Яку інформацію prмістить? Сторінка довідки в профілі є загальною і не дає вказівки щодо polr.

  • Що plot(pr)показує? Я бачу шість графіків. У кожній є вісь X, яка є числовою, хоча мітка є змінною індикатора (схожа на вхідну змінну, яка є індикатором для порядкового значення). Тоді вісь Y - "тау", що зовсім не пояснено.

  • Що pairs(pr)показує? Це виглядає як графік для кожної пари вхідних змінних, але я знову не бачу пояснення осей X або Y.

  • Як можна зрозуміти, чи вдала модель добре підходить? summary(house.plr)показує Залишкове відхилення 3479.149 та AIC (Akaike Information Criterion?) 3495.149. Чи це добре? У випадку, якщо вони корисні лише як відносні заходи (тобто для порівняння з іншою моделлю, що підходить), що таке хороша абсолютна міра? Чи розподілено залишкове відхилення приблизно в квадраті? Чи можна використовувати "% правильно прогнозовано" на вихідних даних або перехресну перевірку? Який найпростіший спосіб зробити це?

  • Як застосовувати та інтерпретувати anovaцю модель? Документи кажуть: "Існують методи для функціонування стандартних моделей, включаючи прогнозування, резюме, vcov, anova." Однак anova(house.plr)результати роботи вanova is not implemented for a single "polr" object

  • Як можна інтерпретувати значення t для кожного коефіцієнта? На відміну від деяких підходить моделей, тут немає P-значень.

Я усвідомлюю, що це багато питань, але мені є сенс задавати як один комплект ("як я можу використовувати цю річ?"), А не 7 різних питань. Будь-яка інформація оцінена.


3
@dfrankow Дещо груба і, безумовно, дуже часткова допомога для ваших перших двох питань, але methods("profile")ви дасте (S3 в даному випадку) методи, пов’язані з R- profileоб'єктом, тоді ви побачите, ніж є виділений метод для polrрезультатів, який ви можете переглядати. он-лайн, набравши getAnywhere("profile.polr")підказку R.
chl

1
Спасибі! Вихідний код хороший. Пояснення було б ще краще. :)
dfrankow

1
Хтось вказав мені на "Сучасну прикладну статистику з S" Венеблеса та Ріплі. Розділ 7.3 містить "Приклад таблиці чотиристоронньої частоти", який широко висвітлює цю модель будинку. Читання ..
dfrankow

Насправді розділ є "моделлю пропорційних шансів"
dfrankow

Відповіді:


17

Я б запропонував вам переглянути книги з категоричного аналізу даних (пор. Alan Agresti «Категоричний аналіз даних», 2002) для кращого пояснення та розуміння впорядкованої логістичної регресії . На всі запитання, які ви задаєте, в основному відповідають кілька глав таких книг. Якщо вас цікавлять лише Rспоріднені приклади, розширення лінійних моделей в R від Джуліана Фаравея (CRC Press, 2008) є чудовим посиланням.

Перш ніж відповісти на ваші запитання, впорядкована логістична регресія - це випадок багаточленних моделей logit, в яких впорядковані категорії. Припустимо , що ми маємо замовив категорії і що для індивідуального I , з порядковим відгуку Y я , р я J = P ( Y я = J ) для J = 1 , . . . , J . З упорядкованою відповіддю часто простіше працювати з кумулятивними ймовірностями γ i j = PJiYipij=П(Yi=j)j=1,...,J . Кумулятивні ймовірності зростають та інваріантні для поєднання суміжних категорій. Крім того, γ i J = 1 , тому нам потрібна лишеймовірність.γij=П(Yij)γiJ=1J-1

Тепер ми хочемо зв’язати s з covariates . У вашому випадку, має 3 впорядковані рівні: , , . Це має сенс ставитися до них як до впорядкованих, а не до невпорядкованих. Решта змінних - ваші коваріати. Конкретна модель, яку ви розглядаєте, - пропорційна модель шансів і математично еквівалентна: xγijхSatlowmediumhigh

де  γ j ( x i ) = P ( Y ij | x i )

logit γj(хi)=θj-βТхi,j=1J-1
де γj(хi)=П(Yij|хi)

Його називають, оскільки відносні шанси для порівнянні та :x 1 x 2Yjх1х2

(γj(х1)1-γj(х1))/(γj(х2)1-γj(х2))=досвід(-βТ(х1-х2))

Зауважте, наведений вираз не залежить від . Звичайно, припущення про пропорційні шанси потрібно перевірити для даного набору даних.j

Зараз я відповім на деякі (1, 2, 4) запитання.

Як можна зрозуміти, чи вдала модель добре підходить? резюме (house.plr) показує Залишкове відхилення 3479.149 та AIC (Akaike Information Criterion?) 3495.149. Чи це добре? У випадку, якщо вони корисні лише як відносні заходи (тобто для порівняння з іншою моделлю, що підходить), що таке хороша абсолютна міра? Чи розподілено залишкове відхилення приблизно в квадраті? Чи можна використовувати "% правильно прогнозовано" на вихідних даних або перехресну перевірку? Який найпростіший спосіб зробити це?

Модель, яка підходить, polrє особливою glm, тому всі припущення, які стосуються традиційного дотримання glmтут. Якщо ви правильно подбаєте про параметри, ви можете розібратися в розподілі. Зокрема, щоб перевірити, чи модель хороша чи ні , можливо, ви захочете зробити тест на придатність , який перевіряє наступну нуль (зауважте, що це тонко, в основному ви хочете відхилити нуль, але тут ви не хочете відхиліть його, щоб отримати гарну форму):

Но: сучасна модель досить хороша 

Для цього ви використовуєте тест-квадрат . Значення р отримують у вигляді:

1-pchisq(deviance(house.plr),df.residual(house.plr))

Більшу частину часу ви сподіваєтесь отримати значення p, яке перевищує 0,05, щоб не відкидати нуль, щоб зробити висновок про те, що модель добре підходить (філософська правильність тут ігнорується).

AIC повинен бути високим, щоб добре підходити, в той же час ви не хочете мати велику кількість параметрів. stepAICце хороший спосіб перевірити це.

Так, ви можете точно використовувати перехресну перевірку, щоб побачити, чи відповідають прогнози. Дивіться predictфункцію (опція:) type = "probs"в ?polr. Все, що вам потрібно подбати - це коваріати.

Яку інформацію містить PR? Сторінка довідки в профілі є загальною і не дає вказівки щодо polr

Як вказують @chl та інші, prмістить всю інформацію, необхідну для отримання ІС та іншої інформації, пов'язаної з імовірністю polr fit. Усі glms підходять за допомогою ітераційно зваженого методу оцінки найменших квадратів для вірогідності журналу. У цій оптимізації ви отримуєте багато інформації (див. Посилання), яка буде потрібна для обчислення матриці варіації коваріації, CI, t-значення тощо. Вона включає в себе всю її інформацію.

Як можна інтерпретувати значення t для кожного коефіцієнта? На відміну від деяких моделей> підходить, тут немає значення P.

На відміну від звичайної лінійної моделі (спеціальної glm) інші glms не мають приємного t-розподілу для коефіцієнтів регресії. Отже, все, що ви можете отримати, - це оцінка параметрів та їх асимптотична матриця коваріації дисперсії, використовуючи теорію максимальної ймовірності. Тому:

Варіантність(β^)=(ХТWХ)-1ϕ^

Оцінка, поділена на її стандартну похибку, - це те, що BDR і WV називають t-значенням (я припускаю MASSтут умовність). Він еквівалентний t-значенню від звичайної лінійної регресії, але не відповідає t-розподілу. Використовуючи CLT, він асимптотично нормально розподілений. Але вони вважають за краще не використовувати це прибл (я думаю), отже, ніяких p-значень. (Я сподіваюся, що я не помиляюся, і якщо я є, я сподіваюся, що БДР не на цьому форумі. Я ще більше сподіваюся, хтось виправить мене, якщо я помиляюся.)


Додам ще.
suncoolsu

1
Дякую за це Я читав її кілька разів. Залишається безліч питань. 1. Функціонально в R, як можна перевірити припущення про пропорційні шанси? 2. Ви впевнені, що тест чи-квадрата правильний? У цьому прикладі він повертає 0, тобто .. crappy fit? Але деякі значення t досить високі (InflHigh 10,1, InflMedium 5,4, ContHigh 3,7). 3. Що показують сюжети чи пари?
dfrankow

Дякуємо за вашу велику відповідь suncoolsu. Я в подібній ситуації і маю пару питань. 1. Я також отримую 0 для кожної моделі, використовуючи ваше тестове рівняння chi-sq. 2. На сторінці Вікіпедії на AIC написано, що "краща модель - модель із мінімальним значенням AIC", але ви сказали: "AIC повинна бути високою для гарного пристосування". Я намагаюся узгодити ці рахунки.
Сем Свіфт

@dfrankow та @Sam Swift. Перепрошую, трохи зайнятий написанням певних паперів. Гаразд - якщо ви отримуєте p-значення = 0, це означає, що модель НЕ є належним, оскільки тест на придатність не відповідає. Що стосується проблеми AIC, то вікіпедія та я використовуємо для неї іншу конвенцію. Я використовую той, який використовується BDR та WV. (пор. Розширення лінійних моделей в R, доктор Джуліан
Фарай

Є кілька спеціальних питань щодо значень 0/1 p та інтерпретації AIC, які можуть вам бути корисними: stats.stackexchange.com/questions/15223/… stats.stackexchange.com/questions/81427/…
Скотт

3

Мені дуже сподобалася розмова тут, проте я відчуваю, що відповіді неправильно стосувались усіх (дуже хороших) складових на поставлене вами питання. Друга половина сторінки прикладу для polrвсіх стосується профілювання. Хорошим технічним посиланням тут є «Венералібс» та «Ріплі», які обговорюють профілювання та те, що він робить. Це критична методика, коли ви виходите за межі зони комфорту пристосування експоненціальних сімейних моделей з повною ймовірністю (звичайні GLM).

к-1кlmernls,, polrі glm.nb.

Сторінка довідки ?profile.glmмає бути polrкорисною, оскільки об'єкти по суті є GLM (плюс категоричні пороги). Нарешті, ви можете фактично дістати максимум вихідного коду, якщо він не має користі, використовуючи getS3method('profile', 'polr'). Я getS3methodдуже часто використовую цю функцію, оскільки, хоча R, як видається, наполягає, що багато методів потрібно приховати, можна дивно дізнатися про реалізацію та методи, переглянувши код.

• Яку інформацію містить PR? Сторінка довідки в профілі є загальною і не дає вказівки щодо polr.

prє profile.polr, profileоб'єктом (спадковий клас profile). Є запис для кожного товариша. Профілера петлі над кожним коваріатом перераховує оптимальну модель, відповідну тому коваріату, зафіксованому на дещо іншу кількість. Вихід показує фіксовану величину коваріату, вимірювану як масштабовану різницю "z-оцінка" від її оціночної величини та отриманих фіксованих ефектів в інших коваріатах. Наприклад, якщо ви подивитеся pr$InflMedium, ви зауважите, що коли "z" дорівнює 0, інші фіксовані ефекти такі ж, як у початковій формі.

• Що показує сюжет (pr)? Я бачу шість графіків. У кожній є вісь X, яка є числовою, хоча мітка є змінною індикатора (схожа на вхідну змінну, яка є індикатором для порядкового значення). Тоді вісь Y - "тау", що зовсім не пояснено.

Знову ж таки, ?plot.profileдає опис. На графіку приблизно показано, як коефіцієнти регресії коваріюють. tau - масштабована різниця, z оцінка раніше, тому значення 0 дає оптимальні коефіцієнти придатності, зображені галочкою. Ви б не сказали, що для цього пристосування так добре поводиться, але ці "лінії" насправді сплайни. Якби ймовірність дуже нерегулярно поводилася в оптимальному стані, ви б спостерігали дивну та непередбачувану поведінку в сюжеті. Це дозволить вам оцінити вихід, використовуючи більш надійну оцінку помилок (bootstrap / jackknife), обчислити CI за допомогою method='profile', перекодувати змінні або здійснити іншу діагностику.

• Що показують пари (pr)? Це виглядає як графік для кожної пари вхідних змінних, але я знову не бачу пояснення осей X або Y.

У довідковому файлі йдеться: "Метод пар показує для кожної пари параметрів x і y дві криві, що перетинаються за максимальною оцінкою ймовірності, які дають локуси точок, у яких дотичні до контурів біваріантного профілю стають вертикальними і горизонтально відповідно. У випадку ймовірності точно двовимірного нормального профілю ці дві криві були б прямими, що дають умовні засоби y | x та x | y, а контури були б точно еліптичними ". В основному вони знову допомагають вам уявити еліпси впевненості. Неортогональні осі вказують на дуже корисні заходи, такі як InfMedium та InfHigh, які є інтуїтивно пов'язаними. Знову ж таки, нерегулярні ймовірності призведуть до образів, які тут досить збиваються.

• Як можна зрозуміти, чи вдала модель добре підходить? резюме (house.plr) показує Залишкове відхилення 3479.149 та AIC (Akaike Information Criterion?) 3495.149. Чи це добре? У випадку, якщо вони корисні лише як відносні заходи (тобто для порівняння з іншою моделлю, що підходить), що таке хороша абсолютна міра? Чи розподілено залишкове відхилення приблизно в квадраті? Чи можна використовувати "% правильно прогнозовано" на вихідних даних або перехресну перевірку? Який найпростіший спосіб зробити це?

Одне припущення, яке добре оцінити, - припущення про пропорційні шанси. Це дещо відображено в глобальному тесті (який оцінює polr щодо насиченої логістичної моделі). Обмеженням тут є те, що при великих даних глобальні тести завжди виходять з ладу. Як результат, використання графіки та перевірка оцінок (бета-версій) та точності (SE) для логістичної моделі та підбору polr є хорошою ідеєю. Якщо вони масово не згодні, щось може бути не так.

З упорядкованими результатами важко визначити відсоткове узгодження. Як ви виберете класифікатор на основі моделі, і якщо ви зробите, як ви будете отримувати низьку ефективність від поганого класифікатора. modeце поганий вибір. Якщо у мене є 10 логітів категорії, і моє передбачення завжди, але одна категорія відключена, можливо, це не погано. Крім того, моя модель може правильно передбачити 40% шансу на відповідь 0, але також 20% шансів 8, 9, 10. Тож якщо я зауважую, 9 це добре чи погано? Якщо вам потрібно виміряти угоду, використовуйте зважену каппу або навіть MSE. Логінарна модель завжди дасть найкращу згоду. Це не те, що робить POLR.

• Як застосовувати та інтерпретувати anova на цій моделі? Документи кажуть: "Існують методи для функціонування стандартних моделей, включаючи прогнозування, резюме, vcov, anova." Однак запуск anova (house.plr) призводить до того, що anova не реалізовано для одного об’єкта "polr"

Ви можете протестувати вкладені моделі з waldtestта lrtestв lmtestупаковці в Р. Це еквівалентно ANOVA. Інтерпретація точно така ж, як і в GLM.

• Як інтерпретувати значення t для кожного коефіцієнта? На відміну від деяких підходить моделей, тут немає P-значень.

Знову ж таки, на відміну від лінійних моделей, модель POLR здатна мати проблеми з нерегулярною ймовірністю, тому висновок, заснований на Гессі, може бути дуже нестабільним. Це аналогічно встановленню змішаних моделей, див., Наприклад, confint.merModфайл довідки щодо пакету lme4. Тут оцінки, зроблені за допомогою профілювання, показують, що коваріація добре поводиться. Програмісти зробили б це за замовчуванням, за винятком того, що профілювання може бути обчислювально дуже інтенсивним, і тому вони залишають це у ваших руках. Якщо ви повинні побачити висновок на основі Wald, використовувати coeftest(house.plr)з lrtestпакета.


2

Щоб "перевірити" (тобто оцінити) припущення про пропорційні шанси в R, ви можете використовувати ostauals.lrm () у пакеті дизайну Франка Харрела-молодшого. Якщо ви введете? Residuals.lrm, є швидкий повторюваний приклад того, як Френк Харрелл рекомендує оцінити припущення про пропорційні шанси (тобто візуально, а не за допомогою тестування кнопкою). Проектні кошториси впорядковують логістичні регресії за допомогою lrm (), які ви можете замінити polr () від MASS.

Більш офіційний приклад того, як візуально перевірити припущення про пропорційні шанси в R, дивіться у статті: Доповідь: Регресійні моделі звичайної реакції в екології Автор (и): Антуан Гісан та Френк Е. Харрелл Джерело: Journal of Vegetation Science, Vol. 11, № 5 (жовт. 2000 р.), Стор 617-626


3
Я щиро ціную вашу відповідь. Однак метою StackExchange є надання відповідей, а не посилань. Статистики, здається, особливо схильні до цієї довідкової проблеми. Чи можете ви додати деталі про те, як користуватися ostauals.lrm? Наприклад, команда example та приклад інтерпретації графіка для прикладу house.plr?
dfrankow

1
Оновлення на веб-сайті автора: "Пакет Design тепер застарілий. Користувачі R замість цього повинні використовувати пакет rms". Позначте, ваша відповідь була дуже корисною для мене.
Тал Галілі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.