[R] Multinomial model and p-values

Luciano La Sala lucianolasala at yahoo.com.ar
Tue Jul 2 21:21:07 CEST 2013


Hello everyone, 

I have a dataset which consists of "Pathology scores" (Absent, Mild, Severe)
as outcome variable, and two main effects: Age (two factors: twenty / thirty
days old) and Treatment Group (four factors: infected without ATB; infected
+ ATB1; infected + ATB2; infected + ATB3).

First I tried to fit an ordinal regression model, which seems more
appropriate given the characteristics of my dependent variable (ordinal).
However, the assumption of odds proportionality was severely violated
(graphically), which prompted me to use a multinomial model instead, using
the "nnet" package.  


First I chose the outcome level that I need to use as baseline category: 

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

Then, I needed to set baseline categories for the independent variables:

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

The model:

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

> summary1 <- summary(test1)
> summary1

Call:
multinom(formula = Jej_fact ~ Treat + Age, data = Data)

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

For a while, I could not find a way to get the p-values for the model and
estimates when using nnet:multinom. Yesterday I came across a post where the
author put forward a similar issue regarding estimation of p-values for
coefficients
(http://stats.stackexchange.com/questions/9715/how-to-set-up-and-estimate-a-
multinomial-logit-model-in-r).

There, one blogger suggested that getting p-values from the summary() result
of multinom() is pretty easy, by first getting the t values as follows: 

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

I AM NOT a statistician, so don't be baffled by a silly question! I this
procedure correct?  

Cheers for now, 

Luciano



More information about the R-help mailing list