¿Cómo pruebo una asociación no lineal?

37

Para la gráfica 1, puedo probar la asociación entre xey haciendo una simple correlación. trama 1

Para la gráfica 2, donde la relación es no lineal pero hay una relación clara entre x e y, ¿cómo puedo probar la asociación y etiquetar su naturaleza? parcela 2

usuario1447630
fuente

Respuestas:

35

... la relación es no lineal pero hay una relación clara entre xey, ¿cómo puedo probar la asociación y etiquetar su naturaleza?

Una forma de hacerlo sería ajustar como una función semiparamétricamente estimada de x utilizando, por ejemplo, un modelo aditivo generalizado y probar si esa estimación funcional es constante o no, lo que indicaría que no hay relación entre y . Este enfoque le libera de tener que hacer una regresión polinómica y tomar decisiones a veces arbitrarias sobre el orden del polinomio, etc.yxyx

Específicamente, si tiene observaciones, , podría ajustar el modelo:(Yi,Xi)

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

y pruebe la hipótesis . En , puedes hacer esto usando la función. Si es su resultado y su predictor, puede escribir:H0:f(x)=0, xRgam()yx

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

Escribir summary(g)te dará el resultado de la prueba de hipótesis anterior. En cuanto a caracterizar la naturaleza de la relación, esto se haría mejor con una trama. Una forma de hacerlo R(suponiendo que el código anterior ya se haya ingresado)

plot(g,scheme=2)

Si su variable de respuesta es discreta (por ejemplo, binaria), puede acomodar eso dentro de este marco ajustando un GAM logístico (en R, agregaría family=binomiala su llamada gam). Además, si tiene múltiples predictores, puede incluir múltiples términos aditivos (o términos lineales ordinarios), o ajustar funciones multivariables, por ejemplo, si tuviera predictores . La complejidad de la relación se selecciona automáticamente mediante validación cruzada si utiliza los métodos predeterminados, aunque aquí hay mucha flexibilidad; consulte el archivo de ayuda si está interesado.f(x,z)x, zgam

Macro
fuente
1
X=una
@ user1447630 Este es un modelo para la relación. La regresión lineal polinómica o la regresión no lineal, así como los modelos aditivos, son formas de caracterizar una relación funcional. Podría haber mencionado cualquiera de esos. Pero pediste una medida de asociación, así que te di otras posibles formas de correlatioma. Por más agradable que sea la respuesta de Macro, se ajusta a una relación funcional, pero no proporciona una medida de asociación.
Michael R. Chernick
1
@Michael, no sé qué pregunta estabas leyendo, pero el OP preguntó cómo evaluar una asociación, no una medida de asociación. En cualquier caso, por agradable que sea su respuesta, (e ignorando el hecho de que requiere un conocimiento a priori bastante fuerte de dónde se produce el punto de cambio), creo que está demasiado adaptado a la trama específica en esta pregunta, en lugar de la general problema de "asociación no lineal".
Macro
3
@Michael, su interpretación ( "la pregunta era acerca de cómo generalizar el concepto de correlación .." ) y el "argumento" estadístico que usted da (por cierto, "prueba de la significación de los coeficientes y el modelo" en un modelo lineal, esto es lo mismo que probar una correlación) no tiene ningún sentido, dados los hechos, por lo que no voy a abordarlos. Pero, "... después de que le diste el tuyo, el mío no fue aceptado y el tuyo fue aceptado ... sentí que no era correcto" está haciendo campaña por tu respuesta, que solo refleja una fijación en los puntos de representación, no es nada útil para la comunidad.
Macro
55
xy
14

0

x=a(x,y)x<ax>axy0 cuando se estiman utilizando todos los datos, estas estimaciones serán grandes y de signo opuesto.

(x,y)

Michael R. Chernick
fuente
y=ax2+bx+ca
1
Para eso, usted ajusta el modelo cuadrático usando, por ejemplo, la regresión lineal de OLS y realiza una prueba estadística estándar de que el coeficiente a es mayor que 0 (digamos una prueba t de una cola).
Michael R. Chernick
1
xxx2t
212
0

Alguien me corrige si mi comprensión es incorrecta aquí, pero una forma de tratar con variables no lineales es usar una aproximación lineal. Entonces, por ejemplo, tomar un registro de distribución exponencial debería permitirle tratar la variable como distribución normal. Luego puede usarse para resolver el problema como cualquier regresión lineal.

Akshata T
fuente
8
No creo que esto realmente responda la pregunta. Tomar registros no es lo mismo que hacer una aproximación lineal. Además, incluso si toma registros, la distribución para la cual el registro de la variable original es una variable normalmente distribuida no es la distribución exponencial sino la distribución lognormal . Sin embargo, ni la variable independiente ni la variable dependiente deben distribuirse normalmente para que la regresión lineal sea apropiada: el problema aquí es la relación entre las variables, no sus distribuciones marginales.
Silverfish
0

Solía ​​implementar el modelo aditivo general para detectar la relación no lineal entre dos variables, pero recientemente descubrí la correlación no lineal implementada a través del nlcorpaquete en R, puede implementar este método de la misma manera que la correlación de Pearson , el coeficiente de correlación está entre 0 y 1 y no -1 y 1 como en la correlación de Pearson. Un coeficiente de correlación más alto implica la existencia de una fuerte relación no lineal. Supongamos dos series de tiempo x2y y2, la correlación no lineal entre las dos series de tiempo se prueba de la siguiente manera

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

Las dos variables parecen estar fuertemente correlacionadas a través de una relación no lineal, también puede obtener el valor p ajustado para el coeficiente de correlación

c$adjusted.p.value
[1] 0

También puedes trazar los resultados

print(c$cor.plot)

You can view this link for more details

Ameer
fuente