如何在R中找到线性模型的均方误差?
为了找到线性模型的均方误差,我们可以使用模型的预测值并从因变量中找到误差,然后取其平方和整个输出的均值。例如,如果我们有一个名为 M 的线性模型用于数据帧 df,那么我们可以使用命令 mean((df$y- predict(M))^2)找到均方误差。
示例 1
考虑以下数据框 -
x1<-rnorm(20)输出结果y1<-rnorm(20)
df1<-data.frame(x1,y1)
df1
x1 y11 -0.64419775 -0.655535847
2 -2.02925533 -0.074246704
3 1.42639556 0.226413529
4 0.21841252 -0.799586646
5 -0.08272931 0.021258680
6 1.36349138 -0.358914344
7 0.58243090 0.334064031
8 -0.18839329 0.596566815
9 1.97993745 1.808762160
10 -0.31676008 0.812349831
11 -0.06732802 -0.189255661
12 1.76175840 -0.317888508
13 -0.29681017 0.947048363
14 -1.02210007 0.428273333
15 -0.33408154 2.273976129
16 0.49158882 -0.483902966
17 -0.71446066 0.001058688
18 -0.98031110 0.011280707
19 0.78912612 0.620691096
20 0.63751954 -0.668467539
为 y1 和 x1 创建线性模型,然后找到预测值和均方误差 -
Model1<-lm(y1~x1,data=df1)predict(Model1)
1 2 3 4 5 6 7 80.1936091 0.1343150 0.2822509 0.2305373 0.2176455 0.2795580 0.2461209 0.2131220
9 10 11 12 13 14 15 16
0.3059479 0.2076267 0.2183048 0.2966077 0.2084807 0.1774312 0.2068852 0.2422320
17 18 19 20
0.1906012 0.1792202 0.2549695 0.2484792
平均值((df1$y1-predict(Model1))^2)
[1] 0.6022432
例2
iv1<-rpois(20,2)输出结果iv2<-rpois(20,3)
iv3<-rpois(20,1)
Y<-rpois(20,6)
df2<-data.frame(iv1,iv2,iv3,Y)
df2
iv1 iv2 iv3 Y1 3 5 1 5
2 6 2 0 12
3 1 1 0 10
4 5 2 1 6
5 5 1 0 6
6 4 4 0 5
7 1 2 0 2
8 1 1 0 6
9 2 5 0 5
10 2 4 0 6
11 4 6 2 8
12 3 4 1 4
13 2 5 2 6
14 4 3 1 4
15 3 3 2 10
16 2 2 1 7
17 2 4 0 14
18 2 1 0 7
19 1 3 1 7
20 2 4 1 4
为 Y、iv1、iv2、iv3 创建线性模型,然后找到预测值和均方误差 -
Model2<-lm(Y~iv1+iv2+iv3,data=df2)predict(Model2)
1 2 3 4 5 6 7 86.368896 7.886330 6.659550 7.545170 7.802283 6.911692 6.457914 6.659550
9 10 11 12 13 14 15 16
6.138690 6.340326 6.397466 6.570532 6.027735 7.057851 6.716690 6.688120
17 18 19 20
6.340326 6.945233 6.200801 6.284848
平均值((df2$Y-predict(Model2))^2)
[1] 7.745138
以上是 如何在R中找到线性模型的均方误差? 的全部内容, 来源链接: utcz.com/z/355117.html