如何在R中找到线性模型的均方误差?

为了找到线性模型的均方误差,我们可以使用模型的预测值并从因变量中找到误差,然后取其平方和整个输出的均值。例如,如果我们有一个名为 M 的线性模型用于数据帧 df,那么我们可以使用命令 mean((df$y- predict(M))^2)找到均方误差。

示例 1

考虑以下数据框 -

x1<-rnorm(20)

y1<-rnorm(20)

df1<-data.frame(x1,y1)

df1

输出结果
      x1          y1

1  -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         8

0.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 Y

1  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       8

6.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

回到顶部