SELEÇÃO DE VARIÁVEIS
objetivo
(1) incluir um grande número de covariáveis gera sérios problemas como interpretação complexa dos resultados
(2) princípio de parcimônia
buscar o menor subconjunto de covariáveis capaz de explicar adequadamente a variação de Y? (2)
incluir tantas covariáveis quantas forem necessárias para auxiliar na predição do modelo? (1)
As vezes é possível fazer uma TRIAGEM INICIAL, eliminando algumas covariáveis, se uma ou mais covariáveis:
→ não são fundamentais para o estudo
→ são afetadas por grandes erros de medida → são redundantes com outra covariável
É possível reduzir ainda mais o número de covariáveis, excluindo aquelas com pequena contribuição para o modelo, fazendo uma: SELEÇÃO DE VARIÁVEIS
Como medir contribuição?
Há vários tipos de medidas, denominados:
Critérios para seleção de variáveis
Comparando modelos com p covariáveis: 1) Coeficiente de determinação múltiplo
SQReg(p) e SQRes(p) são as somas de quadrados da regressão e dos resíduos, respectivamente, para o modelo com
p covariáveis
→ preferir modelo com maior R2
mp
R2mp = SQReg( p)
SQT = 1−
SQRes( p) SQT
2) Coeficiente de determinação ajustado
→ preferir modelo com maior R2
ap
3) Quadrado médio dos resíduos
→ preferir modelo com menor QMRes(p)
Rap2 =1−SQRes p/n− p SQT /n−1
QMRes( p)=SQRes( p)
4) Estatística Cp de Mallows
Se o modelo com p covariáveis for bom
regra prática:
→ construir gráfico de Cp x p, traçando a reta Cp = p
→ modelos com pontos próximos a reta e abaixo da reta são candidatos ao “melhor” modelo
C
p=
SQRes( p)
^σ
2−
n + 2 p
→ Cp baseado no Erro Quadrático Médio (EQM) dos preditos
Definição geral de EQM:
fazendo
EQM total padronizado:
* um estimador de τp é Cp
EQM( ^θ)=b2( ^θ)−Var ( ^θ) , com b(^θ)=E (θ−^θ)
^θ≡ ^yi
EQM( ^yi)=
[
E ( yi− ^yi)]
2−Var ( ^yi) ; i=1,2,… , nτp= 1
σ2
∑
i=1 nSe o modelo com p covariáveis for bom
E
(
QMRes( p)
^σ
2)
≈
1⇒ E
(
SQRes( p)
^σ
2)
≈
n− p
⇒
E
(
SQRes( p)
^σ
2−
n+2 p
)
=
E (C
p)≈
p
5) Critério de Akaike
sendo l o valor máximo da função de verossimilhança → preferir modelos com AIC menor
*pode ser usado também para comparação entre diferentes tipos de modelos
Pode ser mostrado que no MRLM:
AIC=−2 ln(l)+2 p
AIC=n ln
(
SQRes6) Estatística do teste F parcial
regra prática:
estabelecer um ponto de corte para o p-valor, como critério mínimo de entrada e/ou saída de uma covariável, pE e pS , respectivamente
→ equivalentemente, pode-se usar o módulo do coeficiente de correlação parcial
F=SQEXTRA( p−1) QMRes( p)
7) Estatística PRESS
(para avaliar qualidade preditiva do modelo)
Definição de resíduos PRESS ou erros de predição
→ preferir modelo com menor PRESS
e(i)= yi− ^y(i) ; i=1,… , n
valor predito para o indivíduo i, sob o modelo ajustado com os
outros (n - 1) indivíduos PRESS =
∑
i=1 n e(2i) =∑
i=1 n(
ei 1−hii)
2##Calculo dos critérios
#suponha que seu banco de dados está em “arq” como y, x1, x2, ... , x(p-1) #matriz de correlação dos dados
cor(arq) attach(arq)
#suponha que a covariavel x1 tem a maior correlação com a resposta y ajust1 <- lm(y~x1)
s1<-summary(ajust) s1
anova(ajust1)
# Coeficiente de determinação múltipla s1$'r.squared'
# Coeficiente de determinação ajustado s1$'adj.r.squared'
# Quadrado médio residual QM1<-s1$sigma^2 QM1 # Cp de mallows p<-length(ajust1$coef) n<-length(y) SQE<-(n-p)*QM1 Cp1<-(SQE)/QM1 - n + 2*p Cp1 # Aic AIC1(ajust) # PRESS require(DAAG) press1(ajust)
→ Existe mais de uma forma sistemática de uso de um critério Estas diferentes formas de uso são denominadas:
Procedimentos para seleção de variáveis
*o número de covariáveis incluídas no modelo final pode variar dependendo do procedimento e critério utilizados
Procedimento não usual para seleção de covariáveis
(Com todas os modelos de regressão possíveis) Suponha que temos k covariáveis disponíveis:
→ ajustar o modelo nulo e os modelos com 1, 2, 3, …, até k covariáveis
Algorítmo:
a) dividir os modelos em classes:
Classe A -> modelo nulo;
Classe B -> todos os modelos com uma covariável; Classe C -> todos modelos com duas covariáveis;
⁞
b) ordenar os modelos em cada classe, de acordo com um dos
critérios para seleção de covariáveis
c) escolher o “melhor” modelo dentro de cada classe, de acordo
com o critério adotado
d) selecionar o modelo, a partir do qual, o nível do critério varia
Procedimento com todos os possíveis modelos, pode-se mostrar inviável quando há um número k muito grande de variáveis disponíveis, pois são ajustados um total de 2k modelos
Por exemplo: se k =10 são 210 =1024 modelos
→ outros procedimentos têm sido propostos, em que a cada passo, há a adição ou a retirada de uma covariável
Procedimentos básicos para seleção de covariáveis
1) Seleção “passo a frente” (forward)
começa pelo modelo nulo e adiciona-se covariáveis uma a uma ao modelo, até que a inclusão de uma nova covariável não seja necessária
2) Seleção “passo a atrás” (backward)
começa pelo modelo que contém todas as covariáveis, eliminando uma a uma covariáveis não significativas para o modelo
3) Seleção “passo a passo” (stepwise)
É uma combinação dos procedimentos backward e forward. Inicia-se como no procedimento forward, e após cada etapa de inclusão de uma covariável, tem-se uma etapa para tentar descartar outra covariável
1) Seleção “passo a frente” (forward)
Passo 1: Primeira covariável a entrar no modelo (X1) → o modelo somente com X
1 apresenta o melhor valor para o critério
escolhido, entre os modelos com uma covariável
Passo 2: Segunda covariável a entrar no modelo (X2) → o modelo com X
1 e X2 apresenta o melhor valor para o critério
escolhido, entre os modelos com duas covariáveis
Demais passos: covariáveis entram uma a uma conforme Passo 2, na
presença das demais covariáveis selecionadas anteriormente, até que a inclusão de mais uma covariável não seja mais útil
Note que a covariável selecionada em um determinado passo, permanece até o final do procedimento, não havendo possibilidade de exclusão
2) Seleção “passo a atrás” (backward)
Passo 1: Primeira covariável a sair do modelo (Xk)
→ o modelo sem Xk é o melhor para o critério escolhido, comparado aos outros modelos com (k -1) covariáveis
Passo 2: Segunda covariável a sair do modelo (X
k-1)
→ o modelo sem Xk-1 é o melhor para o critério escolhido, comparado aos outros modelos com (k -2) covariáveis
Demais passos: covariáveis saem uma a uma de acordo com o
procedimento de retirada descrito anteriormente, até que a
exclusão de mais uma covariável não seja mais útil
Note que a covariável removida em um determinado passo, não pode ser incluída novamente no modelo
4) Seleção “passo a passo” (stepwise)
Passo 1 e Passo 2: Primeira e Segunda covariáveis a entrar no
modelo, conforme procedimento forward
Passo 3: Primeira covariável a sair do modelo com duas
covariáveis, conforme procedimento backward
Demais passos: alternar procedimentos forward e backward com
→ na seleção de variáveis há vários critérios e vários procedimentos disponíveis
→ como consequência disso:
1) diferentes combinações de critérios/procedimentos nem sempre levam a mesma seleção de variáveis, pois os modelos podem ter ajustes equivalentes
2) nenhuma combinação de critérios/procedimentos pode garantir que o melhor subconjunto de covariáveis foi obtido
#Exemplo selecao de covariaveis y <- c(78.5,74.3,104.3,87.6,95.9,109.2,102.7,72.5,93.1,115.9,83.8,113.3,109.4) x1 <- c(7,1,11,11,7,11,3,1,2,21,1,11,10) x2 <- c(26,29,56,31,52,55,71,31,54,47,40,66,68) x3 <- c(6,15,8,8,6,9,17,22,18,4,23,9,8) x4 <- c(60,52,20,47,33,22,6,44,22,26,34,12,12) dados<-as.data.frame(cbind(y,x1,x2,x3,x4)) ###PROCEDIMENTO “AUTOMÁTICO” modelo_completo <- lm(y~., data=dados) summary(modelo_completo)
modelo_final <- step(modelo_completo) #seleção de variáveis pelo critério de AIC #ver outras opções de procedimentos no help summary(modelo_final)
##função alternativa require(MASS)
modelo_final2 <- stepAIC(modelo_completo) summary(modelo_final2)