📜  Python |均方误差

📅  最后修改于: 2021-04-17 01:50:24             🧑  作者: Mango

估计器的均方误差(MSE)均方差(MSD)测量误差平方的平均值,即估计值和真实值之间的均方差。它是一个风险函数,对应于平方误差损失的期望值。始终为非-负值,接近零的值更好。 MSE是误差的第二个矩(大约是原点),因此合并了估算器的方差及其偏差。

找到MSE的步骤

  1. 找到回归线的方程式。

    (1)      \begin{equation*}   \hat{Y}_i = \hat{\beta}_0 + \hat{\beta}_1 X_i + \hat{\epsilon}_i   \end{equation*}

  2. 在步骤1中找到的方程式中插入X值以获得相应的Y值,即

    (2)    \begin{equation*} \hat{Y}_i \end{equation*}

  3. 现在减去新的Y值(即\hat{Y}_i )从原始Y值开始。因此,发现的值是误差项。也称为给定点到回归线的垂直距离。

    (3)     \begin{equation*}  Y_i - \hat{Y}_i  \end{equation*}

  4. 对在步骤3中发现的错误求平方。

    (4)     \begin{equation*}  {(Y_i - \hat{Y}_i)}^2  \end{equation*}

  5. 总结所有正方形。

    (5)     \begin{equation*}  \sum_{i=1}^{N}(Y_i - \hat{Y}_i)^2  \end{equation*}

  6. 将在第5步中找到的值除以观察总数。

    (6)     \begin{equation*}  MSE = \frac{1}{N}\sum_{i=1}^{N}(Y_i - \hat{Y}_i)^2  \end{equation*}

例子:
考虑给定的数据点:(1,1),(2,1),(3,2),(4,2),(5,4)
您可以使用此在线计算器查找回归方程式/线。

回归线方程:Y = 0.7X – 0.1

X Y \hat{Y}_i
1 1 0.6
2 1 1.29
3 2 1.99
4 2 2.69
5 4 3.4

现在,使用在上面的步骤6中为MSE找到的公式,我们可以得出MSE = 0.21606

使用scikit的MSE –学习:

from sklearn.metrics import mean_squared_error
  
# Given values
Y_true = [1,1,2,2,4]  # Y_true = Y (original values)
  
# calculated values
Y_pred = [0.6,1.29,1.99,2.69,3.4]  # Y_pred = Y'
  
# Calculation of Mean Squared Error (MSE)
mean_squared_error(Y_true,Y_pred)
Output: 0.21606

使用Numpy模块的MSE:

import numpy as np
  
# Given values
Y_true = [1,1,2,2,4]  # Y_true = Y (original values)
  
# Calculated values
Y_pred = [0.6,1.29,1.99,2.69,3.4]  # Y_pred = Y'
  
# Mean Squared Error
MSE = np.square(np.subtract(Y_true,Y_pred)).mean()
Output: 0.21606