2012-11-30 13 views
7

per favore potete dirmi come ottenere/calcolare il RMSE valore (errore quadratico medio) in R quando si esegue un effetto di modello mistoRadice errore quadratico medio in R - modello di effetto misto

Data: na.omit(binh) 
     AIC  BIC logLik 
    888.6144 915.1201 -436.3072 

Random effects: 
Formula: ~1 | Study 
     (Intercept) Residual 
StdDev: 3.304345 1.361858 

Fixed effects: Eeff ~ ADF + CP + DE + ADF2 + DE2 
       Value Std.Error DF t-value p-value 
(Intercept) -0.66390 18.870908 158 -0.035181 0.9720 
ADF   1.16693 0.424561 158 2.748556 0.0067 
CP   0.25723 0.097524 158 2.637575 0.0092 
DE   -36.09593 12.031791 158 -3.000046 0.0031 
ADF2   -0.03708 0.011014 158 -3.366625 0.0010 
DE2   4.77918 1.932924 158 2.472513 0.0145 
Correlation: 
    (Intr) ADF CP  DE  ADF2 
ADF -0.107        
CP -0.032 0.070      
DE 0.978 -0.291 -0.043    
ADF2 0.058 -0.982 -0.045 0.250  
DE2 -0.978 0.308 0.039 -0.997 -0.265 

Standardized Within-Group Residuals: 
     Min   Q1   Med   Q3   Max 
-2.28168116 -0.45260885 0.06528363 0.57071734 2.54144168 

Number of Observations: 209 
Number of Groups: 46 
+1

Questo dovrebbe essere crossvalidated.com. –

+7

@ RomanLuštrik: non se si tratta solo di come * calcolare * il RMSE, giusto? (Al contrario di "quale è una misura pseudo-R^2 appropriata per i modelli misti", che sarebbe certamente valida per crossvalidated e che è discussa in http://glmm.wikidot.com/faq ... –

risposta

12

È don 't fornite i dettagli di ciò che la funzione è stato utilizzato per rendere il vostro modello, ma tendono a memorizzare i loro residui utilizzando lo stesso nome, che si potrebbe verificare con str(), e RMSE è facilmente calcolabile dai residui:

#make a model 
library(nlme) 
r <- lme(conc ~ age, data=IGF) 

#get the RMSE 
r.rmse <- sqrt(mean(r$residuals^2)) 

e nei commenti qui sotto, Ben Bolker sottolinea che gli oggetti realizzati dal modello fitt Funzioni ing dovrebbero avere un metodo residui, rendendo possibile farlo (sebbene alcuni tipi di modelli possono restituire residui che sono stati trasformati):

r.rmse <- sqrt(mean(residuals(r)^2)) 
+3

in generale, bene -le funzioni di modellazione unite dovrebbero implementare un metodo 'residuals()', anche se in alcuni casi devi essere un po 'cauto sul tipo di residui che vengono restituiti (ridimensionato, Pearson, devianza, studente ...) –

+0

+1 Buon punto Aggiungendo alla risposta – MattBagg

Problemi correlati