L' inégalité du triangle sur votre donnerait:
ré1
ré1( X, Z)1 - | C o r ( X, Z) |⟹| C o r (X, Y) | + | C o r ( Y, Z) |≤ d1( X, Y) + d1( Y, Z)≤ 1 - | C o r ( X, Y) | + 1 - | C o r ( Y, Z) |≤ 1 + | C o r ( X, Z) |
Cela semble être une inégalité assez facile à vaincre. Nous pouvons rendre le côté droit aussi petit que possible (exactement un) en rendant et Z indépendants. Peut-on alors trouver un Y pour lequel le côté gauche dépasse un?XZOui
Si et X et Z ont une variance identique, alors C o r ( X , Y ) = √Oui= X+ ZXZet de même pourCor(Y,Z), donc le côté gauche est bien au-dessus de un et l'inégalité est violée. Exemple de cette violation dans R, oùXetZsont des composants d'une normale multivariée:C o r (X, Y) = 2√2≈ 0,707C o r (Y, Z)XZ
library(MASS)
set.seed(123)
d1 <- function(a,b) {1 - abs(cor(a,b))}
Sigma <- matrix(c(1,0,0,1), nrow=2) # covariance matrix of X and Z
matrixXZ <- mvrnorm(n=1e3, mu=c(0,0), Sigma=Sigma, empirical=TRUE)
X <- matrixXZ[,1] # mean 0, variance 1
Z <- matrixXZ[,2] # mean 0, variance 1
cor(X,Z) # nearly zero
Y <- X + Z
d1(X,Y)
# 0.2928932
d1(Y,Z)
# 0.2928932
d1(X,Z)
# 1
d1(X,Z) <= d1(X,Y) + d1(Y,Z)
# FALSE
Notez cependant que cette construction ne fonctionne pas avec votre :ré2
d2 <- function(a,b) {1 - cor(a,b)^2}
d2(X,Y)
# 0.5
d2(Y,Z)
# 0.5
d2(X,Z)
# 1
d2(X,Z) <= d2(X,Y) + d2(Y,Z)
# TRUE
Plutôt que de lancer une attaque théorique sur , à ce stade, j'ai simplement trouvé plus facile de jouer avec la matrice de covariance dans R jusqu'à ce qu'un joli contre-exemple apparaisse. Si V a r ( X ) = 2 , V a r ( Z ) = 1 et C o v ( X , Z ) = 1 donne:ré2Sigma
V a r (X) = 2V a r (Z) = 1C o v (X, Z) = 1
V a r (Y) = V a r ( X+ Y) = V a r ( X) + V a r ( Z) + 2 C o v ( X, Z) = 2 + 1 + 2 = 5
Nous pouvons également étudier les covariances:
C o v ( Y , Z ) = C o v ( X + Z , Z
C o v (X, Y) = C o v ( X, X+ Z) = C o v ( X, X) + C o v ( X, Z) = 2 + 1 = 3
C o v (Y, Z) = C o v ( X+ Z, Z) = C o v ( X, Z) + C o v ( Z, Z) = 1 + 1 = 2
Les corrélations au carré sont alors:
Cor(X,Y)2=Cov(X,Y)2
C o r (X, Z)2= C o v ( X, Z)2V a r (X) V a r ( Z)= 122 × 1= 0,5
Cor(Y,Z)2=Cov(Y,Z)2C o r (X, Y)2= C o v ( X, Y)2V a r (X) V a r ( Y)= 322 × 5= 0,9
C o r (Y, Z)2= C o v ( Y, Z)2V a r (Y) V a r ( Z)= 225 × 1= 0,8
Alors tandis que d 2 ( X , Y ) = 0,1 et d 2 ( Y , Z ) = 0,2 de sorte que l'inégalité du triangle est violée par une marge substantielle.ré2( X, Z) = 0,5ré2( X, Y) = 0,1ré2(Y,Z) = 0,2
Sigma <- matrix(c(2,1,1,1), nrow=2) # covariance matrix of X and Z
matrixXZ <- mvrnorm(n=1e3, mu=c(0,0), Sigma=Sigma, empirical=TRUE)
X <- matrixXZ[,1] # mean 0, variance 2
Z <- matrixXZ[,2] # mean 0, variance 1
cor(X,Z) # 0.707
Y <- X + Z
d2 <- function(a,b) {1 - cor(a,b)^2}
d2(X,Y)
# 0.1
d2(Y,Z)
# 0.2
d2(X,Z)
# 0.5
d2(X,Z) <= d2(X,Y) + d2(Y,Z)
# FALSE