2013-09-18 5 views
1

У меня есть три параметра a, b и c. Каждый параметр является фактором с тремя категориями. Я хотел подогнать мультиномиальную регрессию с автомобильным пакетом.таблица ковариации для большего количества переменных

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) 

Теперь у меня есть предсказанные вероятности для a под b и c.

>

`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` 

Первые два смещ_по_столбцам показывает категории независимых переменных а и Ь. Следующие пять colums показывают условные вероятности (PE P (C = 1 | Ь == 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) ............. 
.... 

Извините за вставку только части матрицы, но в противном случае это было бы длинным. То, что я хотел бы иметь, - это ковариационная матрица дисперсии для одновременного наблюдения двух переменных (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) ............. 
.... 

Возможно ли это?

+0

Вы должны начать с моделью взаимодействия, если вы хотите, что многие оцениваются параметры. –

ответ

1

Возможно:

testus <- multinom(c ~ a : b) 
vcov(testus) 

Я говорю «возможно», потому что есть также возможность использования c ~ a*b модели и не ясно, что вы хотите точно. (Статистический вопрос не был определен, и я не думаю, что это будет достаточным количеством наблюдений для устойчивой оценки.) В любом случае:

colnames(vcov(testus)) 
#----------- 
[1] "2:(Intercept)" "2:a1:b1"  "2:a2:b1"  
[4] "2:a3:b1"  "2:a1:b2"  "2:a2:b2"  
[7] "2:a3:b2"  "2:a1:b3"  "2:a2:b3"  
[10] "2:a3:b3"  "3:(Intercept)" "3:a1:b1"  
[13] "3:a2:b1"  "3:a3:b1"  "3:a1:b2"  
[16] "3:a2:b2"  "3:a3:b2"  "3:a1:b3"  
[19] "3:a2:b3"  "3:a3:b3"  

rownames(vcov(testus)) 
#-------- 
[1] "2:(Intercept)" "2:a1:b1"  "2:a2:b1"  
[4] "2:a3:b1"  "2:a1:b2"  "2:a2:b2"  
[7] "2:a3:b2"  "2:a1:b3"  "2:a2:b3"  
[10] "2:a3:b3"  "3:(Intercept)" "3:a1:b1"  
[13] "3:a2:b1"  "3:a3:b1"  "3:a1:b2"  
[16] "3:a2:b2"  "3:a3:b2"  "3:a1:b3"  
[19] "3:a2:b3"  "3:a3:b3"  
+0

Благодарим вас за ответ. Я узнал, что мой вопрос не совсем ясен. Я исправил свой ответ и дал дополнительную информацию – user2685139

+0

Я сожалею, что не могу понять, что имеется в виду, когда вы просите «получить дисперсию (ковариацию) между моей переменной a и одновременным наблюдением b и c, как я создал с« вероятностями », '. Ранее я сказал, что считаю, что вам нужна статистическая консультация, и я думаю, что это еще одно доказательство этой необходимости. –

Смежные вопросы