简单线性回归是一种用于建模两个变量之间线性关系的统计方法。通常,我们希望通过一个自变量(或称为解释变量)来预测一个因变量(或称为响应变量)。本文将通过案例、公式和代码,详细介绍简单线性回归的基本概念。
简单线性回归模型
简单线性回归模型可以用以下公式表示:
$$
y = \beta_0 + \beta_1 x + \epsilon
$$
其中:
- $y$ 表示因变量(被预测的变量)
- $x$ 表示自变量(用于预测的变量)
- $\beta_0$ 是截距(即当 $x=0$ 时 $y$ 的预测值)
- $\beta_1$ 是斜率($x$ 每增加一个单位 $y$ 的变化量)
- $\epsilon$ 是误差项(表示其他不可预测的因素)
案例分析
假设我们想研究一辆汽车的油耗($y$,以升/百公里为单位)与其速度($x$,以公里/小时为单位)之间的关系。我们收集了以下数据:
速度 (km/h) | 油耗 (L/100km) |
---|---|
60 | 8.5 |
70 | 7.5 |
80 | 6.5 |
90 | 5.5 |
100 | 5.0 |
我们希望使用简单线性回归来预测油耗。
数据可视化
首先,我们可以使用 Python 的 matplotlib
库来可视化这些数据点:
1 | import matplotlib.pyplot as plt |
这将生成速度与油耗的散点图。
拟合线性模型
接下来,我们使用 scikit-learn
来拟合简单线性回归模型:
1 | from sklearn.linear_model import LinearRegression |
理解模型参数
假设输出结果为:
- 截距 (β0): 10.00
- 斜率 (β1): -0.05
这意味着当速度为 0 km/h 时,油耗预测为 10.00 L/100km。斜率为 -0.05 意味着速度每增加 1 km/h,油耗减少 0.05 L/100km。
进行预测
我们可以使用模型来预测特定速度下的油耗。例如,预测速度为 85 km/h 时的油耗:
1 | speed_to_predict = np.array([[85]]) |
模型评估
评估模型的好坏通常使用 $R^2$ 决定系数,它反映了模型对因变量变异的解释程度。可以使用以下代码计算 $R^2$:
1 | r_squared = model.score(X, y) |
$R^2$ 的值范围在 0 到 1 之间,值越接近 1 表示模型解释的变异越大。
结论
简单线性回归是分析两个变量之间关系的有效工具。通过本教程,我们学习了如何建立模型、进行预测以及评估模型的表现。掌握简单线性回归的基本概念和技巧,对进一步学习更复杂的模型有着重要的意义。