Отримання р-значень для "мультинома" в R (пакет мережі)


19

Як отримати значення p за допомогою multinomфункції nnetпакета в R?

У мене є набір даних, який складається з «показників патології» (відсутні, легкі, важкі) як змінної результату, та двох основних наслідків: вік (два фактори: двадцять / тридцять днів) та група лікування (чотири фактори: інфіковані без АТБ; інфіковані + ATB1; інфікований + ATB2; інфікований + ATB3).

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

Спочатку я вибрав рівень результатів, який мені потрібно використовувати як базову категорію:

Data$Path <- relevel(Data$Path, ref = "Absent")

Потім мені потрібно було встановити базові категорії для незалежних змінних:

Data$Age <- relevel(Data$Age, ref = "Twenty")
Data$Treat <- relevel(Data$Treat, ref="infected without ATB") 

Модель:

test <- multinom(Path ~ Treat + Age, data = Data) 
# weights:  18 (10 variable) 
initial value 128.537638 
iter 10 value 80.623608 
final  value 80.619911 
converged

Вихід:

Coefficients:
         (Intercept)   infected+ATB1   infected+ATB2   infected+ATB3    AgeThirty
Moderate   -2.238106   -1.1738540      -1.709608       -1.599301        2.684677
Severe     -1.544361   -0.8696531      -2.991307       -1.506709        1.810771

Std. Errors:
         (Intercept)    infected+ATB1   infected+ATB2   infected+ATB3    AgeThirty
Moderate   0.7880046    0.8430368       0.7731359       0.7718480        0.8150993
Severe     0.6110903    0.7574311       1.1486203       0.7504781        0.6607360

Residual Deviance: 161.2398
AIC: 181.2398

pnnet:multinomppsummarymultinomт значення таким чином:

pt(abs(summary1$coefficients / summary1$standard.errors), df=nrow(Data)-10, lower=FALSE) 

         (Intercept)   infected+ATB1   infected+ATB2   infected+ATB3    AgeThirty
Moderate 0.002670340   0.08325396      0.014506395     0.02025858       0.0006587898
Severe   0.006433581   0.12665278      0.005216581     0.02352202       0.0035612114

pтz -статистичним; для агрегованих даних це може бути дуже погана помилка ». За словами Брайана Ріплі, "також помилково використовувати тести Wald на multinomпристосування, оскільки вони страждають від тих же (потенційно серйозних) проблем, що і біноміальні пристосування. Використовуйте довірчі інтервали правдоподібності (для яких пакет надає програмне забезпечення), або якщо потрібно перевірити, тести на коефіцієнт ймовірності (ditto). "

p


Ви можете використовувати порівняння моделі з тестами коефіцієнта ймовірності для повної та зменшеної моделі за допомогою функції nnet's anova().
каракал

Відповіді:


14

Що з використанням

z <- summary(test)$coefficients/summary(test)$standard.errors
# 2-tailed Wald z tests to test significance of coefficients
p <- (1 - pnorm(abs(z), 0, 1)) * 2
p

В основному, це базуватиметься на оцінених коефіцієнтах відносно їх стандартної похибки, і використовуватиме тест az для перевірки суттєвої різниці з нулем на основі двосхилого тесту. Коефіцієнт два виправляє згадану вище проблему Пітера Далгаарда (вам це потрібно, тому що ви хочете тест з двома хвостами, а не один з хвостими), і для вирішення іншої використовується z-тест, а не t-тест. проблема, яку ви згадуєте.

Ви також можете отримати той же результат (Wald z-тести), використовуючи

library(AER)
coeftest(test)

Випробування на коефіцієнт ймовірності, як правило, вважаються більш точними, ніж тести Wald z (останні використовують нормальне наближення, LR-тести - ні), і їх можна отримати, використовуючи

library(afex)
set_sum_contrasts() # use sum coding, necessary to make type III LR tests valid
library(car)
Anova(test,type="III")

Якщо ви хочете провести парні тести пост-туків Tukey, то їх можна отримати, використовуючи lsmeans пакет, як пояснено в іншому моєму дописі !


Трохи більше пояснення кроків може допомогти ОП.
Момо

1
Додано трохи більше пояснень зараз ...
Tom Wenseleers

1
Ось хороша сторінка, яка розгортається у варіанті Wald z-test: stats.idre.ucla.edu/r/dae/multinomial-logistic-regression
DirtStats
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.