我正在使用linalg.lstsq(A,y)
来解决y=Ax
类型的最小二乘问题。
当我想用对角线权重矩阵W解决WLS问题时,我可以使用this question中建议的解决方案并应用:
wA = A * np.sqrt(np.diagonal(W))
wy = y * np.sqrt(np.diagonal(W))
linalg.lstsq(wA, wy)[0]
但是,如果W
不是对角线,则无效。
我可以应用以下的分析解决方案(根据wikipedia):
ATwA = np.dot(np.dot(A.T,W),A)
ATwy = np.dot(np.dot(A.T,W),y)
linalg.lstsq( ATwA , ATwy )[0]
但是我想知道是否有可能使用linalg
或其他库来调用类似的东西:
solve(y,A,W)