Pertanyaan tentang cara menormalkan koefisien regresi

16

Tidak yakin apakah normalisasi adalah kata yang tepat untuk digunakan di sini, tetapi saya akan mencoba yang terbaik untuk menggambarkan apa yang ingin saya tanyakan. Estimator yang digunakan di sini adalah kuadrat terkecil.

Misalkan Anda memiliki y=β0+β1x1 , Anda dapat memusatkannya di sekitar rata-rata dengan y=β0+β1x1 mana β0=β0+β1x¯1 dan x1=xx¯ , sehingga β0 tidak lagi memiliki pengaruh pada estimasi β1 .

Dengan ini saya berarti β 1 di y = β 1 x ' 1 setara dengan ß 1 di y = β 0 + β 1 x 1 . Kami telah mengurangi persamaan untuk perhitungan kuadrat terkecil yang lebih mudah.β^1y=β1x1β^1y=β0+β1x1

Bagaimana Anda menerapkan metode ini secara umum? Sekarang saya memiliki model y=β1ex1t+β2ex2t , saya mencoba menguranginya menjadi y=β1x .

Saber CN
sumber
Jenis data apa yang Anda analisis, dan mengapa Anda ingin menghapus kovariat, , dari model Anda. Juga, apakah ada alasan Anda menghapus intersep? Jika Anda memusatkan data, kemiringan akan sama dalam model dengan / tanpa intersep, tetapi model dengan intersep akan lebih cocok dengan data Anda. ex1t
caburke
@caburke Saya tidak khawatir tentang kesesuaian model, karena setelah saya menghitung dan β 2 saya bisa memasukkannya kembali ke dalam model. Titik untuk latihan ini adalah untuk memperkirakan β 1 . Dengan mengurangi persamaan asli menjadi hanya y = β 1 x , perhitungan kuadrat terkecil akan lebih mudah (x 'adalah bagian dari apa yang saya coba cari tahu, mungkin termasuk e x 1 t ). Saya mencoba mempelajari mekanismenya, ini adalah pertanyaan dari sebuah buku karya Tukey. β1β2β1y=β1xex1t
Saber CN
@ca Pengamatan di akhir komentar Anda membingungkan. Ini tidak mungkin berlaku untuk ekspresi nonlinier - mereka tidak mengandung apa pun yang dapat dianggap sebagai "kemiringan" - tetapi itu tidak benar dalam pengaturan OLS: kesesuaian untuk data yang berpusat pada rata-rata adalah sama baiknya dengan cocok dengan intersepsi. Sabre, model Anda ambigu: manakah dari merupakan variabel dan yang merupakan parameter? Apa struktur kesalahan yang dimaksud? (Dan buku Tukey mana yang merupakan pertanyaan dari?)β1,β2,x1,x2,t
Whuber
1
@whuber Ini dari buku Tukey "Analisis dan regresi data: kursus kedua dalam statistik" bab 14A. adalah parameter yang kami coba perkirakan, x 1 , x 2 adalah variabel masing-masing dengan n pengamatan, t Saya berasumsi adalah variabel waktu yang terkait dengan pengamatan, namun tidak ditentukan. Kesalahan seharusnya normal dan dapat diabaikan untuk pertanyaan ini. β1,β2x1,x2t
Saber CN
1
@whuber saya sebagian besar merujuk pada bagian pertama dari posting, tetapi ini tidak jelas dalam komentar saya. Yang saya maksudkan adalah bahwa jika Anda hanya bermaksud-pusat , dan bukan y , seperti yang tampaknya disarankan dalam OP, dan kemudian menghapus intersep maka cocok akan lebih buruk, karena itu tidak selalu terjadi pada kasus yang ˉ y = 0 . Kemiringan jelas bukan istilah yang baik untuk koefisien dalam model yang disebutkan dalam baris terakhir OP. xyy¯=0
caburke

Jawaban:

38

Meskipun saya tidak dapat melakukan keadilan terhadap pertanyaan di sini - yang akan membutuhkan monograf kecil - mungkin bermanfaat untuk merekapitulasi beberapa ide kunci.

Pertanyaan

Mari kita mulai dengan menyatakan kembali pertanyaan dan menggunakan terminologi yang jelas. The Data terdiri dari daftar pasangan memerintahkan . Konstanta yang diketahui α 1 dan α 2 menentukan nilai x 1 , i = exp ( α 1 t i ) dan x 2 , i = exp ( α 2 t i ) . Kami menempatkan model di mana(ti,yi) α1α2x1,i=exp(α1ti)x2,i=exp(α2ti)

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

untuk estimasi konstanta dan β 2 , ε i adalah acak, dan - to aproksimasi yang baik - independen dan memiliki varian yang sama (yang estimasi-nya juga menarik).β1β2εi

Latar belakang: linear "matching"

Mosteller and Tukey refer to the variables x1 = (x1,1,x1,2,) and x2 as "matchers." They will be used to "match" the values of y=(y1,y2,) in a specific way, which I will illustrate. More generally, let y and x be any two vectors in the same Euclidean vector space, with y playing the role of "target" and x that of "matcher". We contemplate systematically varying a coefficient λ in order to approximate y by the multiple λx. The best approximation is obtained when λx is as close to y as possible. Equivalently, the squared length of yλx is minimized.

Salah satu cara untuk memvisualisasikan proses pencocokan ini adalah dengan membuat sebar dan y yang menggambar grafik x λ x . Jarak vertikal antara titik sebar dan grafik ini adalah komponen dari vektor sisa y - λ x ; jumlah kotak mereka harus dibuat sekecil mungkin. Hingga konstan proporsionalitas, kuadrat ini adalah area lingkaran yang berpusat pada titik ( x i , y i ) dengan jari-jari sama dengan residu: kami ingin meminimalkan jumlah area dari semua lingkaran ini.xyxλx yλx(xi,yi)

Here is an example showing the optimal value of λ in the middle panel:

Panel

The points in the scatterplot are blue; the graph of xλx is a red line. This illustration emphasizes that the red line is constrained to pass through the origin (0,0): it is a very special case of line fitting.

Multiple regression can be obtained by sequential matching

Kembali ke pengaturan pertanyaan, kami memiliki satu target dan dua pencocokan x 1 dan x 2 . Kami mencari angka b 1 dan b 2 yang y diperkirakan kira-kira sedekat mungkin dengan b 1 x 1 + b 2 x 2 , lagi-lagi dalam arti jarak paling rendah. Dimulai secara acak dengan x 1 , Mosteller & Tukey cocok dengan variabel yang tersisa x 2 dan y hingga x 1yx1x2b1b2yb1x1+b2x2x1x2yx1. Write the residuals for these matches as x21 and y1, respectively: the 1 indicates that x1 has been "taken out of" the variable.

We can write

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

Having taken x1 out of x2 and y, we proceed to match the target residuals y1 to the matcher residuals x21. The final residuals are y12. Algebraically, we have written

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
whuber
sumber
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
Saya telah menjawab beberapa pertanyaan saya di komentar di atas. Untuk regresi 3 variabel, kita akan memiliki 6 langkah. Hapus x1 dari x2, dari x3, dan dari y. Kemudian hapus x2,1 dari x3,1 dan dari y1. Kemudian hapus x3,21 dari y21. Yang menghasilkan 6 persamaan, yang masing-masing adalah dari bentuk variabel = lamda * variabel berbeda + residual. Salah satu persamaan memiliki ay sebagai variabel pertama, dan jika Anda terus mengganti variabel lain, Anda mendapatkan persamaan yang Anda butuhkan
Fairly Nerdy