最小二乘法是一种常用的线性回归办法,用于拟合数据并找到最优的模型参数。它经过最小化实践观测值与模型猜测值之间的残差平方和来确认最优参数。以下是对最小二乘法的详细解说,包含公式和代码示例。

  1. 理论背景:

假定咱们有一个包含 n 个样本的数据集,每个样本包含 d 个特征和一个目标值。用 X 表明特征矩阵,y 表明目标值向量。线性回归模型的一般方式能够表明为:y = X + ,其间 是待估量的模型参数, 是差错项。

  1. 最小二乘法的目标:

最小二乘法的目标是找到最优的 ,使得残差平方和最小化。残差表明实践观测值与模型猜测值之间的差异,即 = y – X。最小二乘法经过最小化残差平方和来确认最优的 ,即 min ||y – X||^2。

  1. 最小二乘法的解:

最小二乘法的解能够经过求解正规方程(normal equation)得到。正规方程能够表明为:X^T X = X^T y。经过求解这个方程,能够得到最优的 的闭式解。

  1. 代码示例(运用 Python 和 NumPy):

下面是一个运用最小二乘法进行线性回归的代码示例:

import numpy as np
# 生成样本数据
X = np.array([[1, 1], [1, 2], [1, 3], [1, 4]])
y = np.array([3, 4, 5, 6])
# 核算最小二乘法解
X_T = np.transpose(X)
X_T_X = np.dot(X_T, X)
X_T_y = np.dot(X_T, y)
beta = np.linalg.solve(X_T_X, X_T_y)
# 打印最优参数
print("最优参数 beta:", beta)

在上面的代码中,咱们首要生成了一个简略的样本数据集,其间 X 是一个包含两个特征的矩阵,y 是对应的目标值向量。然后,咱们经过核算正规方程的解,运用 np.linalg.solve()函数求解线性方程组,得到最优的 值。最终,打印出最优参数 beta。

最小二乘法是线性回归中常用的办法之一,但在实践运用中也可能存在一些约束和假定。因此,在具体问题中,需要依据情况选择适宜的回归办法和评价目标。

当运用最小二乘法进行线性回归时,还能够经过核算残差、确认模型的拟合优度以及进行猜测。

  1. 核算残差:

在最小二乘法中,咱们能够核算实践观测值与模型猜测值之间的残差。残差能够用于评价模型的拟合作用。核算残差的公式为: = y – X。

# 核算残差
residuals = y - np.dot(X, beta)
print("残差:", residuals)

在上述代码中,咱们经过核算 y – X 得到了残差。

  1. 模型的拟合优度:

能够运用不同的目标来评价线性回归模型的拟合优度。常见的目标包含均方差错(MSE)、均方根差错(RMSE)和决定系数(R^2)等。

# 均方差错(MSE)
mse = np.mean(residuals**2)
print("均方差错(MSE):", mse)
# 均方根差错(RMSE)
rmse = np.sqrt(mse)
print("均方根差错(RMSE):", rmse)
# 决定系数(R^2)
ssr = np.sum((y - np.dot(X, beta))**2)  # 回归平方和
sst = np.sum((y - np.mean(y))**2)  # 总平方和
r2 = 1 - (ssr / sst)
print("决定系数(R^2):", r2)

在上面的代码中,咱们分别核算了均方差错(MSE)、均方根差错(RMSE)和决定系数(R^2)。这些目标能够协助咱们评价模型的拟合优度。

  1. 猜测:

在得到最优参数后,咱们能够运用模型进行新数据的猜测。假定咱们有一个新的特征向量 x_new,运用模型猜测对应的目标值 y_new 的办法如下:

# 新数据猜测
x_new = np.array([1, 5])  # 新特征向量
y_new = np.dot(x_new, beta)  # 猜测目标值
print("新数据猜测:", y_new)

在上述代码中,咱们运用最优参数 beta 对新的特征向量 x_new 进行猜测,得到对应的目标值 y_new。

最小二乘法是一种常用的线性回归办法,经过最小化残差平方和来找到最优的模型参数。经过核算残差、评价拟合优度以及进行猜测,咱们能够更全面地了解和运用最小二乘法。