gpt4 book ai didi

python - 使用 linalg.lstsq 进行 numpy 多元回归

转载 作者:太空狗 更新时间:2023-10-30 01:34:35 26 4
gpt4 key购买 nike

我正在尝试求解方程组中的 m1、m2、m3、m4,使得:

y=(m1*x1)+(m2*x2)+(m3*x3)+(m4*x4)

地点:

x1=[x11,x12,x13...]
x2=[x21,x22,x23...]
x3=[x31,x32,x33...]
x4=[x41,x42,x43...]

y=[y1,y2,y3,y4,...]

我一直在努力做:

m=numpy.linalg.lstsq(A,y)[0]

地点:

A = [[x11,x21,x31,x41],[x12,x22,x32,x42],.....]

但我的结果与在 Mat-lab 中进行的类似分析不匹配。

您可能看到的任何建议或问题都会非常有帮助!

谢谢。

最佳答案

看来您构建的 A 矩阵不正确。此外,np.linalg.lstsq 似乎只接受A2D 数组,这意味着您可以对其中一个进行最小二乘法运算变量一次。试试这个:

nvar = 4
one = np.ones(x1.shape)
A = np.vstack((x1,one,x2,one,x3,one)).T.reshape(nvar,x1.shape[0],2)

for i,Ai in enumerate(A):
a = np.linalg.lstsq(Ai,y)[0]
R = np.sqrt( ((y - Ai.dot(a))**2).sum() )
print R

关于python - 使用 linalg.lstsq 进行 numpy 多元回归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17031415/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com