2017-08-28 96 views
1

爲什麼結果1與結果2不同?直覺上我會認爲truc $ results $ RMSE是預測的均方根誤差,但我想不是。R包caret中的結果對象中的RMSE是什麼?

library(caret) 
x <- data.frame(x = rnorm(15)) 
y <- x$x + rnorm(15) 
myTimeControl <- trainControl(method = "timeslice",initialWindow = 10, horizon = 1, fixedWindow = FALSE, savePredictions=TRUE) 
truc <- train(x,y,method = "lm",metric= "RMSE",trControl =myTimeControl,preProc = c("center", "scale")) 
result1 <- sqrt(mean((truc$pred$pred-truc$pred$obs)^2)) 
result2 <- truc$results$RMSE 
result1 
result2 

回答

1

如果顛倒均值和開方,你會得到同樣的結果......事情的怪異與插入符號公式......其實,你做了一個有趣的觀察...

result1 <- mean(sqrt((truc$pred$pred-truc$pred$obs)^2)) 
+0

嗯,它是不是MSE,而是MAE。也許我應該告訴作者。非常感謝,我以爲我瘋了! –