Питання про те, як нормалізувати коефіцієнт регресії


16

Не впевнений, чи нормалізувати це правильне слово, яке тут вживають, але я постараюся зробити все можливе, щоб проілюструвати те, що я намагаюся запитати. Тут використаний оцінювач - найменше квадратів.

Припустимо, у вас , ви можете зосереджувати його навколо середнього значення де і , так що більше не впливає на оцінку .y=β0+β1x1y=β0+β1x1β0=β0+β1x¯1x1=xx¯β0β1

Під цим я маю на увазі у y = \ beta_1x_1 ' еквівалентний \ hat \ beta_1 в y = \ beta_0 + \ beta_1x_1 . Ми зменшили рівняння для легшого обчислення найменшого квадрата.β^1β 1у=β0+β1х1y=β1x1β^1y=β0+β1x1

Як ви застосовуєте цей метод взагалі? Тепер у мене є модель y=β1ex1t+β2ex2t , я намагаюся зменшити її до y=β1x .


Які дані ви аналізуєте, і чому ви хочете видалити коваріат, ex1t , зі своєї моделі. Також є причина, що ви знімаєте перехоплення? Якщо ви маєте на увазі центрування даних, то нахил буде однаковим у моделі з / без перехоплення, але модель із перехопленням краще відповідатиме вашим даним.
caburke

@caburke Мене не хвилює відповідність моделі, тому що після того, як я обчислив β1 і β2 я можу повернути їх у модель. Суть цієї вправи полягає в оцінці β1 . Зменшивши початкове рівняння лише до y=β1x , обчислення найменшого квадрата стане простішим (x 'є частиною того, що я намагаюся з’ясувати, він може включати ex1t ). Я намагаюся вивчити механізми, це питання з книги Тукі.
Sabre CN

@ca Спостереження в кінці вашого коментаря є дивним. Він не може застосовуватися до нелінійних виразів - вони не містять нічого, що з розумом можна вважати "нахилом" - але це неправильно в налаштуваннях OLS: придатність для середньосередніх даних точно така ж, як і підходить з перехопленням. Saber, ваша модель неоднозначна: які з β1,β2,x1,x2,t є змінними, а які - параметрами? Яка призначена структура помилок? (А з якої книги Тукі це питання?)
whuber

1
@whuber Це з книги Тукі "Аналіз даних та регресія: другий курс статистики", глава 14А. β1,β2 - параметри, які ми намагаємося оцінити, x1,x2 - змінні, кожна з яких має n спостережень, t я припускаю, що є змінною часу, пов'язаною зі спостереженнями, однак вона не вказувала. Помилка повинна бути звичайною і її можна ігнорувати для цього питання.
Sabre CN

1
@whuber Я здебільшого мав на увазі першу частину допису, але це було не ясно в моєму коментарі. Я мав на увазі те, що якщо ви маєте на увазі лише центр x , а не y , як здавалося, пропонувалося в ОП, а потім видалити перехоплення, то пристосування буде гірше, оскільки це не обов'язково так, що y¯=0 . Нахил, очевидно, не є хорошим терміном для коефіцієнта в моделі, згаданій в останньому рядку ОП.
caburke

Відповіді:


38

Хоча я не можу справедливо поставитись до цього питання - для цього знадобиться невелика монографія - це може бути корисним для переформулювання деяких ключових ідей.

Питання

Почнемо з перестановки питання та використання однозначної термінології. Ці дані складаються зі списку упорядкованих пар . Відомі константи α 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

для констант та β 2, що підлягають оцінюванню, ε i є випадковими, і - у будь-якому разі, - у хорошому наближенні - незалежними та мають спільну дисперсію (оцінка якої також представляє інтерес).β1β2εi

Фон: лінійне "відповідність"

Mosteller і Tukey називають змінні = ( x 1 , 1 , x 1 , 2 , ... ) і x 2 як "відповідники". Вони будуть використовуватися для "узгодження" значень y = ( y 1 , y 2 , ... ) певним чином, що я проілюструю. Більш загально, нехай y і x є будь-якими двома векторами в одному і тому ж евклідовому векторному просторі, при цьому y грає роль "цілі" і xx1(x1,1,x1,2,)x2y=(y1,y2,)yxyxта "матчера". Ми плануємо систематично змінювати коефіцієнт , щоб наблизити y до кратного λ x . Найкраще наближення виходить, коли λ x максимально близький до y . Рівно, довжина квадрата y - λ x мінімізована.λyλxλxyyλx

Один із способів візуалізувати цей процес узгодження - це зробити розсіювач і y, на якому намальований графік x λ x . Вертикальні відстані між точками розсіювання і цим графіком є ​​складовими залишкового вектора y - λ x ; сума їх квадратів повинна бути зроблена якомога меншою. До постійної пропорційності ці квадрати - це площі кіл, центровані в точках ( x i , y i ) з радіусами, рівними залишкам: ми хочемо мінімізувати суму площ усіх цих кіл.xyxλx yλx(xi,yi)

Ось приклад, що показує оптимальне значення на середній панелі:λ

Panel

Точки в розсипці сині; графік - червона лінія. Ця ілюстрація підкреслює, що червона лінія обмежена для проходження через початок ( 0 , 0 ) : це дуже особливий випадок підгонки ліній.xλx(0,0)

Множинна регресія може бути отримана шляхом послідовного зіставлення

Повертаючись до налаштування питання, у нас є одна мета і два matchers х 1 і х 2 . Шукаємо числа b 1 і b 2, для яких y максимально наближено b 1 x 1 + b 2 x 2 , знову ж таки в сенсі найменшої відстані. Довільно починаючи з x 1 , Mosteller & Tukey співпадають з іншими змінними x 2 та y до x 1yx1x2b1b2yb1x1+b2x2x1x2yx1. Запишіть залишки для цих збігів як і y 1 відповідно: 1 означає, що x 1 було виведено із змінної.x21y11x1

Ми можемо писати

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

Прийнявши відмова від ї 2 та у , ми переходимо до сполучати цільові залишки у 1 до слічітель залишків х 2 1 . Кінцеві залишки y 12 . Алгебраїчно ми писалиx1x2yy1x21y12

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.

  • x1x2, 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.