L'utilisation de déciles pour trouver la corrélation est-elle une approche statistiquement valable?


10

J'ai un échantillon de 1 449 points de données qui ne sont pas corrélés (r au carré 0,006).

En analysant les données, j'ai découvert qu'en divisant les valeurs des variables indépendantes en groupes positifs et négatifs, il semble y avoir une différence significative dans la moyenne des variables dépendantes pour chaque groupe.

En divisant les points en 10 cases (déciles) en utilisant les valeurs des variables indépendantes, il semble y avoir une corrélation plus forte entre le nombre de déciles et les valeurs variables dépendantes moyennes (r au carré 0,27).

Je ne connais pas grand chose aux statistiques alors voici quelques questions:

  1. Est-ce une approche statistique valable?
  2. Existe-t-il une méthode pour trouver le meilleur nombre de bacs?
  3. Quel est le terme approprié pour cette approche afin que je puisse la rechercher sur Google?
  4. Quelles sont les ressources d'introduction pour en savoir plus sur cette approche?
  5. Quelles autres approches puis-je utiliser pour trouver des relations dans ces données?

Voici les données de décile pour référence: https://gist.github.com/georgeu2000/81a907dc5e3b7952bc90

EDIT: Voici une image des données: Le momentum de l'industrie est la variable indépendante, la qualité du point d'entrée dépend

Le momentum de l'industrie est la variable indépendante, la qualité du point d'entrée dépend


J'espère que ma réponse (en particulier les réponses 2-4) est comprise dans le sens où elle était destinée.
Glen_b -Reinstate Monica

Si votre but est d'explorer une forme de relation entre l'indépendant et le dépendant, c'est une fine technique d'exploration. Il peut offenser les statisticiens, mais il est utilisé en permanence dans l'industrie (par exemple, le risque de crédit). Si vous construisez un modèle prédictif, l'ingénierie des fonctionnalités est à nouveau correcte - si elle est effectuée sur un ensemble de formation correctement validé.
B_Miner

Pouvez-vous fournir des ressources sur la façon de vous assurer que le résultat est «correctement validé»?
B Seven

«non corrélé (r au carré 0,006)» signifie qu'ils ne sont pas corrélés linéairement . Il existe peut-être une autre corrélation. Avez-vous tracé les données brutes (dépendantes ou indépendantes)?
Emil Friedman

J'ai tracé les données, mais je n'ai pas pensé à les ajouter à la question. Quelle bonne idée! Veuillez voir la question mise à jour.
B Seven

Réponses:


9

0. La corrélation (0,0775) est petite mais (statistiquement) significativement différente de 0. Autrement dit, il semble qu'il y ait vraiment une corrélation, elle est juste très faible / faible (de manière équivalente, il y a beaucoup de bruit autour de la relation).

1. Ce que la moyenne dans les cases fait est de réduire la variation des données (le effet pour l'erreur standard d'une moyenne), ce qui signifie que vous gonflez artificiellement la faible corrélation. Voir égalementce problème (quelque peu) connexe.σ/n

xexactement le résultat que vous espériez .

3. Oui. Commencez éventuellement par cette recherche , puis essayez peut-être des synonymes.

4. C'est un bon point de départ; c'est un livre très populaire destiné aux non-statisticiens.

5. (plus sérieusement :) Je suggère le lissage (par exemple via la régression polynomiale locale / le lissage du noyau, par exemple) comme un moyen d'étudier les relations. Cela dépend de ce que vous voulez, exactement, mais cela peut être une approche valable lorsque vous ne connaissez pas la forme d'une relation, tant que vous évitez le problème du dragage de données.


Il y a une citation populaire, dont l'auteur semble être Ronald Coase :

"Si vous torturez suffisamment les données, la nature vous avouera toujours."


Les points 1 et 2 expliquent bien pourquoi l'approche du PO n'est pas une approche statistique valide, bien que ce soit une heuristique utile pour convaincre en ce qui concerne le point 0 (faible corrélation).
Assad Ebrahim

9

Vous pourriez peut-être bénéficier d'un outil exploratoire. La division des données en déciles de la coordonnée x semble avoir été effectuée dans cet esprit. Avec les modifications décrites ci-dessous, c'est une approche parfaitement fine.

De nombreuses méthodes exploratoires bivariées ont été inventées. Un simple proposé par John Tukey ( EDA , Addison-Wesley 1977) est son «intrigue schématique errante». Vous divisez la coordonnée x en compartiments, érigez un diagramme à boîtes vertical des données y correspondantes à la médiane de chaque bac, et connectez les parties clés des diagrammes à boîtes (médianes, charnières, etc.) dans des courbes (éventuellement en les lissant). Ces «traces errantes» fournissent une image de la distribution bivariée des données et permettent une évaluation visuelle immédiate de la corrélation, de la linéarité des relations, des valeurs aberrantes et des distributions marginales, ainsi qu'une estimation robuste et une évaluation de la qualité de l'ajustement de toute fonction de régression non linéaire .

2k12kk=1,2,3,

Pour afficher les différentes populations de cases, nous pouvons rendre la largeur de chaque boxplot proportionnelle à la quantité de données qu'il représente.

L'intrigue schématique errante résultante ressemblerait à ceci. Les données, développées à partir du résumé des données, sont représentées par des points gris en arrière-plan. Au-dessus de cela, l'intrigue schématique errante a été dessinée, avec les cinq traces en couleur et les boîtes à moustaches (y compris les valeurs aberrantes illustrées) en noir et blanc.

Figure

x=4x=40.074pour ces données) est proche de zéro. Cependant, insister pour interpréter cela comme "presque aucune corrélation" ou "corrélation significative mais faible" serait la même erreur usurpée dans la vieille blague sur le statisticien qui était content de sa tête dans le four et des pieds dans la glacière parce qu'en moyenne le la température était confortable. Parfois, un seul numéro ne suffit pas pour décrire la situation.

Des outils exploratoires alternatifs ayant des objectifs similaires comprennent des lissages robustes des quantiles fenêtrés des données et des ajustements de régressions quantiles utilisant une gamme de quantiles. Avec la disponibilité immédiate de logiciels pour effectuer ces calculs, ils sont peut-être devenus plus faciles à exécuter qu'une trace schématique errante, mais ils ne bénéficient pas de la même simplicité de construction, de facilité d'interprétation et d'une large applicabilité.


Le Rcode suivant a produit la figure et peut être appliqué aux données d'origine avec peu ou pas de changement. (Ignorez les avertissements produits par bplt(appelé par bxp): il se plaint quand il n'a pas de valeurs aberrantes à tirer.)

#
# Data
#
set.seed(17)
n <- 1449
x <- sort(rnorm(n, 0, 4))
s <- spline(quantile(x, seq(0,1,1/10)), c(0,.03,-.6,.5,-.1,.6,1.2,.7,1.4,.1,.6),
            xout=x, method="natural")
#plot(s, type="l")
e <- rnorm(length(x), sd=1)
y <- s$y + e # ($ interferes with MathJax processing on SE)
#
# Calculations
#
q <- 2^(-(2:floor(log(n/10, 2))))
q <- c(rev(q), 1/2, 1-q)
n.bins <- length(q)+1
bins <- cut(x, quantile(x, probs = c(0,q,1)))
x.binmed <- by(x, bins, median)
x.bincount <- by(x, bins, length)
x.bincount.max <- max(x.bincount)
x.delta <- diff(range(x))
cor(x,y)
#
# Plot
#
par(mfrow=c(1,1))
b <- boxplot(y ~ bins, varwidth=TRUE, plot=FALSE)
plot(x,y, pch=19, col="#00000010", 
     main="Wandering schematic plot", xlab="X", ylab="Y")
for (i in 1:n.bins) {
  invisible(bxp(list(stats=b$stats[,i, drop=FALSE],
                     n=b$n[i],
                     conf=b$conf[,i, drop=FALSE],
                     out=b$out[b$group==i],
                     group=1,
                     names=b$names[i]), add=TRUE, 
                boxwex=2*x.delta*x.bincount[i]/x.bincount.max/n.bins, 
                at=x.binmed[i]))
}

colors <- hsv(seq(2/6, 1, 1/6), 3/4, 5/6)
temp <- sapply(1:5, function(i) lines(spline(x.binmed, b$stats[i,], 
                                             method="natural"), col=colors[i], lwd=2))

@EngrStudent Veuillez lire le texte de cet article avant d'exécuter le code. Cet avertissement est mentionné et expliqué.
whuber

Je ne sais pas d'où vient ce vecteur c(0,.03,-.6,.5,-.1,.6,1.2,.7,1.4,.1,.6), est-il généré et dépend-il des données ( x)? Vous mentionnez le 2^*(-k)mais ce n'est pas lié.
Maximilian

@Max Ce vecteur génère cet exemple particulier.
whuber

ok, mais comment avez-vous procédé les chiffres? C'est clairement faux:k <- 1:11; ifelse(quantile(g, seq(0,1,1/10))>0, 2^(-k), 1-2^(-k))
Maximilian

@Max Je ne peux pas comprendre ce que vous pourriez dire par "clairement faux". Vous ne pouvez pas faire référence à mon code: pour vérifier, je l'ai relu et il a reproduit la figure dans les moindres détails.
whuber

6

Je ne pense pas que le binning soit une approche scientifique du problème. C'est une perte d'informations et arbitraire. Les méthodes de classement (ordinales; semi-paramétriques) sont bien meilleures et ne perdent pas d'informations. Même si l'on devait se contenter du décile binning, la méthode est encore arbitraire et non reproductible par d'autres, simplement en raison du grand nombre de définitions utilisées pour les quantiles dans le cas de liens dans les données. Et comme mentionné dans le commentaire sur la torture des données ci-dessus, Howard Wainer a un beau document montrant comment trouver des bacs qui peuvent produire une association positive, et trouver des bacs qui peuvent produire une association négative, à partir du même ensemble de données:

 @Article{wai06fin,
   author =          {Wainer, Howard},
   title =       {Finding what is not there through the unfortunate
    binning of results: {The} {Mendel} effect},
   journal =     {Chance},
   year =        2006,
   volume =      19,
   number =      1,
   pages =       {49-56},
   annote =      {can find bins that yield either positive or negative
    association;especially pertinent when effects are small;``With four
    parameters, I can fit an elephant; with five, I can make it wiggle its
    trunk.'' - John von Neumann}
 }

C'est ce que je soupçonnais. Si vous choisissez différents nombres de bacs, vous pouvez trouver la meilleure corrélation pour montrer ce que vous cherchez. Mais les résultats ne seraient pas reproductibles ou scientifiquement valables. Connaissez-vous des ressources d'introduction sur le classement?
B Seven

3
Cela semble être une position trop extrême à adopter. Bien sûr, les méthodes basées sur le classement perdent également des informations: elles rejettent toutes les informations sur les valeurs réelles. Donc, la question de savoir si la perte d'informations est une préoccupation revient à savoir pourquoi l'analyse est effectuée? S'il s'agit de découverte et d'exploration, diverses formes guidées de regroupement peuvent faire du bon travail, alors que tout remplacer par des rangs obscurcirait et fausserait probablement les relations. S'il s'agit de tests de confirmation ou d'hypothèse, vos remarques seraient plus généralement applicables et défendables.
whuber

2
π3πY|X

2

Le fractionnement des données en déciles sur la base du X observé («qualité du point d'entrée») semble être une généralisation d'une ancienne méthode d'abord proposée par Wald puis par d'autres pour des situations dans lesquelles X et Y sont sujets à l'erreur. (Wald a divisé les données en deux groupes. Nair et Shrivastava et Bartlett les ont divisées en trois.) Il est décrit dans la section 5C de Comprendre l'analyse robuste et exploratoire des données , éditée par Hoaglin, Mosteller et Tukey (Wiley, 1983). Cependant, beaucoup de travail sur de telles "Erreur de mesure" ou "Erreur dans les modèles de variables" a été fait depuis lors. Les manuels que j'ai consultés sont : Erreur de mesure: modèles, méthodes et applications par John Buonaccorsi (CRC Press,

Votre situation peut être quelque peu différente car votre nuage de points m'amène à soupçonner que les deux observations sont des variables aléatoires et je ne sais pas si elles contiennent chacune une erreur de mesure. Que représentent les variables?


La qualité du point d'entrée correspond à la hausse ou à la baisse d'un stock à court terme à un moment donné. Le momentum de l'industrie est une mesure de «l'élan» dans l'industrie pour le stock au même moment. L'hypothèse est qu'il existe une corrélation entre la dynamique de l'industrie et le prix futur du stock.
B Seven

1
Nous plaçons généralement la réponse sur l'axe vertical. L'inspection visuelle suggère que même s'il existe une réelle corrélation, la variation de la qualité du point d'entrée la rend assez inutile. Mais puisque vous traitez avec les cours des actions, les choses deviennent encore plus complexes car les séries chronologiques sont impliquées.
Emil Friedman

2

J'ai trouvé le paquet localgauss très utile pour cela. https://cran.r-project.org/web/packages/localgauss/index.html

Le paquet contient

Routines de calcul pour estimer et visualiser les paramètres gaussiens locaux. Les paramètres gaussiens locaux sont utiles pour caractériser et tester la dépendance non linéaire dans les données bivariées.

Exemple:

library(localgauss)
x=rnorm(n=1000)
y=x^2 + rnorm(n=1000)
lgobj = localgauss(x,y)
plot(lgobj)

Résultat:

entrez la description de l'image ici

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.