最小二乘法 Python 实现
目标
根据上面的最小二乘法代数推导过程,使用 Python 实现样本 x, y 的最小二乘法求解的函数。
def least_squares_function(x, y):
"""
参数:
x -- 样本 x 取值列表
y -- 样本 y 取值列表
返回:
w0 -- 线性方程参数, 保留两位小数
w1 -- 线性方程参数, 保留两位小数
"""
### TODO ###
return w0, w1 # 务必按此顺序返回
要求
- 题目需使用 Python3 完成,不能使用标准库及第三方库。
- 传入参数为列表类型,例如:
x=[1,2,3,4]
;y=[4,5,6,7]
。 - 返回参数为四舍五入保留 2 位浮点数。
- 需要将函数
least_squares_function(x, y)
保存到least_squares.py
文件中
知识点
- 最小二乘法代数推导
- 最小二乘法 Python 实现
def muti(l1,l2): l=len(l1) ret=[0]*l for i in range(l): ret[i]=l1[i]*l2[i] return sum(ret) def least_squares_function(x,y): n=len(x) w1=(n*muti(x,y)-sum(x)*sum(y))/(n*muti(x,x)-(sum(x)**2)) w0=(muti(x,x)*sum(y)-sum(x)*muti(x,y))/(n*muti(x,x)-(sum(x))**2) w1=round(w1,2) w0=round(w0,2) return w0,w1 x=[1,2,3,4] y=[5,6,7,8] print(least_squares_function(x,y))