使用numpy.polyfit和因变量的斜率误差

时间:2019-06-18 08:27:25

标签: python numpy linear-regression standard-deviation

执行线性回归时,我难以理解变量之间的误差估计。提到How to find error on slope and intercept using numpy.polyfit时,我要用numpy.polyfit拟合一条直线(下面的代码)。

如链接中的问题所述,协方差矩阵对角线的平方根是每个拟合系数的估计标准偏差,因此np.sqrt(V[0][0]))是斜率的标准偏差。我的问题是:应该如何表示y的标准偏差?是否应该将误差求和相加,即y +/- np.sqrt(np.sqrt(V[0][0])**2+np.sqrt(V[1][1])**2)?还是我只能用残差的标准偏差(将为np.sqrt(S)/(len(y)-1))来表示它?最后,是否可以从协方差矩阵中获得残差?

PS:感谢您为问题添加“答案”。

import numpy as np

# Data for testing
x = np.array([0.24580423, 0.59642861, 0.35879163, 0.37891011, 0.02445137,
       0.23830957, 0.38793433, 0.68054104, 0.83934083, 0.76073689])

y = np.array([0.61502838, 1.01772738, 1.35351035, 1.32799754, 0.23326104,
       0.89275698, 0.689498  , 1.48300835, 2.324673  , 1.52208752])

p, V = np.polyfit(x, y, 1, cov=True)

p2, S, *rest = np.polyfit(x, y, 1, full=True)

0 个答案:

没有答案