Python 线性回归的斜率和截距误差的计算

Python 线性回归的斜率和截距误差的计算,python,numpy,scipy,linear-regression,Python,Numpy,Scipy,Linear Regression,我有一个非常简单的3个数据点的例子,我想使用np.polyfit或scipy.stats.linregresse对这些点进行线性拟合y=a0+a1x 对于进一步的误差传播,我需要斜率和截距中的误差。到目前为止,我还不是统计方面的专家,但在科学方面,我只知道标准差不分斜率和截距。 Polyfit有可能估计协方差矩阵,但这不适用于仅3个数据点 例如,使用qtiplot时,会产生斜率和截距误差 B (y-intercept) = 9,291335740072202e-12 +/- 2,39126009

我有一个非常简单的3个数据点的例子,我想使用
np.polyfit
scipy.stats.linregresse
对这些点进行线性拟合
y=a0+a1x

对于进一步的误差传播,我需要斜率和截距中的误差。到目前为止,我还不是统计方面的专家,但在科学方面,我只知道标准差不分斜率和截距。 Polyfit有可能估计协方差矩阵,但这不适用于仅3个数据点

例如,使用qtiplot时,会产生斜率和截距误差

B (y-intercept) = 9,291335740072202e-12 +/- 2,391260092282606e-13
A (slope) = 2,527075812274368e-12 +/- 6,878180102259077e-13
用python计算这些值的合适方法是什么

编辑:

导致

ValueError:数据点的数量必须超过订单+2 协方差矩阵的贝叶斯估计

提供斜率、截距、相关系数、p值和标准误差。拟合线没有与其斜率或截距相关的误差,误差与点到直线的距离有关

一个例子

import numpy as np
from scipy import stats
import matplotlib.pyplot as plt

points = np.array([[1, 3], [2, 4], [2, 7]])
slope, intercept, r_value, p_value, std_err = stats.linregress(points)

print("slope = ", slope)
print("intercept = ", intercept)
print("R = ", r_value)
print("p = ", p_value)
print("Standard error = ", std_err)

for xy in points:
    plt.plot(xy[0], xy[1], 'ob')

x = np.linspace(0, 10, 100)
y = slope * x + intercept
plt.plot(x, y, '-r')

plt.grid()
plt.show()
提供斜率、截距、相关系数、p值和标准误差。拟合线没有与其斜率或截距相关的误差,误差与点到直线的距离有关

一个例子

import numpy as np
from scipy import stats
import matplotlib.pyplot as plt

points = np.array([[1, 3], [2, 4], [2, 7]])
slope, intercept, r_value, p_value, std_err = stats.linregress(points)

print("slope = ", slope)
print("intercept = ", intercept)
print("R = ", r_value)
print("p = ", p_value)
print("Standard error = ", std_err)

for xy in points:
    plt.plot(xy[0], xy[1], 'ob')

x = np.linspace(0, 10, 100)
y = slope * x + intercept
plt.plot(x, y, '-r')

plt.grid()
plt.show()

多元拟合的协方差矩阵如何“不起作用”?请给出失败的例子。为什么不使用它给出斜率、截距、相关系数、p值和标准误差?多元拟合的协方差矩阵如何“不起作用”?请给出失败的例子。为什么不使用它给出斜率、截距、相关系数、p值和标准误差?谢谢你的例子,但斜率和截距都有物理测量。我必须分别计算两者,并且需要进行误差传播。因此,有必要获得斜率和截距的独立误差。有什么方法可以做到这一点吗?抱歉,费边,但我认为你误解了回归线(最佳拟合线)的性质。若要将误差与回归线的斜率或截距相关联,则数据点本身必须具有相关误差,但您在问题中未提及这一点。否则,给定一组无相关误差的确定点,只有一条最佳拟合线。谢谢您的示例,但有斜率和截距的物理测量。我必须分别计算两者,并且需要进行误差传播。因此,有必要获得斜率和截距的独立误差。有什么方法可以做到这一点吗?抱歉,费边,但我认为你误解了回归线(最佳拟合线)的性质。若要将误差与回归线的斜率或截距相关联,则数据点本身必须具有相关误差,但您在问题中未提及这一点。否则,给定一组无相关误差的确定点,只有一条最佳拟合线。