Como testo uma associação não linear?


37

Para o gráfico 1, posso testar a associação entre x e y, fazendo uma correlação simples. trama 1

Para o gráfico 2, onde o relacionamento não é linear e ainda existe uma relação clara entre x e y, como posso testar a associação e rotular sua natureza? trama 2

Respostas:


35

... o relacionamento não é linear e ainda existe uma relação clara entre x e y, como posso testar a associação e rotular sua natureza?

Uma maneira de fazer isso seria ajustar como uma função estimada semi-parametricamente de usando, por exemplo, um modelo aditivo generalizado e testando se essa estimativa funcional é ou não constante, o que indicaria nenhuma relação entre e . Essa abordagem o libera de ter que fazer regressão polinomial e tomar decisões às vezes arbitrárias sobre a ordem do polinômio, etc.x y xyxyx

Especificamente, se você tiver observações , poderá ajustar o modelo:(Yi,Xi)

E(Yi|Xi)=α+f(Xi)+εi

e teste a hipótese . Em , você pode fazer isso usando a função Se é o seu resultado e o seu preditor, você pode digitar:H0:f(x)=0, xRgam()yx

library(mgcv) 
g <- gam(y ~ s(x)) 

A digitação summary(g)fornecerá o resultado do teste de hipótese acima. Quanto a caracterizar a natureza do relacionamento, isso seria melhor com um enredo. Uma maneira de fazer isso R(assumindo que o código acima já foi inserido)

plot(g,scheme=2)

Se sua variável de resposta for discreta (por exemplo, binária), você poderá acomodar isso dentro dessa estrutura ajustando um GAM logístico (em R, você adicionaria family=binomialà sua chamada para gam). Além disso, se você tiver vários preditores, poderá incluir vários termos aditivos (ou termos lineares comuns) ou ajustar funções multivariáveis, por exemplo, se você tiver preditores . A complexidade do relacionamento é selecionada automaticamente pela validação cruzada se você usar os métodos padrão, embora exista muita flexibilidade aqui - consulte o arquivo de ajuda, se estiver interessado.f(x,z)x, zgam


11
Prefiro essa abordagem às duas correlações de classificação separadas de ambos os lados de porque examina a relação como um todo. Também é melhor que o modelo paramétrico, então aceitei isso. x=a
user1447630

@ user1447630 Este é um modelo para o relacionamento. A regressão linear polinomial ou regressão não linear, bem como modelos aditivos, são formas de caracterizar um relacionamento funcional. Eu poderia ter mencionado qualquer um desses. Mas você pediu uma medida de associação, então eu lhe dei outras formas possíveis de correlação. Tão boa quanto a resposta de Macro, ela se encaixa em um relacionamento funcional, mas não fornece uma medida de associação.
Michael R. Chernick

11
@ Michael, eu não sei qual pergunta você estava lendo, mas o OP perguntou como testar uma associação, não uma medida de associação. Em qualquer caso, por mais agradável que seja a sua resposta (e ignorando o fato de que exige um conhecimento a priori bastante forte de onde o ponto de mudança ocorre), acho que é excessivamente adaptado ao enredo específico nesta pergunta, em vez do geral problema de "associação não linear".
Macro

3
@ Michael, sua interpretação ( "a questão era sobre como generalizar o conceito de correlação .." ) e o "argumento" estatístico que você dá (btw, "teste de siginância dos coeficientes e do modelo" em um modelo linear o mesmo que testar uma correlação) não faz nenhum sentido, dados os fatos, por isso não vou abordá-los. Mas, "depois que você deu o seu, o meu não foi aceito e o seu foi aceito ... eu apenas senti que não estava certo" está fazendo campanha pela sua resposta, que reflete apenas uma fixação nos pontos de repetição, nada útil para a comunidade.
Macro

5
@Macro e Michael me ajustamento de um modelo da relação entre e de uma forma semi / não-paramétrico é uma maneira de testar a associação entre os dois. Esse teste pode ser estendido medindo a extensão da associação com as diferentes maneiras que você sugeriu. Acho que as respostas e o acompanhamento aqui foram muito úteis para mim, sem o ad hominem . No entanto, como minha pergunta incluiu como poderíamos "rotular sua natureza", o que poderia ser interpretado como ajuste de modelo, vou manter a resposta de Macro. yxy
User1447630

14

Se a relação não linear tivesse sido a correlação monotônica (rho de Spearman), seria apropriado. No seu exemplo, há uma pequena região clara em que a curva muda de monotoncalmente aumentada para montonicamente decrescente, como uma parábola faria no ponto em que a primeira derivada é igual a .0

Eu acho que se você tem algum conhecimento de modelagem (além das informações empíricas) em que esse ponto de mudança ocorre (digamos em ), pode caracterizar a correlação como positiva e usar o rho de Spearman no conjunto de pares que para fornecer uma estimativa dessa correlação e use outra estimativa da correlação de Spearman para onde a correlação é negativa. Essas duas estimativas caracterizam a estrutura de correlação entre e e, diferentemente de uma estimativa de correlação que seria próxima de quando estimada usando todos os dados, essas estimativas serão grandes e terão sinal oposto.( x , y ) x < um x > um x y 0x=a(x,y)x<ax>axy0

Alguns podem argumentar que apenas as informações empíricas ( isto é, os pares observados são suficientes para justificar isso.(x,y)


y=ax2+bx+ca

11
Para isso, você ajusta o modelo quadrático usando a regressão linear digamos OLS e faz um teste estatístico padrão de que o coeficiente a é maior que 0 (digamos, um teste t unicaudal).
Michael R. Chernick

11
xxx2t

212


0

Alguém me corrija se meu entendimento estiver errado aqui, mas uma maneira de lidar com variáveis ​​não lineares é usar uma aproximação linear. Portanto, por exemplo, o registro da distribuição exponencial deve tratar a variável como distribuição normal. Em seguida, ele pode ser usado para resolver o problema como qualquer regressão linear.


8
Eu não acho que isso realmente responda à pergunta. Obter logs não é o mesmo que fazer uma aproximação linear. Além disso, mesmo que você faça logs, a distribuição para a qual o log da variável original é uma variável normalmente distribuída não é a distribuição exponencial, mas a distribuição normal do log . Entretanto, nem a variável independente nem a variável dependente precisam ser normalmente distribuídas para que a regressão linear seja apropriada - a questão aqui é a relação entre as variáveis, não suas distribuições marginais.
Silverfish

0

Eu costumava implementar o modelo aditivo geral para detectar a relação não linear entre duas variáveis, mas recentemente descobri a correlação não linear implementada via nlcorpacote em R, você pode implementar esse método da mesma maneira que a correlação de Pearson , o coeficiente de correlação está entre 0 e 1 e não -1 e 1, como na correlação de Pearson. Um coeficiente de correlação mais alto implica a existência de uma forte relação não linear. Vamos assumir duas séries temporais x2e y2, a correlação não linear entre as duas séries é testada da seguinte forma

install.packages("devtools") 
library(devtools)
install_github("ProcessMiner/nlcor")
library(nlcor)
c <- nlcor(x2, y2, plt = T)
c$cor.estimate
[1] 0.897205

As duas variáveis ​​parecem estar fortemente correlacionadas via relacionamento não linear; também é possível obter o valor p ajustado para o coeficiente de correlação

c$adjusted.p.value
[1] 0

Você também pode plotar os resultados

print(c$cor.plot)

Você pode ver este link para obter mais detalhes

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.