... la relation est non linéaire mais il existe une relation claire entre x et y, comment puis-je tester l'association et nommer sa nature?
Une façon de le faire serait d'adapter tant que fonction semi-paramétrée de utilisant, par exemple, un modèle additif généralisé et en vérifiant si cette estimation fonctionnelle est constante ou non, ce qui n'indiquerait aucune relation entre et . Cette approche vous évite d'avoir à effectuer une régression polynomiale et à prendre des décisions parfois arbitraires sur l'ordre du polynôme, etc.xyXxyX
Plus précisément, si vous avez des observations , vous pouvez adapter le modèle:( Yje, Xje)
E( Yje| Xje) = α + f( Xje) + εje
et testez l’hypothèse . Dans , vous pouvez le faire en utilisant la fonction. Si est votre résultat et votre prédicteur, vous pouvez taper:H0: f( X ) = 0 , ∀ x R
gam()
y
x
library(mgcv)
g <- gam(y ~ s(x))
En tapant summary(g)
, vous obtiendrez le résultat du test d'hypothèse ci-dessus. En ce qui concerne la nature de la relation, le mieux serait de le faire avec un complot. Une façon de faire cela R
(en supposant que le code ci-dessus ait déjà été entré)
plot(g,scheme=2)
Si votre variable de réponse est discrète (par exemple, binaire), vous pouvez intégrer cela dans ce cadre en adaptant un GAM logistique (dans R
, vous ajouteriez family=binomial
à votre appel à gam
). De même, si vous avez plusieurs prédicteurs, vous pouvez inclure plusieurs termes additifs (ou des termes linéaires ordinaires), ou adapter des fonctions à plusieurs variables, par exemple, si vous disposiez de prédicteurs . La complexité de la relation est automatiquement sélectionnée par validation croisée si vous utilisez les méthodes par défaut, bien qu'il y ait beaucoup de flexibilité ici - voir le fichier d'aide si cela vous intéresse.F( x , z)x, z
gam
Si la relation non linéaire avait été monotone, une corrélation de rangs (rho de Spearman) serait appropriée. Dans votre exemple, il existe une petite région claire dans laquelle la courbe change de plus en plus croissante à de plus en plus lente comme le ferait une parabole au point où la première dérivée est égale à .0
Je pense que si vous avez des connaissances en modélisation (au-delà des informations empiriques) où ce point de changement se produit (par exemple à ), vous pouvez alors caractériser la corrélation comme positive et utiliser le rho de Spearman sur l'ensemble des paires où pour fournir une estimation de cette corrélation et utiliser une autre estimation de la corrélation de Spearman pour où la corrélation est négative. Ces deux estimations caractérisent ensuite la structure de corrélation entre et et contrairement à une estimation de corrélation qui serait proche de lorsqu’elle est estimée en utilisant toutes les données, ces estimations seront à la fois grandes et de signe opposé.( x , y ) x < a x > a x y 0x = a ( x , y) x < a x > a X y 0
Certains pourraient soutenir que seules les informations empiriques ( c'est-à - dire les paires observées sont suffisantes pour justifier cela.( x , y)
la source
Vous pouvez tester n’importe quel type de dépendance en utilisant des tests de corrélation de distance. Voir ici pour plus d'informations sur la corrélation de distance: Comprendre les calculs de corrélation de distance
Et voici l'article original: https://arxiv.org/pdf/0803.4101.pdf
En R, cela est implémenté dans le
energy
package avec ladcor.test
fonction.la source
Quelqu'un me corrige si je comprends mal, mais une façon de traiter les variables non linéaires consiste à utiliser une approximation linéaire. Ainsi, par exemple, prendre le journal de la distribution exponentielle devrait vous permettre de traiter la variable comme une distribution normale. Il peut ensuite être utilisé pour résoudre le problème, comme toute régression linéaire.
la source
J'avais l'habitude d'implémenter le modèle général additif pour détecter la relation non linéaire entre deux variables, mais j'ai récemment découvert la corrélation non linéaire implémentée via
nlcor
package dans R, vous pouvez implémenter cette méthode de la même manière que la corrélation de Pearson. , le coefficient de corrélation est compris entre 0 et 1 et non pas -1 et 1 comme dans la corrélation de Pearson. Un coefficient de corrélation plus élevé implique l'existence d'une relation non linéaire forte. Supposons deux séries chronologiquesx2
ety2
la corrélation non linéaire entre les deux séries chronologiques est testée comme suitLes deux variables semblent être fortement corrélées via une relation non linéaire, vous pouvez également obtenir la valeur p ajustée pour le coefficient de corrélation
Vous pouvez également tracer les résultats
Vous pouvez voir ce lien pour plus de détails
la source