Pergunta sobre como normalizar o coeficiente de regressão

16

Não tenho certeza se normalizar é a palavra correta a ser usada aqui, mas tentarei ilustrar o que estou tentando perguntar. O estimador usado aqui é de mínimos quadrados.

Suponha que você tem y=β0+β1x1 , você pode centralizá-lo em torno da média de y=β0+β1x1 onde β0=β0+β1x¯1 e x1=xx¯ , de modo que β0 não tenha mais influência na estimativa de β1 .

Por isso eu média β 1 em y = β 1 x ' 1 é equivalente a p 1 em y = β 0 + β 1 x 1 . Reduzimos a equação para facilitar o cálculo do quadrado mínimo.β^1y=β1x1β^1y=β0+β1x1

Como você aplica esse método em geral? Agora eu tenho o modelo y=β1ex1t+β2ex2t , estou tentando reduzi-lo a y=β1x .

Saber CN
fonte
Que tipo de dados você está analisando e por que deseja remover uma covariável, ex1t , do seu modelo. Além disso, existe algum motivo para você remover a interceptação? Se você centralizar os dados, a inclinação será a mesma no modelo com / sem interceptação, mas o modelo com a interceptação ajustará melhor seus dados.
Caburke
@caburke Não estou preocupado com o ajuste do modelo, porque depois que calculei β1 e β2 , posso colocá-los de volta no modelo. O objetivo deste exercício é estimar β1 . Ao reduzir a equação original para apenas y=β1x , o cálculo do quadrado mínimo será mais fácil (x 'é parte do que estou tentando descobrir, pode incluir ex1t ). Estou tentando aprender os mecanismos, essa é uma pergunta de um livro de Tukey.
Sabre CN
@ca A observação no final do seu comentário é intrigante. Ele não pode se aplicar às expressões não lineares - elas não contêm nada que possa ser considerado razoavelmente uma "inclinação" - mas não está correta na configuração do OLS: o ajuste para os dados centralizados na média é precisamente tão bom quanto o ajuste com uma interceptação. Sabre, seu modelo é ambíguo: quais de β1,β2,x1,x2,t são variáveis ​​e quais são parâmetros? Qual é a estrutura de erro pretendida? (E qual dos livros de Tukey é a pergunta?)
whuber
1
@whuber Este é do livro de Tukey "Análise e regressão de dados: um segundo curso de estatística", capítulo 14A. são os parâmetros que estamos tentando estimar, x 1 , x 2 são as variáveis cada um com n observações, t eu assumo é a variável tempo associado com as observações, no entanto, ele não especificou. O erro deve ser normal e pode ser ignorado para esta pergunta. β1,β2x1,x2t
Saber CN
1
@whuber Eu estava me referindo principalmente à primeira parte do post, mas isso não ficou claro no meu comentário. O que eu quis dizer foi que, se você apenas centralizar , e não y , como parecia estar sendo sugerido no OP, e remover a interceptação, o ajuste será pior, pois não é necessariamente o caso que ˉ y = 0 . A inclinação obviamente não é um bom termo para o coeficiente no modelo mencionado na última linha do OP. xyy¯=0
caburke

Respostas:

38

Embora eu não possa fazer justiça à questão aqui - isso exigiria uma pequena monografia - pode ser útil recapitular algumas idéias-chave.

A questão

Vamos começar reafirmando a pergunta e usando terminologia inequívoca. Os dados consistem em uma lista de pares ordenados . As constantes conhecidas α 1 e α 2 determinam os valores x 1 , i = exp ( α 1 t i ) e x 2 , i = exp ( α 2 t i ) . Nós postulamos um modelo em que(ti,yi) α1α2x1,i=exp(α1ti)x2,i=exp(α2ti)

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

para que as constantes e β 2 sejam estimadas, ε i é aleatório e - para uma boa aproximação de qualquer maneira - independente e com uma variação comum (cuja estimativa também é interessante).β1β2εi

Segundo plano: "correspondência" linear

Mosteller e Tukey referem-se às variáveis = ( x 1 , 1 , x 1 , 2 , ... ) e x 2 como "matchers." Eles serão usados ​​para "combinar" os valores de y = ( y 1 , y 2 , ... ) de uma maneira específica, que ilustrarei. De modo mais geral, vamos y e x haver quaisquer dois vetores no mesmo espaço vetor, com y desempenhando o papel de "target" e xx1(x1,1,x1,2,)x2y=(y1,y2,)yxyxo de "matcher". Contemplamos sistematicamente variar um coeficiente para aproximar y pelo múltiplo λ x . A melhor aproximação é obtida quando λ x é o mais próximo possível de y . Equivalentemente, o comprimento ao quadrado de y - λ x é minimizado.λyλxλxyyλx

Uma maneira de visualizar este processo de correspondência é fazer com que um conjunto disperso de e y na qual está desenhado o gráfico de X X x . As distâncias verticais entre os pontos do gráfico de dispersão e este gráfico são os componentes do vetor residual y - λ x ; a soma de seus quadrados deve ser feita o menor possível. Até uma constante de proporcionalidade, esses quadrados são as áreas dos círculos centralizados nos pontos ( x i , y i ) com raios iguais aos resíduos: desejamos minimizar a soma das áreas de todos esses círculos.xyxλx yλx(xi,yi)

Aqui está um exemplo que mostra o valor ideal de no painel do meio:λ

Panel

Os pontos no gráfico de dispersão são azuis; o gráfico de é uma linha vermelha. Esta ilustração enfatiza que a linha vermelha é forçada a passar pela origem ( 0 , 0 ) : é um caso muito especial de ajuste de linha.xλx(0,0)

A regressão múltipla pode ser obtida por correspondência sequencial

Voltando ao cenário da pergunta, temos um alvo e dois marcadores x 1 e x 2 . Buscamos os números b 1 e b 2 para os quais y seja o mais próximo possível de b 1 x 1 + b 2 x 2 , novamente no sentido de menor distância. Arbitrariamente começando com x . Escreva os resíduos para essas correspondências como x 2 1 e y 1yx1x2b1b2yb1x1+b2x2 , Mosteller e Tukey correspondem às variáveis ​​restantes x 2 e y a x 1x1x2yx1x21y1 , respectivamente: o 1 indica que x 1 foi "retirado" da variável.1x1

Nós podemos escrever

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

Tendo tirado de x 2 e y , passamos a corresponder os resíduos alvo y 1 aos resíduos correspondentes x 2 1 . Os resíduos finais são y 12 . Algebricamente, escrevemosx1x2yy1x21y12

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

Isso mostra que o na última etapa é o coeficiente de x 2 em uma correspondência de x 1 e x 2 para y .λ3x2x1x2y

Poderíamos igualmente ter procedido pela primeira tomada de X 1 e Y , produzindo x 1 2 e y 2 , e, em seguida, tomando x 1 2 de y 2 , obtendo-se um conjunto diferente de resíduos y 21 . Desta vez, o coeficiente de x 1 encontrado na última etapa - vamos chamá-lo μ 3 - é o coeficiente de x 1 em uma combinação de x 1 ex2x1yx12y2x12y2y21x1μ3x1x1 para y .x2y

Finalmente, para comparação, podemos executar uma múltipla (regressão de mínimos quadrados ordinários) de contra x 1 e x 2 . Deixe aqueles resíduos ser y l m . Acontece que os coeficientes nesta regressão múltipla são, precisamente, os coeficientes u 3 e λ 3 encontrado anteriormente e que todos os três conjuntos de resíduos, y 12 , y 21 , e y l m , são idênticos.yx1x2ylmμ3λ3y12y21ylm

Descrevendo o processo

Nada disso é novo: está tudo no texto. Eu gostaria de oferecer uma análise pictórica, usando uma matriz de dispersão de tudo o que obtivemos até agora.

Scatterplot

Como esses dados são simulados, temos o luxo de mostrar os valores "verdadeiros" subjacentes de na última linha e coluna: esses são os valores β 1 x 1 + β 2 x 2 sem o erro adicionado.yβ1x1+β2x2

Os gráficos de dispersão abaixo da diagonal foram decorados com os gráficos dos correspondentes, exatamente como na primeira figura. Os gráficos com inclinação zero são desenhados em vermelho: indicam situações em que o jogador não nos dá nada de novo; os resíduos são os mesmos que o alvo. Além disso, para referência, a origem (onde quer que apareça em um gráfico) é mostrada como um círculo vermelho aberto: lembre-se de que todas as linhas correspondentes possíveis precisam passar por esse ponto.

Muito pode ser aprendido sobre regressão através do estudo deste enredo. Alguns dos destaques são:

  • x2x1x1x2y

  • x21x1y1x1

  • 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
fonte
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
Hoje me deparei com isso, aqui está o que penso sobre a questão de @miura: pense em um espaço bidimensional em que Y seja projetado como uma combinação de dois vetores. y = ax1 + bx2 + res (= 0). Agora pense em y como uma combinação de 3 variáveis, y = ax1 + bx2 + cx3. e x3 = mx1 + nx2. então, certamente, a ordem em que você escolhe suas variáveis ​​afetará os coeficientes. A razão para isso é: o erro mínimo aqui pode ser obtido por várias combinações. No entanto, em alguns exemplos, o erro mínimo pode ser obtido por apenas uma combinação e é aí que o pedido não importa.
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.
Bastante Nerdy
Eu respondi algumas das minhas perguntas que tenho no comentário acima. Para uma regressão de 3 variáveis, teríamos 6 etapas. Remova x1 de x2, de x3 e de y. Em seguida, remova x2,1 de x3,1 e de y1. Em seguida, remova x3,21 de y21. Isso resulta em 6 equações, cada uma das quais na forma variável = lamda * variável diferente + residual. Uma dessas equações tem ay como primeira variável e, se você continuar substituindo as outras variáveis, obtém a equação de que precisa
Bastante Nerdy