Рассчитать неопределенность наклона линейной регрессии на основе неопределенности данных

12

Как рассчитать неопределенность наклона линейной регрессии на основе неопределенности данных (возможно, в Excel / Mathematica)?

Пример: Пример сюжета у нас есть точки данных (0,0), (1,2), (2,4), (3,6), (4,8), ... (8, 16), но каждое значение y имеет неопределенность 4. Большинство функций, которые я обнаружил, вычислили бы неопределенность как 0, так как точки полностью соответствуют функции y = 2x. Но, как показано на рисунке, y = x / 2 также соответствуют точкам. Это преувеличенный пример, но я надеюсь, что он показывает, что мне нужно.

РЕДАКТИРОВАТЬ: Если я попытаюсь объяснить немного больше, хотя каждый пункт в примере имеет определенное значение у, мы притворяемся, что мы не знаем, правда ли это. Например, первая точка (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, рассчитанная с использованием метода наименьших квадратов, и она идеально соответствует данным. Я пытаюсь выяснить, насколько k и n в y = kx + n могут измениться, но все еще соответствуют данным, если мы знаем неопределенность в значениях y. В моем примере неопределенность k равна 1,5, а n - 6. На изображении есть «наилучшая» линия подгонки и линия, которая едва соответствует точкам.

bedanec
источник
1
x
Я в основном спрашиваю о неопределенности у вас. Но я был бы счастлив, если бы решение учитывало и неопределенность в x. Как правило, они не являются постоянными, но решение, которое требует, чтобы они были постоянными, также было бы хорошо, я попытался установить соответствие с linearfit, fit, findfit в mathematica и linest (и пользовательской функции, которая, как я обнаружил, взвешивает значения по неопределенностям) в первенствует.
Беданец
Можете ли вы объяснить как можно более четко, как значения «неопределенности» будут связаны с тем, что произойдет, скажем, при повторении эксперимента? то есть, что именно эти неопределенности представляют?
Glen_b
Ошибка, например, если у - вес, но цифровая шкала точна только до + -6. (Не лучший пример с этими значениями, но, например, когда масштаб показывает 255 г, это может быть 255,0 или 255,9)
bedanec
Не могли бы вы объяснить, как это относится к первому предложению моего вопроса?
Glen_b

Ответы:

8

kny=kx+ny

y100(1α)(k,n)(kxi+nyi)2/σi2<χd,α2σiyid(x,y)χd,α2αd

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данные или изменить распределение неопределенности.

E.Mroz
источник
0

Я был на той же охоте раньше, и я думаю, что это может быть полезным для начала. Макрофункция Excel дает линейные условия соответствия и их неопределенности на основе табличных точек и неопределенности для каждой точки в обеих ординатах. Возможно, посмотрите документ, на котором он основан, чтобы решить, хотите ли вы внедрить его в другой среде, изменить и т. Д. (Для Mathematica проделана небольшая работа.) Кажется, на поверхности есть хорошая документация, но пока нет. не открыл макрос, чтобы увидеть, насколько хорошо он аннотирован.

отзывчивый гость
источник