Matriz de variância-covariância dos erros na regressão linear


12

Como a matriz de erros var / cov é calculada na prática por pacotes de análise estatística?

Essa ideia é clara para mim em teoria. Mas não na prática. Quero dizer, se eu tiver um vetor de variáveis ​​aleatórias , entendo que a matriz de variância / covariância receberá o produto externo dos vetores desvio-da-média: .X=(X1,X2,,Xn)ΣΣ=E[(XE(X))(XE(X))]

Mas quando tenho uma amostra, os erros das minhas observações não são variáveis ​​aleatórias. Ou melhor, são, mas somente se eu coletar um número de amostras idênticas da mesma população. Caso contrário, eles são dados. Então, novamente, minha pergunta é: como um pacote estatístico pode produzir uma matriz var / cov a partir de uma lista de observações (isto é, uma amostra) fornecida pelo pesquisador?


Os erros de suas observações são função de variáveis ​​aleatórias (os y's) e, portanto, são eles próprios aleatórios. Condicionais apenas no X, eles não são fornecidos.
user603

11
Sim, concordo plenamente com isso. Mas o que você diz funciona em teoria. Se eu desenhar, digamos, 100 amostras aleatórias de tamanho idêntico da mesma população, cada erro de observação será uma variável aleatória com (0, sigma ^ 2). E se, em vez disso, eu desenhar apenas uma amostra? Nesse caso, a média do erro de cada observação é o próprio erro. Está claro o que estou dizendo? Então, o que estou tentando entender é: como um pacote como Stata calcula a matriz de variância-covariância usando apenas uma amostra retirada da população?
Riccardo

Respostas:


7

A matriz de covariância para um modelo do tipo é geralmente calculada como que é o soma dos quadrados dos resíduos, e representa os graus de liberdade (tipicamente o número de observações menos o número de parâmetros).y=Xβ+ϵ

(XtX)1σ2d
σ2σ2=i(yiXiβ^)2d

Para erros padrão robustos e ou em cluster, o produto é modificado levemente. Também pode haver outras maneiras de calcular a matriz de covariância, por exemplo, conforme sugerido pela expectativa de produtos externos.XtX


3
  1. Estimativa OLS da variação de erro , :σ2

s2=ε^ε^np

Isso está incluído em Regressão prática e Anova usando R de Julian J. Faraway, página 21 .

Exemplo de seu cálculo em R, com base no modelo linear de milhas por galão regrediram em várias especificações do modelo do carro incluídos no mtcarsbanco de dados: ols = lm(mpg ~ disp + drat + wt, mtcars). Estes são os cálculos manuais e a saída da lm()função:

> rdf = nrow(X) - ncol(X)                    # Residual degrees of freedom
> s.sq = as.vector((t(ols$residuals) %*% ols$residuals) / rdf) 
>                                            # s square (OLS estimate of sigma square)
> (sigma = sqrt(s.sq))                       # Residual standar error
[1] 2.950507
> summary(ols)

Call:
lm(formula = mpg ~ disp + drat + wt, data = mtcars)
...
Residual standard error: 2.951 on 28 degrees of freedom
  1. Variância - matriz de covariância dos coeficientes estimados , :β^

Var[β^X]=σ2(XX)1

estimado na página 8 deste documento on-line como

Var^[β^X]=s2(XX)1
> X = model.matrix(ols)                             # Model matrix X
> XtX = t(X) %*% X                                  # X transpose X
> Sigma = solve(XtX) * s.sq                         # Variance - covariance matrix
> all.equal(Sigma, vcov(ols))                       # Same as built-in formula
[1] TRUE
> sqrt(diag(Sigma))                                 # Calculated Std. Errors of coef's
(Intercept)        disp        drat          wt 
7.099791769 0.009578313 1.455050731 1.217156605 
> summary(ols)[[4]][,2]                             # Output of lm() function
(Intercept)        disp        drat          wt 
7.099791769 0.009578313 1.455050731 1.217156605 

2

Com regressão linear, estamos ajustando um modelo . é a variável dependente, os são as variáveis ​​preditoras (explicativas). Usamos os dados fornecidos a nós (o conjunto de treinamento ou a amostra) para estimar a população 's. Os não são considerados variáveis ​​aleatórias. Os são aleatórios devido ao componente de erro.Y X β X YY=βX+εYXβXY


Oi Rajiv, obrigado pela correção. Então, você pode explicar como o Stata (ou qualquer outro pacote de estatísticas), começando com Y (e epsilon), consegue derivar a matriz de variância-covariância Sigma?
Riccardo

calculando . e^e^
user603

Concordo com o usuário603. Verifique a página 21 de cran.r-project.org/doc/contrib/Faraway-PRA.pdf . Isso é baseado em R, mas inclui uma boa discussão sobre a teoria por trás da regressão linear.
Rajiv Sambasivan

Olá a ambos, obrigado, antes de tudo. Também concordo com você, user603, e esperava esta resposta. Mas se a matriz var / cov é calculada computando o produto externo dos vetores de erro, isso significa que a cov entre os componentes de erro na maioria dos casos não será zero, como implicaria a hipótese de independência. Direita? É por isso que minha dúvida gira em torno. Rajiv, procurei o bom guia que você sugeriu, mas não conseguiu encontrar uma resposta. Agradecemos antecipadamente por qualquer resposta futura.
Riccardo
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.