2
我對R的MSE的計算有些疑問。計算MSE:爲什麼這兩種方式給出不同的結果?
我試過兩種不同的方法,我得到兩個不同的結果。想知道哪一個是找到mse的正確方法。
第一:
model1 <- lm(data=d, x ~ y)
rmse_model1 <- mean((d - predict(model1))^2)
二:
mean(model1$residuals^2)
我對R的MSE的計算有些疑問。計算MSE:爲什麼這兩種方式給出不同的結果?
我試過兩種不同的方法,我得到兩個不同的結果。想知道哪一個是找到mse的正確方法。
第一:
model1 <- lm(data=d, x ~ y)
rmse_model1 <- mean((d - predict(model1))^2)
二:
mean(model1$residuals^2)
原則,他們應該給你同樣的結果。但在第一個選項中,您應該使用d$x
。如果您只是使用d
,,則回收規則中的R將重複predict(model1)
兩次(因爲d
有兩列),計算也將涉及d$y
。
請注意,建議在第一個選項中包含na.rm = TRUE
到mean
和newdata = d
到predict
。這使得您的代碼在您的數據中缺少值。另一方面你不需要擔心NA
在第二個選項,因爲lm
自動下降NA
個案。您可以查看此線程以瞭解此功能的潛在效果:Aligning Data frame with missing values。
謝謝!是的,它確實給出了相同的結果。 –