Systematischer / Messfehler bei linearer Regression

8

Angenommen, ich habe einen Datensatz in dem die Unsicherheit in den Messungen (die sich aus der Ausbreitung systematischer Fehler aus dem Messgerät ergeben) für jeden unterschiedlich ist Punkt. Wenn ich eine lineare Regression des Datensatzes durchführe, wie berechne ich die Unsicherheit in der Steigung? Ich möchte eine explizite Prozedur oder Formel.( Δ x i , Δ y i )(xi,yi)(Δxi,Δyi)

Iván Mauricio Burbano
quelle
2
Haben Sie ein Gefühl dafür, welcher Messfehler größer ist?
Dimitriy V. Masterov
1
Meinen Sie mit den Deltas den Unterschied zwischen aufeinanderfolgenden Messungen? Sind Ihre Daten sequentiell? Erwarten Sie, dass der Fehler korreliert? Erwarten Sie, dass die Korrelation abnimmt? Haben Sie unabhängige Replikationen? Weitere Informationen sind erforderlich, um eine konkrete Antwort zu geben.
user3903581
Der Begriff, den Sie suchen, ist Fehlerausbreitung. Sie haben Fehler auf der Eingabeseite und berechnen (genauer gesagt: schätzen) zwei Parameter daraus. Leider beschreibt der Name "lineare Regression" nur ein (beliebtes) Modell, nicht jedoch die Methode, mit der Sie die Parameter schätzen. Für die am häufigsten verwendeten Methoden können Sie wahrscheinlich die Lösung nachschlagen (z. B. kleinste Quadrate). Wenn nicht, können Sie es entweder analytisch berechnen oder durch numerische Auswertung approximieren.
Cherub

Antworten:

4

Wir können das Experiment als wobei bezeichnen wahre Werte, sind Messfehler, sind ihre "festen" Komponenten unabhängig von der Beobachtung (die sich aus einer falschen Kalibrierung der Sensoren ergeben könnten) und variieren von Beobachtung zu Beobachtung und entsprechen vielen möglichen Faktoren, die wir als zufällig behandeln.y i = y i + ˜ v i ˜ u i = ˉ u + v i ˜ v i = ˉ v + u i x i , y i ˜ u i , ˜ v i ˉ u , ˉ v u , v

xi=xi+u~i
yi=yi+v~i
u~i=u¯+vi
v~i=v¯+ui
xi,yiu~i,v~iu¯,v¯u,v

Einfache lineare Regression ist und die OLS-Schätzung der Steigung ist Was wir jedoch erhalten, istβ = C o v ( x * , y * )

yi=α+βxi+ei
˜ β =Cov(x,y)
β^=Cov(x,y)Var(x)
β~=Cov(x,y)Var(x)=Cov(x+u,y+v)Var(x+u)=Cov(x,y)+Cov(x,v)+Cov(y,u)+Cov(u,v)Var(x)+Var(u)+2Cov(x,u)

Nehmen wir nun an, dass nicht mit und einander korreliert sind (eine ziemlich starke Annahme, die verbessert werden kann, wenn wir mehr Rückschlüsse auf die Art der Fehler haben). Dann ist unsere Schätzung Wir können als Stichprobenvariation von schätzen . Wir müssen auch . Wenn wir ein Experiment haben, bei dem wir mehrmals beobachten können, besteht ein einfacher Ansatz darin, ] zu schätzen .v,ux,yσ2xxiσ2ux*i& sgr;2u=E[σ2x| xi

β~=βσx2σx2+σu2βσ^x2σ^u2σ^x2=βλ^
σ^x2xiσu2xiσu2=E[σx2|xi

Jetzt können wir unser verwenden, das beispielsweise mit der Bootstrap-Methode berechnet wurde, und es für korrigieren, so dass . β = ~ β / & lgr; σ 2 β = σ 2 ~ βσ^β~2β^=β~/λ^

σ^β^2=σ^β~2λ^2
yshilov
quelle
3

Ich denke, die Antwort von @yshilov ist definitiv fantastisch, wenn man den Messfehler in den Fehlerterm einbezieht und das Ergebnis signifikant ableitet

β~=βσx2σx2+σu2

E(β^1)=β1[σx2+σxδσx2+2σxδ+σδ2]

β^1=i=1n(xix¯)yii=1n(xix¯)2
xiO=xiA=δiyiO=yiA+ϵiyiA=β0+β1xiA
yiO=β0+β1(xiOδi)+ϵi=β0+β1xiO+(ϵiβ1δi)
E(ϵi)=E(δi)=0var(ϵi)=σϵ2var(δi)=σδ2=1ni=1n(δiδ¯)2σx2=(xiAxA¯)2nσxδ=cov(xA,δ)=1ni=1n(xiAxiA¯)(δiδ¯)

cov(xiO,δ)=E(xiOδ)E(xiO)E(δ)=E(xiOδ)=E[(xiA+δ)δ]=E(xiAδ)+E(δ2)
=[E(xiAδ)E(xiA)E(δ)]+[var(δ)+[E(δ)]2]=cov(xiA,δ)+σδ2=σxδ+σδ2
x¯=E(xi)β^1
E.(β^1)=E.[ich=1n(xichÖ- -x¯Ö)yichÖich=1n(xichÖ- -x¯Ö)2]]=E.(ich=1nxichÖyichÖ)- -E.(ich=1nx¯ÖyichÖ)ich=1nE.[(xichÖ- -E.(xichÖ))2]]=E.(ich=1nxichÖyichÖ)- -E.(xichÖ)E.(ich=1nyichÖ)ich=1nveinr(xichÖ)
=ich=1ncÖv(yichÖ,xichÖ)ich=1nveinr(xichÖ)=ich=1ncÖv(β0+β1xichÖ+ϵich- -β1δich, xichÖ)ich=1nveinr(xichÖ)=β1ich=1nveinr(xichÖ)- -β1ich=1ncÖv(xichÖ,δich)ich=1nveinr(xichÖ)
=β1[1- -ich=1ncÖv(xichÖ,δich)/.nich=1nveinr(xichEIN+δich)/.n]]=β1[1- -σxδ+σδ2σx2+2cÖv(xichEIN,δich)+σδ2]]=β1[σx2+σxδσx2+2σxδ+σδ2]]
E.(β^1)=β1[σx2+σxδσx2+2σxδ+σδ2]]
son520804
quelle
1

Ich habe ein ähnliches Problem - hier gepostet - und noch keine bestimmte Antwort. Was ich im Moment getan habe, ist einfach eine Reihe sehr ähnlicher Xs zu sammeln und zu prüfen, ob es innerhalb dieser Zeilen eine große Variation für Y gibt. Ein anderer Ansatz könnte eine Simulation sein: Sie verwenden ein einzelnes X aus Ihrem Datensatz, replizieren jedoch die Linien, die dem systematischen Fehler des Prädiktors folgen (so etwas wie rnorm (..., 0,0.3)). Das Konfidenzintervall für die Steigung kann der systematischen Fehlerspanne ähnlich sein.

Paolo Nadalutti
quelle
0

Ich würde einen parametrischen Bootstrap für die Daten empfehlen. Dies bedeutet, dass neue Datensätze generiert werden, die dem realen Datensatz ähnlich sind, sich jedoch in dem Ausmaß unterscheiden, das Ihre Unsicherheit bei jeder Beobachtung impliziert.

rnormΔ

For each b in 1...B:
    x_PB = rnorm(x, x_se)
    y_PB = rnorm(y, y_se)
    r[b] = cor(x_PB, y_PB)

Schauen Sie sich dann die Verteilung der Werte in r an.

rcorty
quelle