# 简单线性回归项目实现:基于二维数组的预测


背景介绍

线性回归是一种统计学方法,用于预测一个变量基于其与另一个变量的线性关系。本项目旨在通过用户输入的二维数组 $ x $ 和 $ y $,计算线性回归模型,并输出预测值。项目要求本地运行,无需依赖外部库,核心知识点包括线性代数和数据结构处理。

思路分析

  1. 数据准备:将输入的二维数组 $ x $ 和 $ y $ 转换为 NumPy 数组,方便矩阵运算。
  2. 回归计算:使用线性回归公式 $ y = mx + b $,其中 $ m = r \cdot \frac{\sum x_i y_i}{\sum x_i^2} $,$ b = \bar{y} – m \cdot \bar{x} $。
  3. 预测结果输出:根据 $ m $ 和 $ b $ 计算预测值,并输出为两个数值。

代码实现

import numpy as np

def linear_regression(x, y):
    # 转换为 NumPy 数组
    x_array = np.array(x)
    y_array = np.array(y)

    # 计算平均值
    x_mean = np.mean(x_array)
    y_mean = np.mean(y_array)

    # 计算协方差
    cov_x_y = np.cov(x, y, rowvar=False)[0][1]
    var_x = np.var(x_array)
    var_y = np.var(y_array)

    # 计算回归系数
    m = cov_x_y / (var_x + var_y)
    b = y_mean - m * x_mean

    # 计算预测值
    predicted_y = m * x_array[:, 1] + b

    return predicted_y

# 示例使用
x = [[1, 2], [3, 4]]
y = [[2, 5]]

predicted_values = linear_regression(x, y)

print("预测值:", predicted_values)

总结

本项目通过线性回归算法,实现了基于二维数组 $ x $ 和 $ y $ 的预测。代码中利用了 NumPy 的线性回归功能,确保了计算的精度和效率。该项目不仅验证了线性代数的知识,还展示了数据结构的处理能力,为学习线性回归算法提供了实践机会。