最小二乘法是统计学和数据分析中常用的一种方法,用于估计线性模型中未知参数的最佳值。通过最小化误差的平方和来找到最合适的参数估计。本文将通过几个实战例题来解析最小二乘法,并提供详细的答案解释,帮助读者更好地理解和应用这一方法。
实战例题一:线性回归
题目:假设有一个数据集,包含3个变量:年龄(X1)、工作经验(X2)和年薪(Y)。以下是他们的一些观测值:
| 年龄 | 工作经验 | 年薪 |
|---|---|---|
| 25 | 2 | 60 |
| 30 | 5 | 70 |
| 35 | 8 | 80 |
| 40 | 10 | 90 |
使用最小二乘法建立年薪对年龄和工作经验的线性回归模型。
解析:
确定模型:我们假设线性回归模型为 ( Y = \beta_0 + \beta_1X1 + \beta_2X2 + \epsilon ),其中 ( \beta_0 ) 是截距,( \beta_1 ) 和 ( \beta_2 ) 是斜率,( \epsilon ) 是误差项。
计算参数:我们需要最小化误差的平方和,即 ( \sum_{i=1}^{n}(Y_i - (\beta_0 + \beta_1X1_i + \beta_2X2_i))^2 )。通过求偏导数并令其为零,可以求得 ( \beta_0 )、( \beta_1 ) 和 ( \beta_2 ) 的估计值。
使用代码求解:可以使用 Python 中的
numpy库来计算参数。
import numpy as np
# 数据
X1 = np.array([25, 30, 35, 40])
X2 = np.array([2, 5, 8, 10])
Y = np.array([60, 70, 80, 90])
# 添加常数项
X = np.column_stack((X1, X2, np.ones_like(X1)))
# 计算参数
theta = np.linalg.inv(X.T @ X) @ X.T @ Y
答案:
经过计算,我们得到参数 ( \beta_0 = 5.0 ),( \beta_1 = 0.5 ),( \beta_2 = 2.0 )。因此,线性回归模型为 ( Y = 5.0 + 0.5X1 + 2.0X2 )。
实战例题二:多项式回归
题目:假设有一个数据集,包含一个变量 X 和对应的观测值 Y,如下所示:
| X | Y |
|---|---|
| 1 | 2 |
| 2 | 5 |
| 3 | 10 |
| 4 | 17 |
| 5 | 26 |
使用最小二乘法建立 Y 对 X 的二次多项式回归模型。
解析:
确定模型:我们假设多项式回归模型为 ( Y = \beta_0 + \beta_1X + \beta_2X^2 + \epsilon )。
计算参数:同样,我们需要最小化误差的平方和,并通过求偏导数并令其为零来求得参数 ( \beta_0 )、( \beta_1 ) 和 ( \beta_2 ) 的估计值。
使用代码求解:使用 Python 中的
numpy库来计算参数。
import numpy as np
# 数据
X = np.array([1, 2, 3, 4, 5])
Y = np.array([2, 5, 10, 17, 26])
# 添加 X^2 项
X_squared = X ** 2
# 添加常数项
X = np.column_stack((X, X_squared, np.ones_like(X)))
# 计算参数
theta = np.linalg.inv(X.T @ X) @ X.T @ Y
答案:
经过计算,我们得到参数 ( \beta_0 = 1.0 ),( \beta_1 = 2.0 ),( \beta_2 = 1.0 )。因此,二次多项式回归模型为 ( Y = 1.0 + 2.0X + 1.0X^2 )。
通过以上两个例题,我们可以看到最小二乘法在处理线性回归和多项式回归问题中的应用。在实际应用中,最小二乘法可以帮助我们建立更准确的模型,从而更好地分析和预测数据。
