平均绝对误差(Mean Absolute Error, MAE)是衡量模型预测误差的一种方法,通常用于回归分析。它表示的是预测值与真实值之间差的绝对值的平均数。计算公式如下:
M
A
E
=
1
N
∑
i
=
1
N
∣
y
i
−
y
^
∣
MAE=\frac{1}{N}\sum\limits_{i=1}^{N}|y_i-\hat{y}|
MAE=N1i=1∑N∣yi−y^∣,
其中
y
i
y_i
yi表示第
i
i
i个数据的预测值,
y
^
\hat{y}
y^表示第
i
i
i个数据的真实值。
平均绝对误差的特点是:
MAE通常用于评估模型在预测连续值时的性能,例如在天气预报、股票价格预测等领域。
均方误差(Mean Squared Error, MSE)是另一种衡量模型预测误差的方法,常用于回归分析。它是预测值与真实值之间差的平方的平均数。计算公式如下:
M
S
E
=
1
N
∑
i
=
1
N
(
y
i
−
y
^
)
2
MSE=\frac{1}{N}\sum\limits_{i=1}^{N}(y_i-\hat{y})^2
MSE=N1i=1∑N(yi−y^)2。
均方误差的特点是:
在实际应用中,MSE的一个优点是它在数学上更容易处理,特别是当涉及到梯度下降等优化算法时。此外,MSE是最小二乘法的基础,这是一种常用的参数估计方法。
R平方(R²或R2),也称为决定系数,是衡量回归模型拟合优度的一个统计量。它表示因变量的变异中有多少可以被自变量解释。R平方的值范围从0到1,或者以百分比形式表示从0%到100%。
R平方的计算通常基于均方误差(MSE):
R
2
=
1
−
M
S
E
m
o
d
e
l
M
S
E
n
u
l
l
R^2=1-\frac{MSE_{model}}{MSE_{null}}
R2=1−MSEnullMSEmodel,
其中
M
S
E
m
o
d
e
l
MSE_{model}
MSEmodel表示模型的均方误差,
M
S
E
n
u
l
l
MSE_{null}
MSEnull表示以实际值的均值作为
y
ˉ
\bar{y}
yˉ来计算的 MSE 值。
R平方的解释如下:
𝑅^2=0:表示模型没有任何解释能力,因变量的变异不能由自变量解释。0<𝑅^{2}<1:表示模型可以解释因变量的一部分变异,R平方越接近1,模型的解释能力越强。𝑅^2=1:表示模型完美地解释了因变量的所有变异。虽然R平方是一个常用的统计量,但它也有一些局限性:
在实际应用中,我们应该谨慎地使用R平方,并结合其他统计量和模型诊断工具来全面评估模型的性能。
可以借助sklearn库计算这些指标:
from sklearn.metrics import mean_absolute_error
from sklearn.metrics import mean_squared_error
from sklearn.metrics import r2_score
X_actual = [5, -1, 2, 10]
Y_predict = [3.5, -0.9, 2, 9.9]
print('R Squared =', r2_score(X_actual, Y_predict))
print('MAE =', mean_absolute_error(X_actual, Y_predict))
print('MSE =', mean_squared_error(X_actual, Y_predict))