如何使用R方和均方误差评估线性回归模型
线性回归模型是一种常用的统计分析方法,用于建立自变量与因变量之间的线性关系。在评估线性回归模型的性能时,常使用R方和均方误差来衡量其拟合效果。
一、R方(R-squared)评估线性回归模型
R方是一个统计指标,用于衡量线性回归模型对观测数据拟合的程度。R方的取值范围在0到1之间,值越接近1表示模型对数据的解释能力越强。
R方的计算公式为:R方 = 1 - SSR/SST,其中SSR表示残差平方和,SST表示总平方和。
下面是一个使用R方评估线性回归模型的示例:
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
# 创建自变量和因变量
X = np.array([[1, 1], [1, 2], [2, 2], [2, 3]])
y = np.dot(X, np.array([1, 2])) + 3
# 训练线性回归模型
reg = LinearRegression().fit(X, y)
# 预测
y_pred = reg.predict(X)
# 计算R方
r2 = r2_score(y, y_pred)
print("R方:", r2)
输出结果为:R方:1.0,表示模型对数据的拟合程度非常好。
二、均方误差(Mean Squared Error)评估线性回归模型
均方误差是一种常见的度量线性回归模型预测能力的评估指标。均方误差越小,表示模型对数据的预测效果越好。
均方误差的计算公式为:均方误差 = 1/n ∑(yi - yi_pred)^2,其中n表示样本数量,yi表示真实值,yi_pred表示模型预测值。
下面是一个使用均方误差评估线性回归模型的示例:
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
# 创建自变量和因变量
X = np.array([[1, 1], [1, 2], [2, 2], [2, 3]])
y = np.dot(X, np.array([1, 2])) + 3
# 训练线性回归模型
reg = LinearRegression().fit(X, y)
# 预测
y_pred = reg.predict(X)
# 计算均方误差
mse = mean_squared_error(y, y_pred)
print("均方误差:", mse)
输出结果为:均方误差:2.0146e-29,表示模型对数据的预测非常准确。
通过使用R方和均方误差这两个评估指标,我们可以对线性回归模型的拟合效果进行客观的评估和比较。在实际应用中,根据模型的具体需求,可以选择合适的评估指标进行模型性能评估。
