计算线性回归系数的误差,给定误差y

问题描述 投票:0回答:1

我正在处理与测量声速相关的实验室测量结果。为了简单地说我的目标,我有一系列的测量

y(x)
如下:

x       y
0       0
1     212
2     426
3     640
4     858
5    1074
6    1290
7    1506
8    1722
9    1939

而且我还知道

y
的测量值可能会偏离 2。因此,例如,对于
x = 1
y
可能在 210 到 214 之间的任何位置。我想知道这个误差对系数有多大影响线性回归。

我正在使用

sklearn
LinearRegression
并使用
fit_intercept=False
参数,任务并不那么难。我只需要计算系列
y - 2
y + 2
的系数并得到差异。但随后我必须在没有
fit_intercept=False
的情况下执行类似的任务(因此,当
y
为 0 时,
x
不为 0)。

所以我想知道是否有任何正式实施的方法来实现我的目标?不一定在

sklearn

python numpy scikit-learn linear-regression statsmodels
1个回答
0
投票

y=mx+c 中的斜率系数 m 如下所示。 (我怀疑您只需要斜率即可从数据中获取声速。)

(1) 如果允许非零 c 则斜率为

且分母为正。 (它是 x 方差的 N 倍)。

要获得您想要最大化的最大斜率

所以 如果 x 大于 x_mean,则取 y 的最大可能值;如果 x 小于 x_mean,则取 y 的最小值

要获得最小斜率,请通过相反的操作最小化分子。

(2) 如果 c 被迫为零(线必须经过原点),则斜率是

由于 x 值是固定的,因此通过在 x 为正时取 y 的最大可能值和在 x 为负时取最小可能值来最大化斜率。再次执行相反的操作以获得最小斜率。

© www.soinside.com 2019 - 2024. All rights reserved.