简单线性回归分析

简单线性回归分析

简单线性回归是一种用于分析两个定量变量之间关系的统计技术。我们试图预测的变量称为因变量或响应变量,而用于进行预测的变量称为自变量或预测变量。在简单线性回归中,我们试图找到一条能够最好地描述这两个变量之间关系的直线。

简单线性回归的基本概念

简单线性回归基于因变量 \(Y\) 与自变量 \(X\) 之间存在线性关系的假设。简单线性回归模型的一般形式为:

\[ Y = \beta_0 + \beta_1 X + \epsilon \]

在哪里:
– \( Y \) 是因变量。
– \( X \) 是自变量。
– \( \beta_0 \) 是截距,即当 \(X = 0\) 时 \(Y\) 的值。
– \( \beta_1 \) 是斜率或梯度,即 \(X\) 每变化一个单位,\(Y\) 的平均变化量。
– \( \epsilon \) 是误差项或残差项,表示 \(Y\) 中无法用 \(X\) 解释的变异性。

简单线性回归的目标是估计参数 \(\beta_0\) 和 \(\beta_1\),以便该模型能够预测与 \(X\) 值相关的 \(Y\) 值。

最小二乘法

拟合简单线性回归模型最常用的方法之一是最小二乘法。该方法旨在最小化实际观测值与模型预测值之间垂直偏差平方和。假设我们有 n 个观测值,每个观测值由 \((x_i, y_i)\) 组成,其中 \(i = 1, 2, …, n\)。待最小化的函数为:

\[ S(\beta_0, \beta_1) = \sum_{i=1}^{n} (y_i – (\beta_0 + \beta_1 x_i))^2 \]

  典型相关分析

为了找到使该函数最小化的 \(\beta_0\) 和 \(\beta_1\),我们对 \(S(\beta_0, \beta_1)\) 关于每个参数求偏导数,并将这些偏导数设为零。数学计算可以简化如下:

\[ \beta_1 = \frac{\sum_{i=1}^{n} (x_i – \bar{x})(y_i – \bar{y})}{\sum_{i=1}^{n} (x_i – \bar{x})^2} \]

\[ \beta_0 = \bar{y} – \beta_1 \bar{x} \]

在哪里:
– \(\bar{x}\) 是 \(X\) 的平均值
– \(\bar{y}\) 是 \(Y\) 的平均值

在获得参数 \(\beta_0\) 和 \(\beta_1\) 之后,可以使用简单的线性回归模型来预测 \(X\) 的每个值对应的 \(Y\) 的值。

简单线性回归的假设

为了获得有效可靠的结果,简单线性回归假设了以下几个条件:
1. 线性:因变量与自变量之间的关系必须是线性的。
2. 独立性:观察结果必须彼此独立。
3. 同方差性:残差变异性必须在自变量的取值范围内保持不变。
4. 残差正态性:残差(误差)必须服从正态分布。

如果这些假设不成立,简单线性回归模型的结果将不可靠,并且可能无法做出准确的预测。

回归模型评估

评估简单线性回归模型预测效果的一种方法是使用决定系数(R²)。决定系数表示因变量的变异性中,有多少比例可以由自变量的变异性来解释。

\[ R^2 = \frac{\sum_{i=1}^{n} (\hat{y}_i – \bar{y})^2}{\sum_{i=1}^{n} (y_i – \bar{y})^2} \]

在哪里:
– \(\hat{y}_i\) 是 \(Y\) 的预测值。
– \(y_i\) 是 \(Y\) 的实际值。
– \(\bar{y}\) 是 \(Y\) 值的平均值。

R² 值介于 0 到 1 之间。R² 值接近 1 表示该模型可以解释因变量的大部分变异性。

  如何将数据分组到类别区间中

编程语言实现

要实现简单线性回归,我们可以使用各种统计软件或编程语言。以下是使用 `scikit-learn` 库在 Python 中实现的示例:

“`蟒蛇
将numpy导入为np
将matplotlib.pyplot导入为plt
从 sklearn.linear_model 导入 LinearRegression
从 sklearn.metrics 导入 mean_squared_error, r2_score

时间
X = np.array([[1], [2], [3], [4], [5]]).astype(np.float64)
y = np.array([1.5, 3.6, 3.5, 2.9, 5.5]).astype(np.float64)

型号
模型 = 线性回归 ()
model.fit (X, y)

普雷迪克西
y_pred = model.predict(X)

系数
beta_0 = 模型.截距_
beta_1 = model.coef_[0]

print(f'截距:{beta_0}')
print(f'斜率: {beta_1}')
print(f'均方误差:{mean_squared_error(y, y_pred)}')
print(f'决定系数(R²):{r2_score(y, y_pred)}')

数据图和回归线
plt.scatter(X, y, color='blue')
plt.plot(X, y_pred, color='red')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
“`

在上面的例子中,我们首先导入必要的库,定义数据 \(X\) 和 \(Y\),然后使用 scikit-learn 库中的 `LinearRegression` 对象对数据进行模型拟合。模型拟合完成后,我们进行预测并计算系数、均方误差和决定系数。最后,我们绘制数据和回归线。

结论

简单线性回归是一种强大的统计分析工具,用于解释两个定量变量之间的关系。在满足线性、独立性、同方差性和正态性等基本假设后,我们可以根据自变量的值预测因变量的值。最小二乘法提供了一种有效的方法来拟合回归线并确定最优参数。通过决定系数 (R²) 对模型进行评估,可以深入了解模型的性能。

尽管简单线性回归存在一些局限性,例如只能处理两个变量以及必须满足的假设,但该技术仍然是统计学和数据分析的重要基础,并且通常用作理解变量之间关系的第一步,然后再转向更复杂的方法。

请留言