Berechnen Sie die Unsicherheit der linearen Regressionssteigung basierend auf der Datenunsicherheit


12

Wie berechnet man die Unsicherheit der linearen Regressionssteigung basierend auf der Datenunsicherheit (möglicherweise in Excel / Mathematica)?

Beispiel: Beispielplot Lassen Sie uns Datenpunkte (0,0), (1,2), (2,4), (3,6), (4,8), ... (8, 16) haben, aber jeder y-Wert hat eine Unsicherheit von 4. Die meisten Funktionen, die ich gefunden habe, würden die Unsicherheit als 0 berechnen, da die Punkte perfekt mit der Funktion y = 2x übereinstimmen. Wie auf dem Bild gezeigt, stimmt y = x / 2 aber auch mit den Punkten überein. Es ist ein übertriebenes Beispiel, aber ich hoffe, es zeigt, was ich brauche.

EDIT: Wenn ich versuche, etwas mehr zu erklären, während jeder Punkt im Beispiel einen bestimmten Wert von y hat, tun wir so, als wüssten wir nicht, ob es wahr ist. Zum Beispiel könnte der erste Punkt (0,0) tatsächlich (0,6) oder (0, -6) oder irgendetwas dazwischen sein. Ich frage, ob es in einem der populären Probleme einen Algorithmus gibt, der dies berücksichtigt. Im Beispiel fallen die Punkte (0,6), (1,6,5), (2,7), (3,7,5), (4,8), ... (8, 10) immer noch in den Unsicherheitsbereich. Sie könnten also die richtigen Punkte sein, und die Linie, die diese Punkte verbindet, hat eine Gleichung: y = x / 2 + 6, während die Gleichung, die wir erhalten, wenn wir die Unsicherheiten nicht berücksichtigen, die Gleichung hat: y = 2x + 0. Also die Unsicherheit von k ist 1,5 und von n ist 6.

TL; DR: Im Bild gibt es eine Linie y = 2x, die mit der Anpassung der kleinsten Quadrate berechnet wird und perfekt zu den Daten passt. Ich versuche herauszufinden, wie viel k und n in y = kx + n sich ändern können, aber trotzdem zu den Daten passen, wenn wir die Unsicherheit in y-Werten kennen. In meinem Beispiel beträgt die Unsicherheit von k 1,5 und in n 6. Im Bild gibt es die 'beste' Anpassungslinie und eine Linie, die kaum zu den Punkten passt.


1
x

Ich frage hauptsächlich nach der Unsicherheit in ys. Aber ich würde mich freuen, wenn die Lösung auch die Unsicherheit in x berücksichtigen würde. Im Allgemeinen sind sie nicht konstant, aber eine Lösung, bei der sie konstant sein müssen, wäre auch in Ordnung. Ich habe versucht, sie mit linearfit, fit, findfit in mathematica und linest (und einer benutzerdefinierten Funktion, bei der ich Werte durch Unsicherheiten gewichtet) anzupassen übertreffen.
Bedanec

Können Sie so klar wie möglich erklären, wie die "Unsicherheits" -Werte mit dem zusammenhängen würden, was unter einer Wiederholung des Experiments passieren würde? dh was genau stellen diese Unsicherheiten dar?
Glen_b -State Monica

Err zum Beispiel, wenn y Gewicht ist, aber die Digitalwaage nur auf + -6 genau ist. (Nicht das beste Beispiel mit diesen Werten, aber zum Beispiel, wenn die Skala 255 g anzeigt, könnte es 255,0 oder 255,9 sein)
bedanec

Könnten Sie bitte erklären, wie sich das auf den ersten Satz meiner Frage beziehen würde?
Glen_b -State Monica

Antworten:


8

kny=kx+ny

y100(1- -α)(k,n)(kxich+n- -yich)2/.σich2<χd,α2σichyichd(x,y)χd,α2αd

yichyich(k,n)204(k- -2)2+72n(k- -2)+9n2=152,271

Geben Sie hier die Bildbeschreibung ein


4

Ich habe mit diesem einfachen Code in Python ein naives direktes Sampling durchgeführt:

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]])

und bekam das: Histogramm der Ergebnisse der direkten Probenahme

Natürlich können Sie Pdie Daten für die gewünschten Daten abbauen oder die Unsicherheitsverteilungen ändern.


0

Ich war vorher auf der gleichen Jagd und ich denke, dies könnte ein nützlicher Ausgangspunkt sein. Die Excel-Makrofunktion gibt lineare Anpassungsterme und ihre Unsicherheiten basierend auf Tabellenpunkten und Unsicherheiten für jeden Punkt in beiden Ordinaten an. Vielleicht schauen Sie in dem Papier nach, auf dem es basiert, um zu entscheiden, ob Sie es in einer anderen Umgebung implementieren, ändern usw. möchten. (Für Mathematica sind einige Vorarbeiten erledigt.) Es scheint eine gute Dokumentation auf der Oberfläche zu haben, aber Hafen Das Makro wurde nicht geöffnet, um zu sehen, wie gut es mit Anmerkungen versehen ist.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.