O que fazer com variáveis ​​colineares

11

Disclaimer: Isto é para um projeto de lição de casa.

Estou tentando encontrar o melhor modelo para os preços dos diamantes, dependendo de várias variáveis ​​e, até agora, pareço ter um modelo muito bom. No entanto, encontrei duas variáveis ​​que são obviamente colineares:

>with(diamonds, cor(data.frame(Table, Depth, Carat.Weight)))
                   Table       Depth Carat.Weight
Table         1.00000000 -0.41035485   0.05237998
Depth        -0.41035485  1.00000000   0.01779489
Carat.Weight  0.05237998  0.01779489   1.00000000

Tabela e Profundidade dependem uma da outra, mas ainda quero incluí-las no meu modelo preditivo. Fiz uma pesquisa sobre diamantes e descobri que a tabela e a profundidade são o comprimento na parte superior e a distância da ponta da parte superior à inferior de um diamante. Como esses preços dos diamantes parecem estar relacionados à beleza e a beleza parece ter proporções relacionadas, eu incluiria a proporção delas, digamos , para prever os preços. Esse procedimento padrão é para lidar com variáveis ​​colineares? Se não, o que é?TumabeueDepth

Edit: Aqui está um gráfico de Profundidade ~ Tabela: insira a descrição da imagem aqui

Mike Flynn
fonte
1
+1 para uma pergunta interessante, mas não, esse definitivamente não é um procedimento padrão para lidar com variáveis ​​co-lineares. Espero que alguém lhe dê uma boa resposta sobre por que não. Ele pode ainda ser uma boa coisa a fazer no seu caso ...
Peter Ellis
3
O estranho é que a correlação de -0,4 sugere que os diamantes mais longos no topo são mais curtos de cima para baixo. Isso parece contra-intuitivo - tem certeza de que está correto?
Peter Ellis
corTumabeueDepth
@ PeterEllis Disseram-me que este é um conjunto de dados real, sim. Olhando para um gráfico de Profundidade ~ Tabela, pode ser porque a variação se espalha para valores altos de Tabela.
Mike Flynn

Respostas:

14

Essas variáveis ​​estão correlacionadas.

A extensão da associação linear implícita nessa matriz de correlação não é remotamente alta o suficiente para que as variáveis ​​sejam consideradas colineares.

Nesse caso, eu ficaria muito feliz em usar todas essas três variáveis ​​para aplicativos de regressão típicos.

Uma maneira de detectar a multicolinearidade é verificar a decomposição de Choleski da matriz de correlação - se houver multicolinearidade, haverá alguns elementos diagonais próximos de zero. Aqui está sua própria matriz de correlação:

> chol(co)
     [,1]       [,2]       [,3]
[1,]    1 -0.4103548 0.05237998
[2,]    0  0.9119259 0.04308384
[3,]    0  0.0000000 0.99769741

(A diagonal deve sempre ser positiva, embora algumas implementações possam ficar um pouco negativas com o efeito de erros de truncamento acumulados)

Como você vê, a menor diagonal é 0,91, que ainda está longe de zero.

Por outro lado, aqui estão alguns dados quase colineares:

> x<-data.frame(x1=rnorm(20),x2=rnorm(20),x3=rnorm(20))
> x$x4<-with(x,x1+x2+x3+rnorm(20,0,1e-4))
> chol(cor(x))
   x1         x2         x3           x4
x1  1 0.03243977 -0.3920567 3.295264e-01
x2  0 0.99947369  0.4056161 7.617940e-01
x3  0 0.00000000  0.8256919 5.577474e-01
x4  0 0.00000000  0.0000000 7.590116e-05   <------- close to 0.
Glen_b -Reinstate Monica
fonte
Obrigado, eu acho que eu estava simplesmente confuso entre "correlacionados" e "collinear"
Mike Flynn
@kingledion Por favor, não use comentários para tentar levar as pessoas a responder sua pergunta.
Glen_b -Reinstala Monica
6

Pensei que esse esquema de corte de diamante pudesse acrescentar insights à questão. Como não é possível adicionar uma imagem a um comentário, a resposta foi ....

insira a descrição da imagem aqui

PS. @ Comentário de PeterEllis: O fato de que "os diamantes mais longos na parte superior são mais curtos de cima para baixo" pode fazer sentido da seguinte maneira: Suponha que todos os diamantes brutos sejam aproximadamente retangulares (digamos). Agora o cortador deve escolher seu corte com este retângulo delimitador. Isso introduz a troca. Se a largura e o comprimento aumentarem, você estará procurando diamantes maiores. Possível, mas mais raro e mais caro. Faz sentido?

curious_cat
fonte
2

O uso de relações na regressão linear deve ser evitado. Essencialmente, o que você está dizendo é que, se uma regressão linear fosse feita nessas duas variáveis, elas seriam linearmente correlacionadas sem interceptação; Este não é obviamente o caso. Veja: http://cscu.cornell.edu/news/statnews/stnews03.pdf

Além disso, eles estão medindo uma variável latente - o tamanho (volume ou área) do diamante. Você já pensou em converter seus dados em uma medida de área de superfície / volume em vez de incluir as duas variáveis?

Você deve postar um gráfico residual desses dados de profundidade e tabela. Sua correlação entre os dois pode ser inválida de qualquer maneira.

TLJ
fonte
1

A partir da correlação, é difícil concluir se a Tabela e a Largura estão realmente correlacionadas. Um coeficiente próximo a + 1 / -1 diria que eles são colineares. Também depende do tamanho da amostra ... se você tiver mais dados, use-os para confirmar.

O procedimento padrão para lidar com variáveis ​​colineares é eliminar uma delas ... porque saber que uma determinaria a outra.

Subspaciano
fonte
1
Não sei se concordo com isso. A correlação é r = - .41, que é uma magnitude razoável para uma correlação, eu acho. Dado o provável N (com base em uma olhada no gráfico), eu esperaria que r fosse altamente 'significativo'. Se Table & Depth está ou não correlacionado o suficiente para ser chamado de "colinear" será uma questão de definição (embora eu também não chamaria isso de colinearidade problemática). Por fim, eu seria cauteloso em simplesmente eliminar uma das variáveis, a menos que r estivesse muito próximo de | 1 | (por exemplo, ~ 0,99) - Não sei dizer se é isso que você quer dizer.
gung - Restabelece Monica
1

O que faz você pensar que tabela e profundidade causam colinearidade em seu modelo? Somente a partir da matriz de correlação, é difícil dizer que essas duas variáveis ​​causam problemas de colinearidade. O que um teste F conjunto diz sobre a contribuição das duas variáveis ​​para o seu modelo? Como curious_cat mencionou, Pearson pode não ser a melhor medida de correlação quando o relacionamento não é linear (talvez uma medida baseada em classificação?). O VIF e a tolerância podem ajudar a quantificar o grau de colinearidade que você pode ter.

Eu acho que sua abordagem de usar a proporção deles é apropriada (embora não seja uma solução para a colinearidade). Quando vejo a figura, pensei imediatamente em uma medida comum na pesquisa em saúde que relação cintura / quadril. Embora, neste caso, seja mais semelhante ao IMC (peso / altura ^ 2). Se a proporção for prontamente interpretável e intuitiva para o seu público, não vejo motivo para não usá-la. No entanto, talvez você possa usar as duas variáveis ​​em seu modelo, a menos que haja uma evidência clara de colinearidade.

Thomas Speidel
fonte