multinom and contrasts
Dear John, Thanks for the answer! In my own dataset, The multinom() did not converge even after I had tried to increase the maximum number of iteration (from default 100 to 1000). In this situation, there is some bigger diffrenece in fitted probabilities under different contrasts (e.g. 0.9687817 vs. 0.9920816). My question is whether the analysis (fitted probabilities) is still valid if it does not converge? and what else can I try about it? Thank you!
--- John Fox <jfox at mcmaster.ca> wrote:
Dear chip, The difference is small and is due to computational error. Your example:
max(abs(zz[1:10,] - yy[1:10,]))
[1] 2.207080e-05 Tightening the convergence tolerance in multinom() eliminates the difference:
options(contrasts=c('contr.treatment','contr.poly'))
xx<-multinom(Type~Infl+Cont,data=housing[-c(1,10,11,22,25,30),],
reltol=1.0e-12) # weights: 20 (12 variable) initial value 91.495428 iter 10 value 91.124526 final value 91.124523 converged
yy<-predict(xx,type='probs')
options(contrasts=c('contr.helmert','contr.poly'))
xx<-multinom(Type~Infl+Cont,data=housing[-c(1,10,11,22,25,30),],
reltol=1.0e-12) # weights: 20 (12 variable) initial value 91.495428 iter 10 value 91.125287 iter 20 value 91.124523 iter 20 value 91.124523 iter 20 value 91.124523 final value 91.124523 converged
zz<-predict(xx,type='probs') max(abs(zz[1:10,] - yy[1:10,]))
[1] 1.530021e-08 I hope this helps, John -------------------------------- John Fox Department of Sociology McMaster University Hamilton, Ontario Canada L8S 4M4 905-525-9140x23604 http://socserv.mcmaster.ca/jfox --------------------------------
-----Original Message----- From: r-help-bounces at stat.math.ethz.ch [mailto:r-help-bounces at stat.math.ethz.ch] On
Behalf Of array chip
Sent: Wednesday, April 13, 2005 6:26 PM To: R-help at stat.math.ethz.ch Subject: [R] multinom and contrasts Hi, I found that using different contrasts (e.g. contr.helmert vs. contr.treatment) will generate
different
fitted probabilities from multinomial logistic
regression
using multinom(); while the fitted probabilities
from binary
logistic regression seem to be the same. Why is
that? and for
multinomial logisitc regression, what contrast
should be
used? I guess it's helmert?
here is an example script:
library(MASS)
library(nnet)
#### multinomial logistic
options(contrasts=c('contr.treatment','contr.poly'))
xx<-multinom(Type~Infl+Cont,data=housing[-c(1,10,11,22,25,30),])
yy<-predict(xx,type='probs')
yy[1:10,]
options(contrasts=c('contr.helmert','contr.poly'))
xx<-multinom(Type~Infl+Cont,data=housing[-c(1,10,11,22,25,30),])
zz<-predict(xx,type='probs')
zz[1:10,]
##### binary logistic
options(contrasts=c('contr.treatment','contr.poly'))
obj.glm<-glm(Cont~Infl+Type,family='binomial',data=housing[-c(
1,10,11,22,25,30),])
yy<-predict(xx,type='response')
options(contrasts=c('contr.helmert','contr.poly'))
obj.glm<-glm(Cont~Infl+Type,family='binomial',data=housing[-c(
1,10,11,22,25,30),])
zz<-predict(xx,type='response') Thanks
______________________________________________ R-help at stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html