gpt4 book ai didi

numpy - numpy中的线性回归斜率误差

转载 作者:行者123 更新时间:2023-12-01 07:36:39 25 4
gpt4 key购买 nike

我使用 numpy.polyfit 获得线性回归:coeffs = np.polyfit(x, y, 1)。

使用 numpy 计算拟合斜率误差的最佳方法是什么?

最佳答案

正如 @ebarr 在评论中提到的,您可以使用 np.polyfit 通过关键字参数 full=True 返回残差。

例子:

x = np.array([0.0, 1.0, 2.0, 3.0,  4.0,  5.0])
y = np.array([0.0, 0.8, 0.9, 0.1, -0.8, -1.0])
z, residuals, rank, singular_values, rcond = np.polyfit(x, y, 3, full=True)

residuals 则为最小二乘和。

或者,您可以使用关键字参数 cov=True 来获取协方差矩阵。

例子:

x = np.array([0.0, 1.0, 2.0, 3.0,  4.0,  5.0])
y = np.array([0.0, 0.8, 0.9, 0.1, -0.8, -1.0])
z, cov = np.polyfit(x, y, 3, cov=True)

然后,cov 的对角线元素是 z 中系数的方差,即 np.sqrt(np.diag(cov)) 给出标准差的系数。您可以使用标准偏差来估计绝对误差超过特定值的概率,例如通过在 uncertainty propagation calculation 中插入标准差.如果你使用例如不确定性传播中的 3* 标准差,您计算的误差在 99.7% 的情况下都不会超过。

最后一个提示:您必须选择是选择 full=True 还是 cov=Truecov=True 仅在 full=False(默认)时有效,反之亦然。

关于numpy - numpy中的线性回归斜率误差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27283393/

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