Frage zur Normalisierung des Regressionskoeffizienten

16

Ich bin nicht sicher, ob normalize das richtige Wort ist, aber ich werde mein Bestes geben, um zu veranschaulichen, was ich zu fragen versuche. Der hier verwendete Schätzer sind die kleinsten Quadrate.

Angenommen, Sie haben . Sie können den Mittelwert um wobei und , also dass keinen Einfluss mehr auf die Schätzung von . y = β ' 0 + β 1 x ' 1 β ' 0 = β 0 + β 1 ˉ x 1 x ' 1 = x - ˉ x β ' 0 β 1y=β0+β1x1y=β0+β1x1β0=β0+β1x¯1x1=xx¯β0β1

Damit meine ich in entspricht in . Wir haben die Gleichung zur einfacheren Berechnung der kleinsten Quadrate reduziert.y=β1x ' 1 β 1y=β0+β1x1β^1y=β1x1β^1y=β0+β1x1

Wie wenden Sie diese Methode im Allgemeinen an? Jetzt habe ich das Modell , ich versuche es auf zu reduzieren . y = β 1 x 'y=β1ex1t+β2ex2ty=β1x

Sabre CN
quelle
Welche Art von Daten analysieren Sie und warum möchten Sie eine Kovariate, ex1t , aus Ihrem Modell entfernen ? Gibt es auch einen Grund, warum Sie den Abschnitt entfernen? Wenn Sie die Daten mittig zentrieren, ist die Steigung im Modell mit / ohne Schnittpunkt gleich, aber das Modell mit dem Schnittpunkt passt besser zu Ihren Daten.
Caburke
@caburke Ich mache mir keine Sorgen um die Passform des Modells, da ich sie, nachdem ich und \ beta_2 berechnet habe, wieder in das Modell einfügen kann. In dieser Übung geht es darum, \ beta_1 zu schätzen . Indem Sie die ursprüngliche Gleichung auf nur y = \ beta_1x 'reduzieren, wird die Berechnung der kleinsten Quadrate einfacher (x' ist ein Teil dessen, was ich herausfinden möchte ; es kann e ^ {x_1t} enthalten ). Ich versuche die Mechanismen zu lernen, das ist eine Frage aus einem Buch von Tukey. β 2 β 1 y = β 1 x ' e x 1 tβ1β2β1y=β1xex1t
Sabre CN
@ca Die Beobachtung am Ende Ihres Kommentars ist rätselhaft. Es kann möglicherweise nicht auf die nichtlinearen Ausdrücke angewendet werden - sie enthalten nichts, was vernünftigerweise als "Steigung" betrachtet werden kann -, aber es ist in der OLS-Einstellung nicht korrekt: Die Anpassung für die mittelzentrierten Daten ist genau so gut wie die passen mit einem abfangen. Sabre, Ihr Modell ist nicht eindeutig: Welche von \ beta_1, \ beta_2, x_1, x_2, tβ1,β2,x1,x2,t sind Variablen und welche sind Parameter? Was ist die beabsichtigte Fehlerstruktur? (Und aus welchem ​​von
Tukeys
1
@whuber Dies ist aus Tukeys Buch "Datenanalyse und Regression: Ein zweiter Kurs in Statistik", Kapitel 14A. die Parameter sind wir zu schätzen versuchen, sind die Variablen , die jeweils mit n Beobachtungen, Ich gehe davon ist die Zeitvariable mit den Beobachtungen verbunden sind , jedoch hat es nicht angeben. Der Fehler sollte normal sein und kann für diese Frage ignoriert werden. x 1 , x 2 tβ1,β2x1,x2t
Sabre CN
1
@whuber Ich bezog mich hauptsächlich auf den ersten Teil des Beitrags, aber das war in meinem Kommentar nicht klar. Was ich meinte war, dass, wenn Sie nur das Zentrum von und nicht von meinen , wie es im OP vorgeschlagen wurde, und dann den Abschnitt entfernen, dann wird die Passung schlechter sein, da es nicht unbedingt der Fall ist, dass . Die Steigung ist offensichtlich kein guter Begriff für den Koeffizienten in dem in der letzten Zeile des OP genannten Modell. y ˉ y = 0xyy¯=0
Caburke

Antworten:

38

Obwohl ich der hier gestellten Frage nicht gerecht werden kann - das würde eine kleine Monographie erfordern -, kann es hilfreich sein, einige Schlüsselideen zusammenzufassen.

Die Frage

Beginnen wir damit, die Frage neu zu formulieren und eine eindeutige Terminologie zu verwenden. Die Daten bestehen aus einer Liste geordneter Paare . Bekannte Konstanten und bestimmen die Werte und . Wir stellen ein Modell auf, in demα 1 α 2 x 1 , i = exp ( α 1 t i ) x 2 , i = exp ( α 2 t i )(ti,yi) α1α2x1,i=exp(α1ti)x2,i=exp(α2ti)

yi=β1x1,i+β2x2,i+εi

für die zu schätzenden Konstanten und ist zufällig und - zumindest in guter Näherung - unabhängig und hat eine gemeinsame Varianz (deren Schätzung ebenfalls von Interesse ist).β 2 ε iβ1β2εi

Hintergrund: lineares "Matching"

Mosteller und Tukey bezeichnen die Variablen = und als "Matcher". Sie werden verwendet, um die Werte von auf eine bestimmte Weise "abzugleichen" , die ich veranschaulichen werde. Allgemeiner gesagt, seien und beliebige zwei Vektoren im selben euklidischen Vektorraum, wobei die Rolle des "Ziels" und die des "Matchers" spielt. Wir überlegen, systematisch einen Koeffizienten variieren, um durch das Vielfache zu approximieren . ( x 1 , 1 , x 1 , 2 , ... ) , x 2 y = ( y 1 , y 2 , ... ) y x y x λ y λ x λ x y y - λ xx1(x1,1,x1,2,)x2y=(y1,y2,)yxyxλyλxλxy wie möglich. Entsprechend wird die quadratische Länge von minimiert.yλx

Eine Möglichkeit, diesen Übereinstimmungsprozess zu visualisieren, besteht darin, ein Streudiagramm von und zu erstellen, auf dem der Graph von gezeichnet ist . Die vertikalen Abstände zwischen den Streudiagrammpunkten und diesem Graphen sind die Komponenten des Restvektors ; Die Summe ihrer Quadrate soll so klein wie möglich sein. Bis auf eine Proportionalitätskonstante sind diese Quadrate die Flächen von Kreisen, die an den Punkten zentriert sind und deren Radien den Residuen entsprechen. Wir möchten die Summe der Flächen aller dieser Kreise minimieren.y x λ x y - λ x ( x i , y i )xyxλx yλx(xi,yi)

Hier ist ein Beispiel, das den optimalen Wert von im mittleren Bereich zeigt:λ

Panel

Die Punkte im Streudiagramm sind blau. der Graph von ist eine rote Linie. In dieser Abbildung wird hervorgehoben, dass die rote Linie nur durch den Ursprung : Es handelt sich um einen ganz besonderen Fall der Linienanpassung.( 0 , 0 )xλx(0,0)

Multiple Regression kann durch sequentielles Matching erhalten werden

Zurück zur Einstellung der Frage, wir haben ein Ziel und zwei Matcher und . Wir suchen Zahlen und für die durch wieder im kleinsten Abstandssinn so genau wie möglich angenähert wird . Beliebig beginnend mit stimmen Mosteller & Tukey die verbleibenden Variablen und mit überein . Schreiben Sie die Residuen für diese Übereinstimmungen als bzw. : Das gibt dies anx 1 x 2 b 1 b 2 y b 1 x 1 + b 2 x 2 x 1 x 2 y x 1 x 2 1 y 1 1 x 1yx1x2b1b2yb1x1+b2x2x1x2yx1x21y11x1 wurde aus der Variablen "herausgenommen".

Wir können schreiben

y=λ1x1+y1 and x2=λ2x1+x21.

Nachdem wir aus und , werden wir fortfahren, die Ziel-Residuen mit den Matcher-Residuen abzugleichen . Die endgültigen Residuen sind . Algebraisch haben wir geschriebenx 2 y y 1 x 2 1 y 12x1x2yy1x21y12

y1=λ3x21+y12; whencey=λ1x1+y1=λ1x1+λ3x21+y12=λ1x1+λ3(x2λ2x1)+y12=(λ1λ3λ2)x1+λ3x2+y12.

Dies zeigt, dass im letzten Schritt der Koeffizient von bei einer Übereinstimmung von und mit .x 2 x 1 x 2 yλ3x2x1x2y

Wir hätten genauso gut vorgehen können, indem wir zuerst aus und , und und dann aus , was eine andere Menge von Residuen ergibt . Diesmal ist der im letzten Schritt gefundene Koeffizient von - nennen wir ihn - der Koeffizient von in einer Übereinstimmung von und mit .x 1 y x 1 2x2x1yx12 x 1 2 y 2 y 21 x 1 μ 3 x 1 x 1 x 2 yy2x12y2y21x1μ3x1x1x2y

Zum Vergleich können wir schließlich ein Vielfaches (gewöhnliche Regression der kleinsten Quadrate) von gegen und ausführen . Diese Residuen seien . Es zeigt sich, dass die Koeffizienten in dieser multiplen Regression genau die zuvor gefundenen Koeffizienten und sind und dass alle drei Mengen von Residuen , und , sind identisch.yx 2 y l m μ 3 λ 3 y 12 y 21 y l mx1x2ylmμ3λ3y12y21ylm

Darstellung des Prozesses

Nichts davon ist neu: es steht alles im Text. Ich möchte eine bildliche Analyse unter Verwendung einer Streudiagramm-Matrix von allem, was wir bisher erhalten haben, anbieten.

Streudiagramm

Da diese Daten simuliert werden, haben wir den Luxus, die zugrunde liegenden "wahren" Werte von in der letzten Zeile und Spalte : Dies sind die Werte ohne den hinzugefügten Fehler.β 1 x 1 + β 2 x 2yβ1x1+β2x2

Die Streudiagramme unter der Diagonale wurden genau wie in der ersten Abbildung mit den Diagrammen der Streichhölzer verziert. Graphen mit einer Steigung von Null sind rot gezeichnet: Diese zeigen Situationen an, in denen der Matcher uns nichts Neues gibt. Die Residuen sind die gleichen wie das Ziel. Außerdem wird der Ursprung (wo immer er in einem Diagramm erscheint) als offener roter Kreis angezeigt: Denken Sie daran, dass alle möglichen übereinstimmenden Linien durch diesen Punkt verlaufen müssen.

Durch das Studium dieser Handlung kann viel über Regression gelernt werden. Einige der Highlights sind:

  • Die Übereinstimmung von mit (Zeile 2, Spalte 1) ist schlecht. Dies ist eine gute Sache: Es zeigt an, dass und sehr unterschiedliche Informationen liefern. Wenn Sie beide zusammen verwenden, passt dies wahrscheinlich besser zu als wenn Sie nur einen verwenden .x 1 x 1 x 2 yx2x1x1x2y

  • Sobald eine Variable aus einem Ziel entfernt wurde, ist es nicht sinnvoll, diese Variable erneut zu entfernen: Die am besten passende Linie ist Null. Siehe beispielsweise die Streudiagramme für gegen oder gegen . x 1 y 1 x 1x21x1y1x1

  • Die Werte , , und wurden alle aus .x 2 x 1 2 x 2 1 y l mx1x2x12x21ylm

  • Eine mehrfache Regression von gegen und kann zuerst erreicht werden, indem und berechnet werden . Diese Streudiagramme erscheinen bei (Zeile, Spalte) = bzw. . Mit diesen Residuen betrachten wir ihr Streudiagramm bei . Diese drei einvariablen Regressionen machen den Trick. Wie Mosteller & Tukey erläutern, lassen sich die Standardfehler der Koeffizienten auch aus diesen Regressionen fast genauso leicht ermitteln - aber das ist nicht das Thema dieser Frage, deshalb werde ich hier aufhören.x 1 x 2 y 1 x 2 1 ( 8 , 1 ) ( 2 , 1 ) ( 4 , 3 )yx1x2y1x21(8,1)(2,1)(4,3)

Code

Diese Daten wurden (reproduzierbar) Rmit einer Simulation erstellt. Die Analysen, Kontrollen und Diagramme wurden ebenfalls mit erstellt R. Das ist der Code.

#
# Simulate the data.
#
set.seed(17)
t.var <- 1:50                                    # The "times" t[i]
x <- exp(t.var %o% c(x1=-0.1, x2=0.025) )        # The two "matchers" x[1,] and x[2,]
beta <- c(5, -1)                                 # The (unknown) coefficients
sigma <- 1/2                                     # Standard deviation of the errors
error <- sigma * rnorm(length(t.var))            # Simulated errors
y <- (y.true <- as.vector(x %*% beta)) + error   # True and simulated y values
data <- data.frame(t.var, x, y, y.true)

par(col="Black", bty="o", lty=0, pch=1)
pairs(data)                                      # Get a close look at the data
#
# Take out the various matchers.
#
take.out <- function(y, x) {fit <- lm(y ~ x - 1); resid(fit)}
data <- transform(transform(data, 
  x2.1 = take.out(x2, x1),
  y.1 = take.out(y, x1),
  x1.2 = take.out(x1, x2),
  y.2 = take.out(y, x2)
), 
  y.21 = take.out(y.2, x1.2),
  y.12 = take.out(y.1, x2.1)
)
data$y.lm <- resid(lm(y ~ x - 1))               # Multiple regression for comparison
#
# Analysis.
#
# Reorder the dataframe (for presentation):
data <- data[c(1:3, 5:12, 4)]

# Confirm that the three ways to obtain the fit are the same:
pairs(subset(data, select=c(y.12, y.21, y.lm)))

# Explore what happened:
panel.lm <- function (x, y, col=par("col"), bg=NA, pch=par("pch"),
   cex=1, col.smooth="red",  ...) {
  box(col="Gray", bty="o")
  ok <- is.finite(x) & is.finite(y)
  if (any(ok))  {
    b <- coef(lm(y[ok] ~ x[ok] - 1))
    col0 <- ifelse(abs(b) < 10^-8, "Red", "Blue")
    lwd0 <- ifelse(abs(b) < 10^-8, 3, 2)
    abline(c(0, b), col=col0, lwd=lwd0)
  }
  points(x, y, pch = pch, col="Black", bg = bg, cex = cex)    
  points(matrix(c(0,0), nrow=1), col="Red", pch=1)
}
panel.hist <- function(x, ...) {
  usr <- par("usr"); on.exit(par(usr))
  par(usr = c(usr[1:2], 0, 1.5) )
  h <- hist(x, plot = FALSE)
  breaks <- h$breaks; nB <- length(breaks)
  y <- h$counts; y <- y/max(y)
  rect(breaks[-nB], 0, breaks[-1], y,  ...)
}
par(lty=1, pch=19, col="Gray")
pairs(subset(data, select=c(-t.var, -y.12, -y.21)), col="Gray", cex=0.8, 
   lower.panel=panel.lm, diag.panel=panel.hist)

# Additional interesting plots:
par(col="Black", pch=1)
#pairs(subset(data, select=c(-t.var, -x1.2, -y.2, -y.21)))
#pairs(subset(data, select=c(-t.var, -x1, -x2)))
#pairs(subset(data, select=c(x2.1, y.1, y.12)))

# Details of the variances, showing how to obtain multiple regression
# standard errors from the OLS matches.
norm <- function(x) sqrt(sum(x * x))
lapply(data, norm)
s <- summary(lm(y ~ x1 + x2 - 1, data=data))
c(s$sigma, s$coefficients["x1", "Std. Error"] * norm(data$x1.2)) # Equal
c(s$sigma, s$coefficients["x2", "Std. Error"] * norm(data$x2.1)) # Equal
c(s$sigma, norm(data$y.12) / sqrt(length(data$y.12) - 2))        # Equal
whuber
quelle
1
Konnte eine multiple Regression von gegen und noch erreicht werden, indem zuerst und berechnet würden, wenn und korreliert wären ? Würde es dann keinen großen Unterschied machen, ob wir für und oder für und sequentiell zurückgegangen sind ? In welcher Beziehung steht dies zu einer Regressionsgleichung mit mehreren erklärenden Variablen? x 1 x 2 y .1 x 2,1 x 1 x 2 y x 1 x 2,1 x 2 x 1,2yx1x2y.1x2.1x1x2yx1x2.1x2x1.2
Miura
1
@miura, Eines der Leitmotive dieses Kapitels in Mosteller & Tukey ist, dass die Teiltöne Korrelation der geringe Varianzen aufweisen; da ihre Varianzen im Nenner einer Formel für die Schätzungsvarianz ihrer Koeffizienten erscheinen, impliziert dies, dass die entsprechenden Koeffizienten relativ unsichere Schätzungen haben werden. Das ist eine Tatsache der Daten, sagt M & T, und das müssen Sie erkennen. Es macht keinen Unterschied, ob Sie die Regression mit oder : Vergleichen Sie mit in meinem Code. x i j x 1 x 2xichxichjx1x2y.21y.12
whuber
1
Ich bin heute darauf gestoßen, hier ist, was ich über die Frage von @miura denke, Denken Sie an einen zweidimensionalen Raum, in den Y als Kombination von zwei Vektoren projiziert werden soll. y = ax1 + bx2 + res (= 0). Stellen Sie sich nun y als eine Kombination von 3 Variablen vor, y = ax1 + bx2 + cx3. und x3 = mx1 + nx2. Die Reihenfolge, in der Sie Ihre Variablen auswählen, wirkt sich auf die Koeffizienten aus. Der Grund dafür ist: Der minimale Fehler kann hier durch verschiedene Kombinationen erhalten werden. In einigen Beispielen kann der minimale Fehler jedoch nur durch eine Kombination erhalten werden, und hier spielt die Reihenfolge keine Rolle.
Gaurav Singhal
@whuber Können Sie erläutern, wie diese Gleichung für eine multivariate Regression verwendet werden kann, die auch einen konstanten Term hat? dh y = B1 · x1 + B2 · x2 + c? Mir ist nicht klar, wie der konstante Term abgeleitet werden kann. Auch verstehe ich im Allgemeinen, was für die 2 Variablen getan wurde, genug, um es zumindest in Excel zu replizieren. Wie kann das auf 3 Variablen erweitert werden? x1, x2, x3. Es scheint klar, dass wir zuerst x3 aus y, x1 und x2 entfernen müssen. dann entferne x2 von x1 und y. Mir ist aber nicht klar, wie ich den Begriff B3 bekommen soll.
Ziemlich Nerdy
Ich habe einige meiner Fragen im obigen Kommentar beantwortet. Für eine Regression mit 3 Variablen hätten wir 6 Schritte. Entferne x1 von x2, von x3 und von y. Dann entferne x2,1 von x3,1 und von y1. Dann entferne x3,21 von y21. Das ergibt 6 Gleichungen, von denen jede die Form Variable = lamda * verschiedene Variable + Residuum hat. Eine dieser Gleichungen hat ay als erste Variable, und wenn Sie die anderen Variablen einfach weiter einsetzen, erhalten Sie die benötigte Gleichung
Ziemlich Nerdy,