基于数据不确定度计算线性回归斜率的不确定度


12

如何基于数据不确定性(可能在Excel / Mathematica中)计算线性回归斜率的不确定性?

示例: 样例图 让我们有数据点(0,0),(1,2),(2,4),(3,6),(4,8),...(8、16),但是每个y值都有不确定性为4。我发现,大多数函数会将不确定性计算为0,因为这些点与函数y = 2x完全匹配。但是,如图所示,y = x / 2也与这些点匹配。这是一个夸张的例子,但我希望它能说明我的需求。

编辑:如果我尝试解释更多,而示例中的每个点都有y的某个值,我们假装不知道这是真的。例如,第一个点(0,0)实际上可以是(0,6)或(0,-6)或介于两者之间的任何值。我要问的是,在任何流行的问题中都没有考虑到这一点的算法。在示例中,点(0,6),(1,6.5),(2,7),(3,7.5),(4,8),...(8、10)仍落在不确定性范围内,因此它们可能是正确的点,并且连接这些点的线具有一个方程:y = x / 2 + 6,而我们通过不考虑不确定性而得到的方程为:y = 2x +0。因此,k的不确定性是1,5,而n是6。

TL; DR:在图片中,有一条y = 2x线是使用最小二乘拟合计算得出的,并且可以完美拟合数据。我试图找出y = kx + n中的k和n可以改变多少,但是如果我们知道y值的不确定性,仍然可以拟合数据。在我的示例中,k的不确定度为1.5,n的不确定度为6。在图像中,有“最佳”拟合线和一条刚好适合这些点的线。


1
如果您在存在不确定性,则通常不应该使用普通的线性回归,因为它具有偏差(尽管较小的不确定性将导致较小的偏差;也许您不太在意)。y的不确定性是否始终不变,还是在变化?您如何适应您的生产线?x
Glen_b-恢复莫妮卡

我主要是问y的不确定性。但是如果解决方案也考虑x的不确定性,我会很高兴。通常它们不是恒定的,但是要求它们恒定的解决方案也可以,我尝试使用linearfit,fit,findfit在mathematica和linet中进行拟合(以及一个自定义函数,该函数通过不确定性来加权值)在优秀。
bedanec

您能否尽可能清楚地说明“不确定性”值与重复进行一次实验会如何相关?即,这些不确定性到底代表什么?
Glen_b-恢复莫妮卡

例如,如果y是重量,则Err,但是数字秤只能精确到+ -6。(不是具有这些值的最佳示例,但是例如,当秤显示255g时,它可能是255.0或255.9)
bedanec

您能否解释一下这与我的问题的第一句话有什么关系?
Glen_b-恢复莫妮卡

Answers:


8

在回答“我试图找到多少和在可以改变,但仍然如果我们知道在不确定性拟合数据值。”kny=kx+ny

如果真实关系是线性的,并且中的误差是独立的,具有零均值和已知标准偏差的正态随机变量,则的%置信区是,其中是误差的标准偏差,是对的数量,和是上部与卡方分布的分位自由度。y100(1α)(k,n)(kxi+nyi)2/σi2<χd,α2σiyid(x,y)χd,α2αd

编辑-将每个的标准误差设为3-即,使图中的误差线分别代表每个大约95%置信区间-的95%置信区域的边界方程为。yiyi(k,n)204(k2)2+72n(k2)+9n2=152.271

在此处输入图片说明


4

我在Python中使用以下简单代码进行了天真的直接采样:

import random
import numpy as np
import pylab
def uncreg(x, y, xu, yu, N=100000):
    out = np.zeros((N, 2))
    for n in xrange(N):
        tx = [s+random.uniform(-xu, xu) for s in x]
        ty = [s+random.uniform(-yu, yu) for s in y]
        a, b = np.linalg.lstsq(np.vstack([tx, np.ones(len(x))]).T, ty)[0]
        out[n, 0:2] = [a, b]
    return out
if __name__ == "__main__":
    P = uncreg(np.arange(0, 8.01), np.arange(0, 16.01, 2), 0.1, 6.)
    H, xedges, yedges = np.histogram2d(P[:, 0], P[:, 1], bins=(50, 50))
    pylab.imshow(H, interpolation='nearest', origin='low', aspect='auto',
                 extent=[xedges[0], xedges[-1], yedges[0], yedges[-1]])

并得到了: 直接采样结果的直方图

当然,您可以P为所需的数据挖掘,或更改不确定性分布。


0

之前我曾参加过类似的狩猎活动,我认为可能是一个有用的起点。excel宏函数基于表格点和两个坐标中每个点的不确定性给出线性拟合项及其不确定性。也许要查找它所基于的文件,以决定是否要在不同的环境中实现,修改等。(Mathematica已完成了一些工作。)表面上似乎有不错的演练文档,但是避风港并没有打开宏以查看其注释的程度。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.