7

irisデータセットの多項ロジスティック回帰モデルを行っていますが、

library(VGAM)
mlog1 <- vglm(Species ~ ., data=iris, family=multinomial())
coef(mlog1)

係数は次のとおりです。

 (Intercept):1  (Intercept):2 Sepal.Length:1 Sepal.Length:2  Sepal.Width:1 
     34.243397      42.637804      10.746723       2.465220      12.815353 
 Sepal.Width:2 Petal.Length:1 Petal.Length:2  Petal.Width:1  Petal.Width:2 
      6.680887     -25.042636      -9.429385     -36.060294     -18.286137 

次に、multinom()関数を使用して同じことを行います。

library(nnet)
mlog2 <- multinom(Species ~ ., data=iris)

係数:

Coefficients:
           (Intercept) Sepal.Length Sepal.Width Petal.Length Petal.Width
versicolor    18.69037    -5.458424   -8.707401     14.24477   -3.097684
virginica    -23.83628    -7.923634  -15.370769     23.65978   15.135301

この 2 つの結果には大きなギャップがあるように見えますか? 私はどこで間違ったのですか?それらを修正して同様の結果を得るにはどうすればよいですか?

4

1 に答える 1

10

このギャップは次の 2 つの要因によるものです。(1) のmultinomial()ファミリーはVGAM、デフォルトで応答因子の最後のレベルになるように参照を選択しますが、multinom()ではnnet常に最初のレベルを参照として使用します。(2) アイリス データの種カテゴリは直線的に分離できるため、係数が非常に大きくなり、標準誤差が大きくなります。対数尤度が実質的にそれ以上変化しないときに数値最適化が停止する場所は、実装によって多少異なる場合がありますが、実際には無関係です。

AER分離のない例として、パッケージ内のドイツ社会経済パネル (1994-2002) のデータに基づく学校選択回帰モデルを考えてみましょう。

data("GSOEP9402", package = "AER")
library("nnet")
m1 <- multinom(school ~ meducation + memployment + log(income) + log(size),
  data = GSOEP9402)
m2 <- vglm(school ~ meducation + memployment + log(income) + log(size),
  data = GSOEP9402, family = multinomial(refLevel = 1))

次に、両方のモデルが本質的に同じ係数につながります。

coef(m1)
##                (Intercept) meducation memploymentparttime memploymentnone
## Realschule   -6.366449  0.3232377           0.4422277       0.7322972
## Gymnasium   -22.476933  0.6664295           0.8964440       1.0581122
##            log(income) log(size)
## Realschule   0.3877988 -1.297537
## Gymnasium    1.5347946 -1.757441

coef(m2, matrix = TRUE)
##                     log(mu[,2]/mu[,1]) log(mu[,3]/mu[,1])
## (Intercept)                 -6.3666257        -22.4778081
## meducation                   0.3232500          0.6664550
## memploymentparttime          0.4422720          0.8964986
## memploymentnone              0.7323156          1.0581625
## log(income)                  0.3877985          1.5348495
## log(size)                   -1.2975203         -1.7574912
于 2015-04-26T13:56:31.857 に答える