Como calcular estatísticas de alavancagem em r


Nas estatísticas, uma observação é considerada atípica se o seu valor para a variável de resposta for muito maior do que o resto das observações no conjunto de dados.

Da mesma forma, uma observação é considerada de alta alavancagem se tiver um ou mais valores para as variáveis preditoras que sejam muito mais extremos em comparação com o restante das observações no conjunto de dados.

Um dos primeiros passos em qualquer tipo de análise é examinar mais de perto as observações que possuem alta alavancagem, pois podem ter um grande impacto nos resultados de um determinado modelo.

Este tutorial mostra um exemplo passo a passo de como calcular e visualizar a alavancagem para cada observação em um modelo em R.

Passo 1: Crie um modelo de regressão

Primeiro, criaremos um modelo de regressão linear múltipla usando o conjunto de dados mtcars integrado ao R:

 #load the dataset
data(mtcars)

#fit a regression model
model <- lm(mpg~disp+hp, data=mtcars)

#view model summary
summary(model)

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 30.735904 1.331566 23.083 < 2nd-16 ***
available -0.030346 0.007405 -4.098 0.000306 ***
hp -0.024840 0.013385 -1.856 0.073679 .  
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.127 on 29 degrees of freedom
Multiple R-squared: 0.7482, Adjusted R-squared: 0.7309 
F-statistic: 43.09 on 2 and 29 DF, p-value: 2.062e-09

Passo 2: Calcule a alavancagem para cada observação

A seguir, usaremos a função hatvalues() para calcular a alavancagem para cada observação no modelo:

 #calculate leverage for each observation in the model
hats <- as . data . frame (hatvalues(model))

#display leverage stats for each observation
hats

                    hatvalues(model)
Mazda RX4 0.04235795
Mazda RX4 Wag 0.04235795
Datsun 710 0.06287776
Hornet 4 Drive 0.07614472
Hornet Sportabout 0.08097817
Valiant 0.05945972
Duster 360 0.09828955
Merc 240D 0.08816960
Merc 230 0.05102253
Merc 280 0.03990060
Merc 280C 0.03990060
Merc 450SE 0.03890159
Merc 450SL 0.03890159
Merc 450SLC 0.03890159
Cadillac Fleetwood 0.19443875
Lincoln Continental 0.16042361
Chrysler Imperial 0.12447530
Fiat 128 0.08346304
Honda Civic 0.09493784
Toyota Corolla 0.08732818
Toyota Corona 0.05697867
Dodge Challenger 0.06954069
AMC Javelin 0.05767659
Camaro Z28 0.10011654
Pontiac Firebird 0.12979822
Fiat X1-9 0.08334018
Porsche 914-2 0.05785170
Lotus Europa 0.08193899
Ford Pantera L 0.13831817
Ferrari Dino 0.12608583
Maserati Bora 0.49663919
Volvo 142E 0.05848459

Normalmente, analisamos mais de perto as observações com um valor de alavancagem superior a 2.

Uma maneira simples de fazer isso é classificar as observações com base no seu valor de alavancagem, em ordem decrescente:

 #sort observations by leverage, descending
hats[ order (-hats[' hatvalues(model) ']), ]

 [1] 0.49663919 0.19443875 0.16042361 0.13831817 0.12979822 0.12608583
 [7] 0.12447530 0.10011654 0.09828955 0.09493784 0.08816960 0.08732818
[13] 0.08346304 0.08334018 0.08193899 0.08097817 0.07614472 0.06954069
[19] 0.06287776 0.05945972 0.05848459 0.05785170 0.05767659 0.05697867
[25] 0.05102253 0.04235795 0.04235795 0.03990060 0.03990060 0.03890159
[31] 0.03890159 0.03890159

Podemos ver que o maior valor de alavancagem é 0,4966 . Como esse número não é maior que 2, sabemos que nenhuma das observações em nosso conjunto de dados possui alta alavancagem.

Passo 3: Visualize a alavancagem para cada observação

Finalmente, podemos criar um gráfico rápido para visualizar a alavancagem de cada observação:

 #plot leverage values for each observation
plot(hatvalues(model), type = ' h ')

alavancagem em R

O eixo x exibe o índice de cada observação no conjunto de dados e o valor y exibe a estatística de alavancagem correspondente para cada observação.

Recursos adicionais

Como realizar regressão linear simples em R
Como realizar regressão linear múltipla em R
Como criar um gráfico residual em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *