对于y和x的一组值,是否存在用于解决这个问题的标准方法/函数?
对于一维变量y和x,似乎存在,但是对于N-D变量y和x,我们有一个NxN矩阵和一个Nx1向量。
我看到的唯一的解决方案是假设y是一维的,这显然没有帮助。
目前我唯一的解决办法是进行N^2线性多项式拟合,得到形式的系数集
y(j)=a_j k x(k)+b_jk
然后取B_jk的平均值得到一个向量B我不相信这是解决这个问题的最佳办法。

最佳答案

一种方法是用最小二乘法求A和B,以最小化

Q = Sum{ (A*x[i]+B - y[i])'*(A*x[i] + B - y[i])}

(这里'表示转置,我假设你有向量x[0]…x[N-1]和y[0]…y[N-1])
虽然可以使用标准的线性最小二乘解算器来实现这一点,但有另一种方法:
计算x的平均xbar和y的平均ybar,即
xbar = Sum{ x[i]}/N
ybar = Sum{ y[i]}/N

计算下列矩阵
C = Sum{ (x[i]-xbar)*(x[i]-xbar)'}
D = Sum{ (y[i]-ybar)*(x[i]-xbar)'}

计算A和B
A = D*inv(C)
B = A*xbar-ybar

注意,我们只能计算A,如果C是可逆的这等于x[]向量必须跨越它们所在的空间如果没有,那么A不是唯一确定的。
以上配方解决问题的证据并不是那么有启发性;如果你想看的话,请告诉我。

08-24 16:35