Essa é uma revisão anterior do documento!
Neste terceiro e último roteiro sobre Modelos Lineares Múltiplos vamos trabalhar com conjuntos de dados com variáveis preditoras contínuas. Inicialmente, iremos avaliar uma importante premissa dos modelos associados a esse tipo de dado, aprendendo a identificar colinearidade entre variáveis, entendendo os efeitos sobre a seleção de modelos e interpretando os coeficientes do modelo selecionado. Depois, vamos utilizar um conjunto de dados mais complexo com variáveis contínuas e categóricas para reforçar o procedimento de seleção de modelos e posteriormente obter e interpretar, por meio dos resumos dos modelos, os coeficientes dos parâmetros, incluindo as interações. Nessa segunda parte vamos exercitar todos os conceitos importantes de Modelos Lineares Múltiplos e fechar esse módulo da disciplina.
Uma importante premissa de modelos lineares múltiplos é que as variáveis preditoras sejam independentes entre si. Entretanto, em estudos observacionais ou exploratórios é relativamente comum que as variáveis preditoras não sejam independentes. Quando duas variáveis preditoras estão correlacionadas e estão explicando a mesma porção da variância da variável resposta estamos diante de um problema de colinearidade. Nos casos mais extremos, a colinearidade pode afetar a significância de algumas variáveis e até mesmo o sinal do efeito.
Existem várias formas de lidar com a colinearidade, mas vamos focar nossa atividade em identificar e remover variáveis que estejam inflando as estimativas de variação. Para isso, vamos usar um índice chamado de Variance Inflation Factor (VIF), que é calculado a partir dessa equação:
$$ VIF_{i} = \frac{1}{1 - R_{i}^{2}} $$
Esse R2 é obtido ajustando um modelo linear múltiplo para analisar a relação entre cada variável preditora, por exemplo i = X1, e todas as outras preditoras no modelo de interesse (X2, X3,…, Xn). Fazendo isso para todas as preditoras teremos um VIF
para cada uma delas. Um alto R2 significa que grande parte da variação na preditora em questão é compartilhada pelas outras variáveis. Veja no exemplo abaixo um passo-a-passo para calcular o VIF
.
Quanto maior for o valor do VIF
, mais os valores de erro padrão dos parâmetros do modelo serão inflados e mais dificilmente um efeito será detectado. Além da imprecisão nas estimativas dos parâmetros colineares, um outro problema que pode emergir é o modelo mínimo adequado ser diferente, dependendo da ordem da simplificação do modelo cheio. Um valor frequentemente usado para definir um limite aceitável de VIF
é 4,0, acima desse valor as estimativas do modelo podem ficar comprometidas.
Nessa abordagem, após identificar quais são as variáveis com maiores valores de VIF, elas serão removidas sequencialmente. A cada variável retirada verifica-se novamente se os valores de VIF diminuíram ou se ainda precisam ser retiradas outras variáveis colineares.
É importante entender que a escolha de qual variável retirar vai depender também do sentido biológico/ecológico de cada variável. Em alguns casos, pode valer a pena manter uma variável cujo VIF é levemente mais alto, pois o mecanismo de explicação pode ser mais explícito para essa variável.
Vamos ver como isso funciona na prática abaixo.
O objetivo dessa pesquisa foi avaliar quais variáveis ambientais predizem melhor a biomassa acima do solo (Aboveground Biomass-AGB) de manguezais em diferentes locais do mundo1). Foram utilizadas 3 variáveis ambientais que são facilmente obtidas em bases de dados mundiais.
1. Baixe o conjunto de dados mangrove.csv, importe para o Rcmdr, usando vírgula como separador de campo, e visualize os dados para entender o arquivo.
2. Entenda as variáveis do arquivo:
3. Inspecione a correlação entre todas as variáveis preditoras contínuas:
Para fazer isso, você tem duas opções no Rcmdr:
Esse procedimento de analisar a correlação entre todas as nossas variáveis preditoras contínuas deveria ser sempre realizado antes de fazermos nossas análises.
4. Ajuste um modelo incluindo todas as variáveis e coloque “modbird1” como nome do modelo. Neste momento não inclua as interações. No resumo do modelo, repare nos efeitos e na significância de cada um dos parâmetros.
5. Calcule os VIFs para as variáveis incluídas no modelo
Para isso, entre em Modelos → Diagnóstico numérico → Fatores de Inflação de Variância. O primeiro resultado apresentado é uma linha com os valores de VIF para cada parâmetro do modelo. O segundo resultado apresentado é uma matriz de correlação das estimativas dos parâmetros. Note que os valores são diferentes das correlações feitas diretamente para as variáveis (item 3, acima).
Importante: Como o valor de VIF de cada parâmetro depende de quais outros parâmetros estão sendo incluídos no modelo, só é possível calcular os VIFs depois de ter ajustado um modelo. Fique sempre atento(a) se o modelo ativo é o modelo para o qual você quer calcular os VIFs.
A função que utilizaremos no R para calcular o VIF
utiliza uma variante chamada GVIF
, uma generalização que pode ser aplicada também para variáveis categóricas com a mesma interpretação colocada acima3).
6. Pausa para checar os valores dos VIFs:
Vamos agora checar se está claro como o VIF é calculado. Em primeiro lugar, reveja a equação de cálculo de VIF apresentada acima.
Vamos calcular manualmente o valor de VIF para uma variável preditora e comparar com o valor obtido acima no Rcmdr. Para isso, precisamos calcular o R2 da relação entre essa variável preditora e todas as outras preditoras que estavam nesse modelo (“modbird1”). Para isso, essa variável preditora na qual estamos interessados em calcular o VIF (especificamente para esse modelo completo) passará agora a ser a variável resposta de um novo modelo que criaremos. Então, vamos fazer isso para a variável AET:
Entre em Estatísticas → Ajuste de Modelos → Modelo Linear. Coloque AET como variável resposta na caixa da esquerda da equação e coloque as outras 4 variáveis preditoras na caixa da direita da equação. Defina o nome desse modelo como “vif_aet”. No resumo do modelo será apresentado um valor de R2 Múltiplo (Multiple R-square). Utilize esse valor na equação de cálculo de VIF e veja se o resultado é igual ao valor de VIF calculado pelo Rcmdr. Deveria ser. Se não foi, peça ajuda a alguém da equipe.
Repita o mesmo procedimento para outra variável de sua escolha. Você pode fazer isso para todas as variáveis do modelo, se quiser.
7. Continuando nossa análise: Analisando o resultado dos VIFs, se houver alguma variável com valor maior que 4, ajuste um novo modelo no qual a variável com o maior VIF seja removida. Coloque “modbird2” como nome desse modelo. Olhe para o summary desse modelo e para as variáveis que permaneceram nele. Cheque os valores dos coeficientes e a significância de cada variável em relação ao modelo “modbird1”. Houve alguma alteração? Alguma variável deixou de ser significativa? Alguma variável passou a ser significativa? O sinal do efeito mudou? Depois, calcule os VIFs das variáveis do “modbird2” e veja se ainda tem alguma variável com VIF maior que 4.
8. Repita esses procedimentos até não haver nenhuma variável com VIF maior que 4.
9. Mesmo sem ter variáveis colineares, é possível que algumas das variáveis remanescentes não sejam relevantes para definir o número de espécies de aves. Então, agora, crie um modelo completo, que inclua as variáveis remanescentes e suas interações e realize o procedimento de seleção do modelo mínimo plausível pelo método de simplificação para o mínimo adequado, conforme explicado no roteiro I de MLM.
10. Analise os resultados do modelo final.
Nesse último tópico do bloco vamos resgatar os principais conceitos que emergiram com a generalização do modelo linear, agora com múltiplas preditoras, a partir de um exemplo que tem duas variáveis preditoras contínuas e duas categórica. Acreditamos que esse exemplo incorpora as complexidades tratadas e ajuda a agrupar os tópicos que devem ficar atentos nos modelos com múltiplas preditoras.
Ao final desta seção é desejável que tenha compreendido nos modelos lineares múltiplos:
tabela de anova
na comparação de dois modelos;anova
para simplificação do modelo;
No Rcmdr o VIF
é aplicado ao modelo ativo pelo menu Models > Numerical diagnostics > Variance-inflation factors
), calculando o valor para todos os termos do modelo, inclusive as interações. Como interações e as variáveis isoladas compartilham parte da variação explicada, a correlação entre eles é esperada. Ou seja, não é possível fazer a avaliação do VIF das variáveis em modelos com interação diretamente. Uma soluçao é fazer modelos sem as interações como fizemos anteriormente.
Uma outra forma de contornar esse problema é fazer uma transformação simples nas variáveis contínuas, centralizando a média em zero
, subtraindo o valor observado da média( $x_i - \bar{x}$ ).
Com essa transformação o valor 0
passa a representar a média e os valores positivos o aumento em relação a média e negativos a diminuição, na mesma unidade de escala da variável original.
A centralização das variáveis contínuas é uma transformação corriqueira pois não dificulta a interpretação e ao contrário, evita muitos problemas analíticos e de interpretação. Entre as vantagens da centralização está a possibilidade de interpretar o VIF
diretamente no modelo selecionado e incorporar uma interpretação biológica para o valor do intercepto, onde muitas vezes não existia.
O objetivo dessa pesquisa foi saber quais fatores afetam o tamanho de bebês ao nascer, de modo que fosse possível orientar campanhas de conscientização para evitar o nascimento de bebês com baixo peso, uma vez que isso pode implicar em maiores custos e muitos riscos ao bebê devido à permanência no hospital. Três variáveis preditoras (explicadas abaixo) foram consideradas relevantes para essa pesquisa, mas também havia um interesse genuíno em saber se alguma das variáveis poderia interferir no efeito das outras. Como a variável resposta, peso do bebê ao nascer, foi medida em onças
vamos primeiro transformar em uma escala de medida que temos mais facilidade para interpretar, multiplando essa variável por 0.02835
para transformar em kg
.
Data > Manage variables in active data set > Compute a new variable
;New variable name
nomei a nova variável como pesoKg
;Expression to compute
coloque a expressão: bwt * 0.02835
;pesoKg
= peso do bebê (medido em kg
) gestation
= tempo de gestação (dias)age
= idade da mãesmoke
: FALSE
mãe não fumante; TRUE
mãe fumanteModels > Numerical diagnostics > Variantion Inflation Factor
Data > Manage variable in active data set > Computer new variable
;New variabel name
o nome ageCenter
e em Expression to compute
inclua a expressão age - mean(age)
;gestationCenter
usando a expressão gestation - mean(gestatation)
;
Retorne à lista de desafios dos modelos com múltiplas preditoras do início desta seção e avalie se todos os pontos foram compreendidos.
Responda o o formulário MLM III incluindo arquivos de resultados e figuras quando solicitado.
GVIF
foi desenvolvida pelo John Fox, mesmo autor do Rcmdr. Veja o artigo no link https://www.tandfonline.com/doi/abs/10.1080/01621459.1992.10475190