矩阵的numpy平方和

时间:2014-07-17 14:51:44

标签: python numpy

我确实有一个矩阵,在行中进行观察(在不同的pH下进行测量),数据点为列(浓度随时间变化)。因此,一行由一个pH的不同数据点组成。

我确实希望将ODE适合数据。所以我定义了一个成本函数,并想计算所有观察的平方和。取此矩阵的平方和应该如下:

res = y - yhat                        # calculate residuals
ssq = np.diag(np.dot(res.T,res))      # sum over the diagonal

是正确的吗?

1 个答案:

答案 0 :(得分:18)

如果您将获取最后一个数组的总和,那将是正确的。 但它也不必要地复杂(因为非对角元素也是用np.dot计算的) 更快的是:

ssq = np.sum(res**2)

如果你想要每个实验的ssd,你可以这样做:

ssq = np.sum(res**2, axis=1)