Donc, si tel est le cas, l'indépendance statistique signifie-t-elle automatiquement l'absence de lien de causalité?
Non, et voici un exemple simple de compteur avec une normale multivariée,
set.seed(100)
n <- 1e6
a <- 0.2
b <- 0.1
c <- 0.5
z <- rnorm(n)
x <- a*z + sqrt(1-a^2)*rnorm(n)
y <- b*x - c*z + sqrt(1- b^2 - c^2 +2*a*b*c)*rnorm(n)
cor(x, y)
Avec le graphique correspondant,
Nous avons ici que et sont marginalement indépendants (dans le cas normal multivarié, la corrélation nulle implique l'indépendance). Cela se produit parce que le chemin de la porte dérobée via annule exactement le chemin direct de à , c’est-à-dire . Donc . Pourtant, cause directement , et nous avons que , qui est différent de .y z x y c o v ( x , y ) = b - a ∗ c = 0,1 - 0,1 = 0 E [ Y | X = x ] = E [ Y ] = 0 x y E [ Y | d o ( X = x ) ] = b x E [ Y ]XyzXyc o v ( x , y) = b - a ∗ c = 0,1 - 0,1 = 0E[ Y| X= x ] = E[ Y] = 0XyE[ Y| réo ( X= x ) ] = b xE[ Y] = 0
Associations, interventions et contrefactuels
Je pense qu'il est important d'apporter quelques précisions ici concernant les associations, les interventions et les scénarios contrefactuels.
Les modèles causaux impliquent des déclarations sur le comportement du système: (i) sous des observations passives, (ii) sous des interventions, ainsi que (iii) des scénarios contrefactuels. Et l'indépendance à un niveau ne se traduit pas nécessairement à l'autre.
Comme le montre l'exemple ci-dessus, nous ne pouvons avoir aucune association entre et Y , c'est-à-dire que P ( Y | X ) = P ( Y ) , et que les manipulations sur X changent la distribution de Y , c'est-à-dire que P ( Y | d o ( x ) ) ≠ P ( Y ) .XYP( Y| X) = P( Y)XYP( Y| réo ( x ) ) ≠ P( Y)
Nous pouvons maintenant aller plus loin. Nous pouvons avoir des modèles de causalité dans lesquels intervenir sur ne modifie pas la distribution de la population de Y , mais cela ne signifie pas l'absence de causalité contrefactuelle! C'est, même si P ( Y | d o ( x ) ) = P ( Y ) , pour chaque individu leur résultat Y aurait été différent si vous changé X . C'est précisément le cas décrit par user20160, ainsi que dans ma réponse précédente ici.XYP( Y| réo ( x ) ) = P( Y)YX
Ces trois niveaux constituent une hiérarchie des tâches d’inférence causale , en termes d’informations nécessaires pour répondre aux requêtes sur chacun d’eux.