si la covariance est -150, quel est le type de relation entre deux variables?

8

La covariance de deux variables a été calculée à -150. que disent les statistiques sur la relation entre deux variables?

Sameera
la source
9
Les covariances ne sont pas libres d'unité, de sorte que la valeur numérique brute ne transmet pas de signification à elle seule. Mis à part le fait qu'il est inférieur à 0, il n'y a pas grand-chose à dire.
Glen_b -Reinstate Monica
9
Ma variable a une moyenne de . Est-ce grand ou petit? 317
whuber

Réponses:

34

Pour ajouter à la réponse de Łukasz Deryło : comme il l'écrit, une covariance de -150 implique une relation négative. Qu'il s'agisse d'une relation forte ou faible, cela dépend des variances des variables. Ci-dessous, je trace des exemples pour une relation forte (chaque variable distincte a une variance de 200, donc la covariance est grande, en termes absolus, par rapport à la variance), et pour une relation faible (chaque variance est 2000, donc la covariance est petite , en termes absolus, par rapport à la variance).

Relation forte, variance <- 200:

relation solide

Relation faible, variance <- 2000:

entrez la description de l'image ici

Code R:

library(MASS)

nn <- 100
epsilon <- 0.1
variance <- 2000 # weak relationship

opar <- par(mfrow=c(2,2))
    for ( ii in 1:4 ) {
        while ( TRUE ) {
            dataset <- mvrnorm(n=100,mu=c(0,0),Sigma=rbind(c(2000,-150),c(-150,2000)))
            if ( abs(cov(dataset)[1,2]-(-150)) < epsilon ) break
        }   
        plot(dataset,pch=19,xlab="",ylab="",main=paste("Covariance:",cov(dataset)[1,2]))
    }
par(opar)

EDIT: Quatuor d'Anscombe

Comme le note Whuber, la covariance en elle-même ne nous dit pas grand-chose sur un ensemble de données. Pour illustrer, je vais prendre le quatuor d'Anscombe et le modifier légèrement. Notez comment des diagrammes de dispersion très différents peuvent tous avoir la même covariance (arrondie) de -150:

Anscombe

anscombe.mod <- anscombe
anscombe.mod[,c("x1","x2","x3","x4")] <- sqrt(150/5.5)*anscombe[,c("x1","x2","x3","x4")]
anscombe.mod[,c("y1","y2","y3","y4")] <- -sqrt(150/5.5)*anscombe[,c("y1","y2","y3","y4")]
opar <- par(mfrow=c(2,2))
    with(anscombe.mod,plot(x1,y1,pch=19,main=paste("Covariance:",round(cov(x1,y1),0))))
    with(anscombe.mod,plot(x2,y2,pch=19,main=paste("Covariance:",round(cov(x2,y2),0))))
    with(anscombe.mod,plot(x3,y3,pch=19,main=paste("Covariance:",round(cov(x3,y3),0))))
    with(anscombe.mod,plot(x4,y4,pch=19,main=paste("Covariance:",round(cov(x4,y4),0))))
par(opar)

MODIFICATION FINALE (je le promets!)

Enfin, voici une covariance de -150 avec peut-être la "relation négative" la plus ténue entre et imaginable:xy

final

xx <- yy <- seq(0,100,by=10)
yy[9] <- -336.7
plot(xx,yy,pch=19,main=paste("Covariance:",cov(xx,yy)))
Stephan Kolassa
la source
C'est agréable de voir les parcelles. Deux suggestions: (1) montrent un plus large éventail de comportements possibles. Étant donné que la covariance ne nous dit absolument rien sur la relation globale, vous pouvez illustrer cela en ajoutant une valeur aberrante influente pour illustrer comment la relation peut être fortement et systématiquement positive , mais la covariance peut être négative. (2) Soyez plus efficace: après avoir généré des données d'échantillon, redimensionnez-les simplement pour obtenir la covariance souhaitée. Cela évite la génération répétée de données jusqu'à ce qu'un seuil soit atteint; il assure une valeur exacte ; et cela montre le peu de sens que "-150" détient.
whuber
@whuber: Je vais être honnête - j'étais trop stupide pour comprendre comment changer un ensemble de données donné pour obtenir une covariance donnée. La recherche sur CV et la recherche de CV n'ont pas aidé, alors j'ai finalement opté pour l'échantillonnage de rejet par force brute. Je suis un peu frustré par moi-même; tout indice serait apprécié.
Stephan Kolassa
Juste quelque chose à ajouter, avez-vous vu Datasaurus Dozen? Est une version encore plus exagérée du quatuor d'Anscombe publié plus tôt cette année. Vous pouvez trouver la publication originale en ligne ici
Guilherme Marthe
1
Pour ma part, je pense à vous comme l'opposé de "stupide" et je serais heureux d'indiquer une méthode. Vous pouvez mettre à l'échelle ou ou les deux . Pour ce faire symétriquement, générez des données . Que leur covariance calculée soit . Définissez l '"échelle" à et le "signe" à lorsque , sinon. Les données (qui préservent l'ordre des et peut-être inversent les ) ont une covariance carxyx,yvs=|150/v|u1150/v<01(sx,usy)xy150
Cov(sx,usy)=s(us)Cov(x,y)=us2v=±u(150v)v=150.
(+1 pour les retouches, btw.)
whuber
@Guilherme Dans une réponse sur stats.stackexchange.com/a/152034/919, je suis allé au-delà de tout cela en fournissant un logiciel qui produira de tels exemples à volonté simplement en spécifiant les propriétés que vous voulez qu'ils aient. Comme exemple, j'ai utilisé le code pour reproduire le Quatuor d'Anscombe.
whuber
7

Il vous indique seulement que cette relation est négative. Cela signifie que des valeurs faibles d'une variable ont tendance à se produire avec des valeurs élevées de l'autre.

Il est difficile de dire si cette covariance est grande ou petite (si votre relation est forte ou faible) car varie de à . Cela dépend donc de l'échelle de vos variables.cov(X,Y)sd(X)sd(Y)sd(X)sd(Y)

Pour juger si cette relation est forte ou non, vous devez convertir la covariance en corrélation (divisez-la par ). Cela varie de à et de nombreuses lignes directrices différentes pour l'interprétation peuvent être trouvées dans le Web et les manuels.sd(X)sd(Y)11

Vous pouvez également exécuter un test de signification de la corrélation.

Łukasz Deryło
la source
2
Cette interprétation, bien que courante, confond les moyens avec les tendances générales. La covariance pourrait facilement être négative même lorsque la grande majorité des données suivent une relation positive.
whuber