分類が必要な 3 クラスの問題があります。nnet
パッケージで多項ロジスティック回帰を使用したい。クラスの結果には、P、Q、R の 3 つの要素があります。Q を基本要素として扱いたいと思います。
だから私はそれを次のように対比して書き込もうとしました:
P <- c(1,0,0)
R <- c(0,0,1)
contrasts(trainingLR$Class) <- cbind(P,R)
それをチェックしました:
> contrasts(trainingLR$Class)
P R
P 1 0
Q 0 0
R 0 1
今multinom()
:
library(nnet)
multinom(Class ~., data=trainingLR)
出力:
> multinom(Class ~., data=trainingLR)
# weights: 39 (24 variable)
initial value 180.172415
iter 10 value 34.990665
iter 20 value 11.765136
iter 30 value 0.162491
iter 40 value 0.000192
iter 40 value 0.000096
iter 40 value 0.000096
final value 0.000096
converged
Call:
multinom(formula = Class ~ ., data = trainingLR)
Coefficients:
(Intercept) IL8 IL17A IL23A IL23R
Q -116.2881 -16.562423 -34.80174 3.370051 6.422109
R 203.2414 6.918666 -34.40271 -10.233787 31.446915
EBI3 IL6ST IL12A IL12RB2 IL12B
Q -8.316808 12.75168 -7.880954 5.686425 -9.665776
R 5.135609 -20.48971 -2.093231 37.423452 14.669226
IL12RB1 IL27RA
Q -6.921755 -1.307048
R 15.552842 -7.063026
Residual Deviance: 0.0001922658
AIC: 48.00019
質問:
ご覧のとおり、P クラスは出力に表示されなかったので、R で因子変数を処理するときに予想どおりアルファベット順で最初のベースとして扱われ、Q クラスはとして扱われなかったということです。この場合のベース レベルは、他の 2 つのレベルのベースにする方法は?