python 最小二乘法求解程序
以下是使用 Python 实现最小二乘法的代码:
import numpy as np
def least_squares(x, y):
n = len(x)
x_mean = np.mean(x)
y_mean = np.mean(y)
xy_cov = np.sum((x - x_mean) * (y - y_mean))
x_var = np.sum((x - x_mean) ** 2)
w = xy_cov / x_var
b = y_mean - w * x_mean
return w, b
使用示例:
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 5, 4, 5])
w, b = least_squares(x, y)
print("w =", w)
print("b =", b)
输出结果:
w = 0.6
b = 2.2
说明:该程序实现了最小二乘法的基本思想,即通过求解样本数据的均值、方差和协方差等统计量,计算出回归直线的斜率和截距,从而得到最优的拟合直线。
原文地址: https://www.cveoy.top/t/topic/ESb 著作权归作者所有。请勿转载和采集!