线性回归

1.基本概念

线性回归是一种统计方法,用于分析两个或多个变量之间的关系。其主要目的是通过建立一个线性模型来预测一个因变量(或称为目标变量)与一个或多个自变量(或称为特征变量)之间的关系。线性回归模型假设这种关系可以用直线来表示。

  1. 模型形式: 线性回归的基本形式为:

    Y=β0+β1X1+β2X2+…+βnXn+ϵY=β0​+β1​X1​+β2​X2​+…+βn​Xn​+ϵ

    其中 YY 是因变量,XiXi​ 是自变量,βiβi​ 是回归系数,ϵϵ 是误差项。

  2. 简单线性回归与多元线性回归

    • 简单线性回归:只有一个自变量。
    • 多元线性回归:有多个自变量。
  3. 目标: 通过最小化残差平方和(即实际值与预测值之间的差异的平方和)来估计回归系数,从而找到最佳拟合线。

  4. 假设

    • 线性关系:自变量与因变量之间存在线性关系。
    • 同方差性:误差项的方差在所有自变量的值上是常数。
    • 正态性:误差项服从正态分布(在样本量较大时可忽略)。
    • 独立性:观察值是相互独立的。
  5. 应用: 线性回归广泛应用于经济学、金融、社会科学、医疗等领域,用于预测、趋势分析以及因果关系探索。

2.最小二乘法

最小二乘法是一种数学优化技术,用于估计线性回归模型中未知参数的值。其核心思想是通过最小化预测值与实际观测值之间的差异的平方和,来找到最优的回归系数。

  1. 目标: 最小二乘法的目标是找到回归方程中的参数,使得残差平方和(即预测值与实际值之差的平方和)最小化。残差是指每个观测值与模型预测值之间的差。

  2. 数学表达: 对于给定的数据集 (x1,y1),(x2,y2),…,(xn,yn)(x1​,y1​),(x2​,y2​),…,(xn​,yn​),最小二乘法的目标是最小化以下目标函数:

    S=∑i=1n(yi−yi)2S=i=1∑n​(yi​−y​i​)2

    其中,yiy​i​ 是模型的预测值。

  3. 求解步骤

    • 构建模型:根据线性回归模型设定形式。
    • 计算残差:计算每个观测值的残差。
    • 最小化目标函数:通过对目标函数求导并设置为零,求解出最优的回归系数。
  4. 优点

    • 简单易用:适用于线性关系的数据。
    • 有效:在数据量较大且符合线性假设时,估计结果较为准确。
  5. 局限性

    • 对异常值敏感:因为平方项的存在,极端值会对结果产生较大影响。
    • 假设线性关系:如果数据不符合线性假设,可能导致不准确的预测。

3.用代码来表示线性回归

import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

# 生成一些示例数据
# 自变量 X
X = np.array([[1], [2], [3], [4], [5]])
# 因变量 Y
Y = np.array([1.5, 1.8, 3.2, 3.8, 5.1])

# 创建线性回归模型
model = LinearRegression()

# 拟合模型
model.fit(X, Y)

# 预测
Y_pred = model.predict(X)

# 输出模型参数
print(f'回归系数: {model.coef_[0]}')
print(f'截距: {model.intercept_}')

# 绘制结果
plt.scatter(X, Y, color='blue', label='实际数据')
plt.plot(X, Y_pred, color='red', label='拟合线')
plt.xlabel('X')
plt.ylabel('Y')
plt.title('线性回归示例')
plt.legend()
plt.show()
posted @ 2024-11-03 14:40  写代码的大学生  阅读(24)  评论(0编辑  收藏  举报