2014-03-13 26 views
0

當我在R中運行multinom()函數時,結果中變量的數量非常大,而公式中只有一些預測變量。任何人都可以向我解釋爲什麼會發生這種情況,我該如何解決? (mv_daily只需要0和1,icu_loc需要數據中的0,1,2)R中多元函數()函數的奇異大數目變量

我試過3個預測變量,結果中的變量數增加到1230!該程序將預測變量的每個不同值作爲結果中的不同變量,並賦予其不同的係數。

newdata2 <- read.csv("~/Desktop/input_multinom_reg_March9_csv.csv") 
library(nnet) 
test <- multinom(state_tomorrow ~ mv_daily + icu_loc, newdata2,maxit=400,MaxNWts=2000) 

結果:

Call: 
multinom(formula = state_tomorrow ~ mv_day2 + icu_loc, data = newdata2, 
maxit = 400, MaxNWts = 2000) 

Coefficients: 
(Intercept) mv_daily icu_loc 
F  3.6303751 -1.1223394 -0.3681095 
H  1.2178084 -1.3153864 0.3721295 
IND 0.4628305 -2.1366738 -1.2530020 
PR 2.2952981 -1.3085620 -0.4032178 
RRT 0.1000952 -0.6432881 0.7659957 

# weights: 24 (15 variable) 
initial value 18682.675986 
iter 10 value 12929.391832 
iter 20 value 12341.441938 
final value 12284.346914 

數據看起來像這樣:

id state_tomorrow day mv_daily icu_loc 
1  F    1  0   1 
1  RRT   2  1   1 
2  PR    4  1   0 
2  PR    5  1   2 

回答

2

在估算多項模型,應該想到每個因子水平的單獨參數的估計。

+0

嗨@IShouldBuyABoat。是的,我知道我們應該期望爲每個因子水平分別估計一個參數。問題是,當我使用nlevels(icu_loc)和nlevels(mv_daily)時,他們都有3個或更少的級別,我不知道迴歸中的15個級別在哪裏。 – user54626

+0

我只看到有5個係數的報告。你在哪裏看到「15個級別」? –

+0

現在我明白了,謝謝!另外如何不變成分解變量。我不想爲這些參數的每個不同值分別設置參數。我該怎麼辦? – user54626