私は3つのパラメータa、b、cを持っています。すべてのパラメータは、3 つのカテゴリを持つ因子です。car パッケージに多項回帰を当てはめたかったのです。
require(car)
a <- sample(3, 100, TRUE)
b <- sample(3, 100, TRUE)
c <- sample(3, 100, TRUE)
a <- as.factor(a)
b <- as.factor(b)
c <- as.factor(c)
testus <- multinom(c ~ a + b)
predictors <-
expand.grid(b=c("1","2","3","4","5"),a=c("1","2","3","4","5"))
p.fit <- predict(testus, predictors, type='probs')
probabilities<-data.frame(predictors,p.fit)
これで、b と c の下にある a の予測確率が得られました。
>
`head(probabilities)
> b a X1 X2 X3 X4 X5
>1 1 1 0.10609054 0.22599152 0.20107167 0.21953158 0.2473147
>2 2 1 0.20886614 0.27207108 0.08613633 0.18276394 0.2501625
>3 3 1 0.17041268 0.24995975 0.16234240 0.13111518 0.2861700
>4 4 1 0.23704078 0.21179521 0.08493274 0.03135092 0.4348804
>5 5 1 0.09494071 0.09659144 0.24162612 0.21812449 0.3487172
>6 1 2 0.14059489 0.17793438 0.29272452 0.26104833 0.1276979`
最初の 2 つの列は、独立変数 a と b のカテゴリを示しています。次の 5 つの列は、条件付き確率 (pe P(c=1|b==1&&a==1)=0,10609.
分散共分散が必要で、次のことを行いました。
vcov(testus)
2:(Intercept) 2:b2 2:b3 2:c2 2:c3 ....
2:(Intercept) .......................................
2:b2 ................................
2:b3 .................
2:c2 ..............
2:c3 .............
3:(Intercept) .............
....
マトリックスの一部だけを貼り付けて申し訳ありませんが、そうしないと長くなりすぎます。私が望むのは、2 つの変数 (vcov(a,b&c)) を同時に観測するための分散共分散行列です。つまり、変数 a と、「確率」で作成した b と c の同時観測との間の分散 (共分散) を取得したいということです。出力を取得したい
2:(Intercept) 2:b2&c2 2:b2&c3 ....
2:(Intercept) .......................................
2:b2&c2 ................................
2:b3&c3 .................
3:(Intercept) .............
....
これは可能ですか?