Regresyon katsayısının nasıl normalleştirileceği sorusu


16

Normalleştirmenin burada kullanılacak doğru kelime olup olmadığından emin değilim, ancak sormaya çalıştığım şeyi göstermek için elimden geleni yapacağım. Burada kullanılan tahminci en küçük karelerdir.

Diyelim ki y=β0+β1x1 , ortalamanın etrafında y=β0+β1x1 ; burada β0=β0+β1x¯1 ve x1=xx¯ , böylece β0 artık tahmini üzerinde herhangi bir etkiye sahip değildir β1.

Bu, ortalama olarak β 1 de y = β 1 x ' 1 eşdeğerdir p 1 de y = β 0 + β 1 x 1 . Daha az kare hesaplaması için denklemi düşürdük.β^1y=β1x1β^1y=β0+β1x1

Bu yöntemi genel olarak nasıl uygularsınız? Şimdi modelim var, y = β 1 x değeriney=β1ex1t+β2ex2t düşürmeye çalışıyorum .y=β1x


Ne tür verileri analiz ediyorsunuz ve neden modelinizden bir eş değişken olan kaldırmak istiyorsunuz ex1t? Ayrıca, kesmeyi kaldırmanızın bir nedeni var mı? Verileri ortalamak istiyorsanız, eğim kesişmeli / kesmesiz modelde aynı olacaktır, ancak kesişmeli model verilerinize daha iyi uyacaktır.
caburke

@caburke ben hesaplanan sonra çünkü modelin uyum endişe değilim ve β 2 Ben modele geri koyabilirsiniz. Bu alıştırmanın amacı β 1'i tahmin etmektir . Orijinal denklemi sadece y = β 1 x değerine düşürerek, en küçük kare hesaplaması daha kolay olacaktır (x 'bulmaya çalıştığım şeyin bir parçası, e x 1 t içerebilir ). Mekanizmaları öğrenmeye çalışıyorum, bu Tukey'nin bir kitabından bir soru. β1β2β1y=β1xex1t
Sabre CN

@ca Yorumunuzun sonundaki gözlem şaşırtıcı. Doğrusal olmayan ifadeler için geçerli olmayabilir - makul bir şekilde "eğim" olarak kabul edilebilecek hiçbir şey içermezler - ancak OLS ayarında doğru değildir: ortalama merkezli veriler için uyum tam olarak bir kesme noktasıyla sığdırın. Sabre, modeliniz belirsiz: değişkenleri hangileri ve parametreler hangileri? Amaçlanan hata yapısı nedir? (Ve Tukey'in kitaplarından hangisi soru?)β1,β2,x1,x2,t
whuber

1
@whuber Bu, Tukey'nin "Veri analizi ve regresyon: istatistiklerde ikinci bir ders" kitabından 14A. tahmin etmeye çalıştığımız parametrelerdir, x 1 , x 2 her biri n gözlemli değişkenlerdir, t Ben gözlemlerle ilişkili zaman değişkeni olduğunu varsayıyorum, ancak belirtmedi. Hata normal olmalı ve bu soru için yok sayılabilir. β1,β2x1,x2t
Sabre CN

1
@whuber Çoğunlukla yazının ilk bölümüne atıfta bulunuyordum, ancak bu benim yorumumda net değildi. Demek sadece ortalama merkezli eğer olmasıydı değil y o zaman OP önerdi ve ediliyordu gibiydi olarak, kesenini kaldırmak sonra uygun onun mutlaka durumunda beri, daha kötü olacağını ˉ y = 0 . Eğim, OP'nin son satırında belirtilen modeldeki katsayı için iyi bir terim değildir. xyy¯=0
caburke

Yanıtlar:


38

Burada soruya adalet yapamasam da - bu küçük bir monograf gerektirecekti - bazı temel fikirleri tekrar özetlemek yardımcı olabilir.

Soru

Soruyu yeniden yazarak ve açık bir terminoloji kullanarak başlayalım. Veri sipariş çiftlerinin bir listesini içerir . Adı sabit a 1 ve α 2 değerlerini belirlemek x 1 , i = exp ( α 1 t i ) ve x 2 , i = exp ( α 2 T i ) . İçinde bir model(ti,yi) α1α2x1,i=exp(α1ti)x2,i=exp(α2ti)

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

için sabit ve β 2 , tahmin edilecek ε I rasgele ve - iyi bir yaklaşım için yine de - bağımsız ve (bunun tahmini ilgi de), ortak bir varyansa sahip.β1β2εi

Arka plan: doğrusal "eşleme"

Mosteller ve Tukey = ( x 1 , 1 , x 1 , 2 , ) ve x 2 değişkenlerini "eşleştirici" olarak adlandırır. Y = ( y 1 , y 2 , ) değerlerini açıklayacağım belirli bir şekilde "eşleştirmek" için kullanılacaktır . Daha genel olarak, y ve x aynı Öklid vektör uzayında herhangi bir iki vektör olsun, y "hedef" ve x rolünü oynarx1(x1,1,x1,2,)x2y=(y1,y2,)yxyx"eşleştirici" nin. Y'yi katsayı λ x ile yaklaşık olarak tahmin etmek için sistematik olarak bir katsayıyı değiştirmeyi düşünüyoruz . En iyi yaklaşık λ x y'ye mümkün olduğunca yakın olduğunda elde edilir . Eşdeğer olarak, y - λ x'in kare uzunluğu en aza indirilir.λyλxλxyyλx

Bu eşleştirme işlemi görselleştirmek için bir yolu, bir dağılım grafiğini yapmaktır ve y grafiğini çizildiği X A, X . Dağılım grafiği noktaları ile bu grafik arasındaki dikey mesafeler, artık y - λ x vektörünün bileşenleridir ; karelerinin toplamı mümkün olduğunca küçük olmalıdır. Orantılılık sabitine kadar, bu kareler noktalara ( x i , y i ) merkezlenmiş dairelerin yarıçapı artıklara eşit olan alanlarıdır: tüm bu dairelerin alanlarının toplamını en aza indirmek istiyoruz.xyxλx yλx(xi,yi)

Orta panelde optimal değerini gösteren bir örnek :λ

Panel

Dağılım grafiğindeki noktalar mavidir; grafiği kırmızı bir çizgidir. Bu resimde kırmızı çizginin başlangıç ​​noktasından ( 0 , 0 ) geçmesi kısıtlandığı vurgulanmaktadır : bu çok özel bir hat bağlantısı örneğidir.xλx(0,0)

Ardışık eşleme ile çoklu regresyon elde edilebilir

Sorunun ayarına dönersek, bir hedef ve iki eşleştirici x 1 ve x 2 var . Bu numara arama b , 1 ve b 2 olan Y ile mümkün olduğu kadar yakın yaklaşılır b 1 x 1 + b 2 x 2 daha az mesafeli anlamda. Keyfi ile başlayan x 1 , Mosteller ve Tukey eşleşen diğer değişkenler x 2 ve y için x 1yx1x2b1b2yb1x1+b2x2x1x2yx1. Bu eşleşmelerin kalıntılarını sırasıyla ve y 1 olarak yazın: 1 , x 1'in değişkenten "çıkarıldığı" anlamına gelir.x21y11x1

Yazabiliriz

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

Alınmış olması arasında out x 2 ve y , hedef artığı eşleşecek şekilde devam y 1 eşleştirici artıklardan için x 2 1 . Nihai artıklar y 12'dir . Cebirsel olarak yazdıkx1x2yy1x21y12

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

This shows that the λ3 in the last step is the coefficient of x2 in a matching of x1 and x2 to y.

We could just as well have proceeded by first taking x2 out of x1 and y, producing x12 and y2, and then taking x12 out of y2, yielding a different set of residuals y21. This time, the coefficient of x1 found in the last step--let's call it μ3--is the coefficient of x1 in a matching of x1 and x2 to y.

Finally, for comparison, we might run a multiple (ordinary least squares regression) of y against x1 and x2. Let those residuals be ylm. It turns out that the coefficients in this multiple regression are precisely the coefficients μ3 and λ3 found previously and that all three sets of residuals, y12, y21, and ylm, are identical.

Depicting the process

None of this is new: it's all in the text. I would like to offer a pictorial analysis, using a scatterplot matrix of everything we have obtained so far.

Scatterplot

Because these data are simulated, we have the luxury of showing the underlying "true" values of y on the last row and column: these are the values β1x1+β2x2 without the error added in.

The scatterplots below the diagonal have been decorated with the graphs of the matchers, exactly as in the first figure. Graphs with zero slopes are drawn in red: these indicate situations where the matcher gives us nothing new; the residuals are the same as the target. Also, for reference, the origin (wherever it appears within a plot) is shown as an open red circle: recall that all possible matching lines have to pass through this point.

Much can be learned about regression through studying this plot. Some of the highlights are:

  • The matching of x2 to x1 (row 2, column 1) is poor. This is a good thing: it indicates that x1 and x2 are providing very different information; using both together will likely be a much better fit to y than using either one alone.

  • Once a variable has been taken out of a target, it does no good to try to take that variable out again: the best matching line will be zero. See the scatterplots for x21 versus x1 or y1 versus x1, for instance.

  • The values x1, x2, x12, and x21 have all been taken out of ylm.

  • Multiple regression of y against x1 and x2 can be achieved first by computing y1 and x21. These scatterplots appear at (row, column) = (8,1) and (2,1), respectively. With these residuals in hand, we look at their scatterplot at (4,3). These three one-variable regressions do the trick. As Mosteller & Tukey explain, the standard errors of the coefficients can be obtained almost as easily from these regressions, too--but that's not the topic of this question, so I will stop here.

Code

These data were (reproducibly) created in R with a simulation. The analyses, checks, and plots were also produced with R. This is the 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

1
Could multiple regression of y against x1 and x2 still be achieved by first computing y.1 and x2.1 if x1 and x2 were correlated? Wouldn't it then make a big difference whether we sequentially regressed y on x1 and x2.1 or on x2 and x1.2 ? How does this relate to one regression equation with multiple explanatory variables?
miura

1
@miura, One of the leitmotifs of that chapter in Mosteller & Tukey is that when the xi are correlated, the partials xij have low variances; because their variances appear in the denominator of a formula for the estimation variance of their coefficients, this implies the corresponding coefficients will have relatively uncertain estimates. That's a fact of the data, M&T say, and you need to recognize that. It makes no difference whether you start the regression with x1 or x2: compare y.21 to y.12 in my code.
whuber

1
I came across this today, here is what I think on the question by @miura, Think of a 2 dimensional space where Y is to be projected as a combination of two vectors. y = ax1 + bx2 + res (=0). Now think of y as a combination of 3 variables, y = ax1 + bx2 + cx3. and x3 = mx1 + nx2. so certainly, the order in which you choose your variables is going to effect the coefficients. The reason for this is: the minimum error here can be obtained by various combinations. However, in few examples, the minimum error can be obtained by only one combination and that is where the order will not matter.
Gaurav Singhal

@whuber Can you elaborate on how this equation might be used for a multivariate regression that also has a constant term ? ie y = B1 * x1 + B2 * x2 + c ? It is not clear to me how the constant term can be derived. Also I understand in general what was done for the 2 variables, enough at least to replicate it in Excel. How can that be expanded to 3 variables ? x1, x2, x3. It seems clear that we would need to remove x3 first from y, x1, and x2. then remove x2 from x1 and y. But it is not clear to me how to then get the B3 term.
Fairly Nerdy

I have answered some of my questions I have in the comment above. For a 3 variable regression, we would have 6 steps. Remove x1 from x2, from x3, and from y. Then remove x2,1 from x3,1 and from y1. Then remove x3,21 from y21. That results in 6 equations, each of which is of the form variable = lamda * different variable + residual. One of those equations has a y as the first variable, and if you just keep substituting the other variables in, you get the equation you need
Fairly Nerdy
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.