我正在使用nnet包中的multinom函数运行多项式逻辑回归。
在多项式逻辑回归中,据我所知,系数是响应概率与参考响应概率比值的对数变化量(即,ln(P(i)/P(r))=B1+B2*X... 其中i是一个响应类别,r是参考类别,X是一些预测因素)。
然而,fitted(multinom(...))为每个类别(包括参考类别r)生成估计值。 编辑:例如:
为了计算第一行响应 b 和响应 a 之间的预测概率比率,我们计算
参考类别的拟合概率是通过代数方式计算得出的吗 (例如,
有没有办法获得参考类别预测概率的方程式?
在多项式逻辑回归中,据我所知,系数是响应概率与参考响应概率比值的对数变化量(即,ln(P(i)/P(r))=B1+B2*X... 其中i是一个响应类别,r是参考类别,X是一些预测因素)。
然而,fitted(multinom(...))为每个类别(包括参考类别r)生成估计值。 编辑:例如:
set.seed(1)
library(nnet)
DF <- data.frame(X = as.numeric(rnorm(30)),
Y = factor(sample(letters[1:5],30, replace=TRUE)))
DF$Y<-relevel(DF$Y, ref="a") #ensure a is the reference category
model <- multinom(Y ~ X, data = DF)
coef(model)
# (Intercept) X
#b 0.1756835 0.55915795
#c -0.2513414 -0.31274745
#d 0.1389806 -0.12257963
#e -0.4034968 0.06814379
head(fitted(model))
# a b c d e
#1 0.2125982 0.2110692 0.18316042 0.2542913 0.1388810
#2 0.2101165 0.1041655 0.26694618 0.2926508 0.1261210
#3 0.2129182 0.2066711 0.18576567 0.2559369 0.1387081
#4 0.1733332 0.4431170 0.08798363 0.1685015 0.1270647
#5 0.2126573 0.2102819 0.18362323 0.2545859 0.1388516
#6 0.1935449 0.3475526 0.11970164 0.2032974 0.1359035
head(DF)
# X Y
#1 -0.3271010 a
为了计算第一行响应 b 和响应 a 之间的预测概率比率,我们计算
exp(0.1756835+0.55915795*(-0.3271010))
=0.9928084。我看到这对应于第一行拟合的 P(b)/P(a) (0.2110692/0.2125982
=0.9928084)。参考类别的拟合概率是通过代数方式计算得出的吗 (例如,
0.2110692/exp(0.1756835+0.55915795*(-0.3271010))
)?有没有办法获得参考类别预测概率的方程式?