Eu tenho 6 variáveis ( ) que estou usando para prever . Ao realizar minha análise de dados, tentei primeiro uma regressão linear múltipla. A partir disso, apenas duas variáveis foram significativas. No entanto, quando eu executei uma regressão linear comparando cada variável individualmente com , todas, exceto uma, foram significativas ( entre menos de 0,01 e menos de 0,001). Foi sugerido que isso se devia à multicolinearidade. y y p
Minha pesquisa inicial sobre isso sugere a verificação de multicolinearidade usando VIFs . Fiz o download do pacote apropriado do R e terminei com os VIFs resultantes: 3,35, 3,59, 2,64, 2,24 e 5,56. De acordo com várias fontes online, o ponto em que você deve se preocupar com a multicolinearidade com seus VIFs é 4 ou 5.
Agora estou perplexo com o que isso significa para meus dados. Eu tenho ou não tenho um problema de multicolinearidade? Se sim, como devo proceder? (Não posso coletar mais dados e as variáveis são partes de um modelo que não estão obviamente relacionadas). Se não tiver esse problema, o que devo extrair dos meus dados, principalmente o fato de essas variáveis serem altamente significativas? individualmente, mas não significativo quando combinados.
Edit: Algumas perguntas foram feitas sobre o conjunto de dados e, por isso, gostaria de expandir ...
Nesse caso em particular, procuramos entender como dicas sociais específicas (gesto, olhar etc.) afetam a probabilidade de alguém produzir outra sugestão. Gostaríamos que nosso modelo incluísse todos os atributos significativos, por isso estou desconfortável em remover alguns que parecem redundantes.
Não há nenhuma hipótese com isso agora. Em vez disso, o problema não é estudado e estamos buscando entender melhor quais atributos são importantes. Até onde eu sei, esses atributos devem ser relativamente independentes um do outro (você não pode simplesmente dizer que olhar e gestos são os mesmos ou um subconjunto do outro). Seria bom poder relatar valores de p para tudo, pois gostaríamos que outros pesquisadores entendessem o que foi analisado.
Edit 2: Como surgiu em algum lugar abaixo, meu é 24.
fonte
Respostas:
Para entender o que pode acontecer, é instrutivo gerar (e analisar) dados que se comportam da maneira descrita.
Por simplicidade, vamos esquecer a sexta variável independente. Portanto, a questão descreve regressões de uma variável dependente contra cinco variáveis independentes x 1 , x 2 , x 3 , x 4 , x 5 , nas quaisy x1, x2, x3, x4, x5
Cada regressão comum é significativa em níveis de a menos de .y∼ xEu 0,0010,01 0,001
A regressão múltipla produz coeficientes significativos apenas para e .x 1 x 2y∼ x1+ ⋯ + x5 x1 x2
Todos os fatores de inflação de variação (VIFs) são baixos, indicando bom condicionamento na matriz de projeto (ou seja, falta de colinearidade entre os ).xEu
Vamos fazer isso acontecer da seguinte maneira:
Gere valores normalmente distribuídos para e . (Nós escolheremos mais tarde.)x 1 x 2 nn x1 x2 n
Seja que é um erro normal independente da média . São necessárias algumas tentativas e erros para encontrar um desvio padrão adequado para ; funciona bem (e é bastante dramático: está extremamente bem correlacionado com e , mesmo que apenas moderadamente correlacionado com e individualmente).ε 0 ε 1 / 100 y x 1 x 2 x 1 x 2y= x1+ x2+ ε ε 0 0 ε 1 / 100 y x1 x2 x1 x2
Seja = , , onde é um erro normal padrão independente. Isso torna apenas ligeiramente dependente de . No entanto, pela forte correlação entre e , isso induz uma pequena correlação entre e esses .x 1 / 5 + δ j = 3 , 4 , 5 δ x 3 , x 4 , x 5 x 1 x 1 y y x jxj x1/ 5+δ j=3,4,5 δ x3,x4,x5 x1 x1 y y xj
Aqui está o problema: se fizermos grande o suficiente, essas pequenas correlações resultarão em coeficientes significativos, embora seja quase inteiramente "explicado" apenas pelas duas primeiras variáveis.yn y
Eu descobri que funciona muito bem para reproduzir os valores de p relatados. Aqui está uma matriz de dispersão de todas as seis variáveis:n=500
Ao inspecionar a coluna da direita (ou a linha de baixo), você pode ver que tem uma boa correlação (positiva) com e mas pouca correlação aparente com as outras variáveis. Ao inspecionar o restante desta matriz, você pode ver que as variáveis independentes parecem estar mutuamente correlacionadas (o aleatório mascara as pequenas dependências que sabemos que existem). Não há dados excepcionais - nada terrivelmente periférico ou com alta alavancagem. Os histogramas mostram que todas as seis variáveis são aproximadamente normalmente distribuídas, a propósito: esses dados são tão comuns e simples como se poderia desejar.x 1 x 2 x 1 , … , x 5 δy x1 x2 x1,…,x5 δ
Na regressão de contra e , os valores de p são essencialmente 0. Nas regressões individuais de contra , contra e contra , os valores de p são 0,0024, 0,0083 e 0,00064, respectivamente. : ou seja, eles são "altamente significativos". Mas, na regressão múltipla completa, os valores p correspondentes aumentam para 0,46, 0,36 e 0,52, respectivamente: nada significativos. A razão para isso é que, uma vez que tenha sido regredido em relação a ex 1 x 2 y x 3 y x 4 y x 5 y x 1 x 2y x1 x2 y x3 y x4 y x5 y x1 x2 , a única coisa que resta para "explicar" é a pequena quantidade de erro nos resíduos, que se aproximará de , e esse erro não tem quase relação com o restante . ("Quase" está correto: há uma relação realmente minúscula induzida pelo fato de que os resíduos foram computados em parte a partir dos valores de e e , , têm alguma relação fraca com e Essa relação residual é praticamente indetectável, como vimos.)x i x 1 x 2 x i i = 3 , 4 , 5 x 1 x 2ε xi x1 x2 xi i=3,4,5 x1 x2
O número de condicionamento da matriz de projeto é de apenas 2,17: é muito baixo, não mostrando nenhuma indicação de alta multicolinearidade. (A perfeita falta de colinearidade seria refletida em um número de condicionamento 1, mas na prática isso é visto apenas com dados artificiais e experimentos projetados. Os números de condicionamento no intervalo de 1 a 6 (ou até mais alto, com mais variáveis) não são dignos de nota.) Isso completa a simulação: reproduziu com sucesso todos os aspectos do problema.
Os insights importantes que essa análise oferece incluem
Os valores-p não nos dizem nada diretamente sobre colinearidade. Eles dependem fortemente da quantidade de dados.
As relações entre valores-p em regressões múltiplas e valores-p em regressões relacionadas (envolvendo subconjuntos da variável independente) são complexas e geralmente imprevisíveis.
Consequentemente, como outros argumentaram, os valores-p não devem ser seu único guia (ou mesmo seu principal guia) para a seleção de modelos.
Editar
Não é necessário que seja tão grande quanto para que esses fenômenos apareçam.n 500 Inspirado por informações adicionais na pergunta, a seguir é um conjunto de dados construído de maneira semelhante com (neste caso para ). Isso cria correlações de 0,38 a 0,73 entre e . O número da condição da matriz de design é 9,05: um pouco alto, mas não terrível. (Algumas regras práticas dizem que números de condição tão altos quanto 10 são aceitáveis.) Os valores p das regressões individuais contran=24 xj=0.4x1+0.4x2+δ j=3,4,5 x1−2 x3−5 x3,x4,x5 são 0,002, 0,015 e 0,008: significativos a altamente significativos. Assim, está envolvida alguma multicolinearidade, mas não é tão grande que se trabalhe para alterá-la. O insight básico permanece o mesmo : significado e multicolinearidade são coisas diferentes; apenas leves restrições matemáticas se mantêm entre eles; e é possível que a inclusão ou exclusão de uma única variável tenha efeitos profundos em todos os valores de p, mesmo sem a multicolinearidade grave ser um problema.
fonte
Não é uma situação de um ou outro. E eu sou cético em relação à diretriz "4 ou 5". Para cada um dos seus preditores, o erro padrão do coeficiente é entre 2,2 e 5,6 vezes maior do que seria se o preditor não estivesse correlacionado com os outros. E a parte de um determinado preditor que não pode ser explicada pelos outros varia de 1 / 2,2 a 1 / 5,6, ou 18% a 45%. No geral, isso parece uma quantidade bastante substancial de colinearidade.
Mas vamos voltar um pouco. Você está realmente tentando prever * Y *, em vez de tentar explicá- lo? Se for o primeiro, acho que você não precisa se preocupar se o nível de significância de uma determinada variável muda quando outras pessoas estão presentes no modelo. Seu trabalho é realmente muito mais fácil do que seria se fosse necessária uma explicação verdadeira.
Se a explicação for o seu objetivo, você precisará considerar a maneira como essas variáveis se relacionam - algo que requer mais do que informações estatísticas. Claramente eles se sobrepõem na forma como eles se relacionam com Y , e este collinearity fará com que seja difícil de estabelecer, por exemplo, a sua classificação por ordem de importância na contabilização de Y . Nesta situação, não há um caminho claro para você seguir.
De qualquer forma, espero que você esteja considerando métodos de validação cruzada.
fonte
Você tem multicolinearidade. Sua análise inicial demonstrou isso. Na medida em que isso é um problema, essa é outra pergunta que parece ter muitas respostas no seu caso.
Talvez se você entendesse melhor a questão básica, seria mais óbvio o que fazer? ...
Com a multicolinearidade, seus coeficientes de regressão são sobre as contribuições únicas (bem mais próximas das únicas) de cada variável ao seu modelo. Se alguns estão correlacionados, a contribuição única de cada um correlacionado é menor. Provavelmente, é parcialmente por isso que nenhum é significativo quando estão todos juntos, mas quando usados sozinhos, podem ser.
A primeira coisa que você provavelmente precisa fazer é considerar o significado da intercorrelação entre suas variáveis. Por exemplo, você tem um monte de variáveis que representam a mesma coisa? Você acabou de medir seus preditores em uma escala ruim e obter correlações incidentais? Não tente corrigir a regressão, tente entender suas variáveis.
Considere X1 e X2 com uma correlação muito forte entre eles, digamos r = 0,90. Se você colocar X1 no modelo e ele for um preditor significativo, outro modelo somente com X2 provavelmente também será significativo, porque eles são quase a mesma coisa. Se você colocá-los juntos no modelo, pelo menos um deles terá que sofrer porque a regressão múltipla resolverá suas contribuições exclusivas. Ambos podem não ser significativos. Mas esse não é o ponto, o ponto é reconhecer por que eles se sobrepõem tanto e se eles dizem algo diferente um do outro e se você precisa deles ou não? Talvez um exprima uma ideia mais significativa e mais relacionada à sua variável de resposta do que a outra. Talvez você conclua que eles são a mesma coisa com diferentes níveis de variabilidade.
Além disso, ao analisar modelos de qualquer tipo, mas especialmente com preditores intercorrelacionados, os valores-p são uma maneira terrível de saber se um novo preditivo faz uma contribuição significativa (se é isso que você está tentando fazer ... não sei o que está tentando fazer isso porque parece que você está apenas tentando simplificar a regressão A) ou B) do jeito que você quer ... nenhuma das quais é viável). Provavelmente, é melhor procurar a AIC para ajudá-lo a determinar quais preditores você deve manter e quais não contribuem com nada.
fonte
Pessoalmente, eu usaria índices de condição e a tabela explicada pela variação para analisar a colinearidade.
Também não usaria valores p como critério para a construção de modelos e, ao comparar modelos com 6 IVs com modelos com 1, observaria alterações no tamanho do efeito do parâmetro para a variável que é ambas.
Mas você certamente pode ter os resultados mencionados sem colinearidade. Colinearidade é apenas sobre as variáveis X e seu relacionamento. Mas duas variáveis podem se relacionar fortemente com Y enquanto não se relacionam fortemente entre si.
fonte
Em relação à multicolinearidade, existem vários limites mencionados, geralmente convergindo em torno de um VIF de 10, correspondente a um valor R quadrado de 0,90 subjacente entre a variável testada e as demais variáveis independentes. Os VIFs de suas variáveis parecem aceitáveis e você pode tecnicamente mantê-los em um modelo.
No entanto, eu usaria um método de regressão passo a passo para ver qual é a melhor combinação de variáveis e quanto mais explicações (aumento incremental no quadrado R) você obtém adicionando variáveis. O benchmark de arbitragem deve ser o valor de R Square ajustado que ajusta o valor de R Square para baixo, penalizando o modelo pela adição de variáveis.
Suas variáveis estão um pouco correlacionadas entre si. Isso é inevitável, é apenas uma questão de grau. Dados os VIFs que você mencionou, desconfio intuitivamente que você obterá a grande maioria do bit de informações / explicações da melhor combinação de 2 variáveis. E que a adição de variáveis pode adicionar apenas um valor incremental marginal.
Ao olhar para a combinação de variáveis que são selecionadas pelo processo de regressão passo a passo, eu também examinaria quais variáveis são selecionadas e se seus sinais de coeficiente de regressão são consistentes com sua correlação com y. Caso contrário, pode ser devido a uma interação legítima entre as variáveis. Mas, também pode ser o resultado do ajuste excessivo do modelo e que os coeficientes de regressão são espúrios. Eles refletem um ajuste matemático, mas não têm sentido em termos de causalidade subjacente.
Outra maneira de selecionar suas variáveis é decidir, do ponto de vista lógico, quais são as 2 ou 3 variáveis principais que devem estar no modelo. Você começa com eles e verifica quanto mais informações obtém adicionando uma variável. Verifique o quadrado R ajustado, a consistência do coeficiente de regressão em relação à regressão original e, obviamente, teste todos os modelos com período de espera. Em breve, ficará evidente qual é o seu melhor modelo.
fonte
fortune(224)
: sem trolls aqui, apenas quero destacar que você não precisa necessariamente confiar no que o software oferece (ou oferece) automaticamente como opção.Se suas variáveis explicativas são dados de contagem e não é razoável supor que elas sejam normalmente distribuídas, você pode transformá-las em variáveis normais padrão usando o
scale
comando R. Fazer isso pode reduzir a colinearidade. Mas isso provavelmente não resolverá todo o problema.Um lote útil de comandos R para analisar e lidar com a colinearidade é encontrado no blog de Florian Jaeger , incluindo:
A
z.
função converte um vetor em uma variável normal padrão. Ar.
função retorna resíduos padronizados para regredir um preditor contra outro. Você pode usar isso para efetivamente dividir o desvio do modelo em tranches diferentes, de modo que apenas algumas variáveis tenham acesso à parcela mais sênior e, em seguida, a próxima parcela será oferecida às variáveis residualizadas. (Desculpe pela minha terminologia caseira) Portanto, se um modelo do formulárioY ~ A + B
sofre de multicolinearidade, você pode executar qualquer um dos
Y ~ A + r.(B)
Y ~ r.(A) + B
de modo que apenas os resíduos da variável "tranche júnior" (quando regredidos contra a variável "tranche sênior") sejam ajustados ao modelo. Dessa forma, você está protegido contra a multicolinearidade, mas possui um conjunto de parâmetros mais complicado para relatar.
fonte