Dies ist eine Methode zum Schätzen des kausalen Effekts unter Verwendung einer Variablen, die als Operationsvariable bezeichnet wird, ohne die Verschränkung anzupassen, wenn versucht wird, den durchschnittlichen kausalen Effekt unter einer Struktur mit Verschränkung zu schätzen, die nicht angepasst oder beobachtet werden kann.
Es ist besonders nützlich für die Datenanalyse der Sozialwissenschaften, bei der viele nicht beobachtbare Verstrickungen berücksichtigt werden können.
Das folgende Diagramm heißt DAG (Directed Acyclic Graph) und zeigt den Kausalzusammenhang jeder Variablen. Ich werde erklären, warum der kausale Effekt von A nach Y unter Verwendung der Operationsvariablen unter Verwendung dieser DAG geschätzt werden kann.
Hier,
Es werden vier Variablen aufgerufen, die jeweils durch einen Pfeil verbunden sind. In der DAG ** Die Variable, die auf den Pfeil zeigt, wirkt sich auf die Variable auf der Stichseite aus ** Interpretieren als.
Angenommen, Sie möchten die Auswirkung von A (Maß) auf Y abschätzen. Die Variable U, die sowohl mit A als auch mit Y korreliert, macht es jedoch unmöglich, die Korrelation zwischen A und Y als Ursache und Wirkung zu interpretieren.
Dieses Mal, wenn U nicht beobachtet werden kann, werden wir die IV-Methode als Methode zur Schätzung dieses Kausalzusammenhangs einführen, ohne die Verschränkung anzupassen. (Vgl.: Fehlende variable Vorspannung)
Was sind hier wieder die Operationsvariablen? Ich möchte es erklären. Betriebsvariablen sind
Es ist eine Variable wie.
Wie jeder weiß, der DAG kennt, ist Z nur über A mit Y verbunden. Der Zustand von 1.2 oben wird durch diese DAG gut beschrieben.
In diesem Moment, In Anbetracht der Schätzung $ \ displaystyle \ frac {Cov (Z, Y)} {Cov (Z, A)} $ ist dies eine unvoreingenommene Schätzung des durchschnittlichen kausalen Effekts von A bis Y. [^ 1]
Warum ist dieser geschätzte Betrag (im Folgenden als IV-geschätzter Betrag bezeichnet) ein unvoreingenommener geschätzter Betrag? Hier möchte ich eine intuitive Erklärung unter Bezugnahme auf Yamaguchi (2019) [^ 2] geben.
Nehmen wir an, dass der kausale Effekt von Z nach A $ \ alpha $ und der kausale Effekt von A nach Y $ \ beta $ ist.
Zu diesem Zeitpunkt ist der Nenner von $ \ displaystyle \ frac {Cov (Z, Y)} {Cov (Z, A)} $ die geschätzte Menge von $ \ alpha $ und das Molekül die geschätzte Menge von $ \ alpha \ beta $. Ich werde. Daher können Sie durch Teilen des Moleküls durch den Nenner das $ \ beta $ schätzen, das Sie schätzen wollten.
Nun, hier ist eine Erklärung der Manipulationsvariablenmethode mit abgeschnittenen Details. [^ 3]
Im Folgenden werde ich die Schätzung der Operationsvariablen einführen, indem ich die obige DAG-ähnliche Situation tatsächlich simuliere.
Simulation using Python
import numpy as np
Sigma = np.eye(3)
#1 Zeile/Spalte ist A.,2 Zeilen/Die Zeile ist U.,3 Zeilen/Die Spalte entspricht Z.
Sigma[1, 0] = -0.7
Sigma[0, 1] = -0.7
Sigma[2, 0] = 0.4
Sigma[0, 2] = 0.4
#Erklärende Variable A.,Betriebsvariable Z.,Und die multivariate Normalverteilung der Verschränkungsvariablen U.$N(\mu, \Sigma)$Generieren aus
d = np.random.multivariate_normal([0.5, 1.5, 20.0], Sigma, size=10000)
>>> Sigma
array([[ 1. , -0.7, 0.4],
[-0.7, 1. , 0. ],
[ 0.4, 0. , 1. ]])
# error term
e = np.random.randn(len(d))
#Zerlegen Sie die d-Matrix, um jede Variable zu erstellen
A = d[:, 0]
u = d[:, 1]
Z = d[:, 2]
#Wahres Modell der Zielvariablen
# y = 2 A + 6U + \epsilon
y = A*2 + 6*u + e
#Bestätigung der Korrelation
print("Cov(A, u)=", np.corrcoef(A, u)[0, 1])
print("Cov(Z, u)=", np.corrcoef(Z, u)[0, 1])
print("Cov(A, Z)=", np.corrcoef(A, Z)[0,1 ])
Cov(A, u)= -0.701004490456518
Cov(Z, u)= 0.0043542162380179215
Cov(A, Z)= 0.39744458663706667
Man kann sagen, dass $ Cov (Z, U) $ fast 0 ist und die Beziehung jeder in $ \ Sigma $ gesetzten Variablen die Situation von DAG reproduziert!
Betrachten Sie nun einfach die Beziehung zwischen A und Y in einem Streudiagramm?
g=sns.scatterplot(x=A, y=y, )
g.set_ylabel("y");g.set_xlabel("A");
Es sieht so aus, als ob es eine negative Korrelation wie diese gibt! In der obigen Formel ist jedoch $ y = 2 A + 6U + \ epsilon $, und die kausale Wirkung von A auf Y ist 2. Dies liegt daran, dass U sowohl A als auch Y betrifft. tatsächlich,
g = sns.scatterplot(x=A, y=y-6*u, hue=u)
g.set_ylabel("outcome variable")
g.set_xlabel("Explainary variable")
Da es eine negative Korrelation zwischen A und U gibt, können wir sehen, dass U mit zunehmendem A abnimmt.
from statsmodels.regression.linear_model import OLS
lm = OLS(endog=y, exog=np.c_[A, u])
results = lm.fit()
results.params
# ordinary least squares
X = sm.add_constant(A)
>>> print("Wenn Sie einfach y mit X zurückgeben", OLS(X, y).fit().params[0])
>>> print("Wenn Sie die Verschränkungsfaktoren einbeziehen und eine multiple Regression durchführen,", results.params[0])
Wenn Sie einfach y mit A zurückgeben-2.1853899626462927
Wenn Sie die Verschränkungsfaktoren einbeziehen und eine multiple Regression durchführen, 2.022653523550131
Wenn der Verschränkungsfaktor U beobachtet werden kann, kann der durchschnittliche kausale Effekt geschätzt werden, indem in diesem wahren Modell mehrere Regressionen durchgeführt werden.
Ich möchte die folgende Funktion einführen, um $ \ displaystyle \ frac {Cov (Z, Y)} {Cov (Z, A)} $ zu berechnen und IV tatsächlich zu schätzen.
def IV(A, y, z):
denom = np.cov(A, z)[1, 0]
nomi = np.cov(z, y)[1, 0]
return nomi/denom
print("Kausale Wirkung bei Schätzung mit der Manipulationsvariablenmethode", IV(A, y, Z))
Kausale Wirkung bei Schätzung mit der Stellgrößenmethode 2.0858603407321765
Ich konnte den durchschnittlichen kausalen Effekt erfolgreich abschätzen, ohne von U beeinflusst zu werden!
Es wurde gefunden, dass der mittlere kausale Effekt von A auf Y unter Verwendung der IV-Methode geschätzt werden kann, selbst wenn die Verschränkungsvariable U nicht beobachtet werden kann.
Es gibt jedoch zwei Dinge zu beachten.
Wenn ich tatsächlich nur den Wert von $ Cov (A, Z) $ mit den obigen Einstellungen verschoben und überprüft habe, wie sich der geschätzte Betrag ändert, Wenn $ Cov (A, Z) $ zu klein ist, können Sie sehen, dass die Schätzung der IV-Methode weit vom wahren Wert entfernt ist. Das Obige ist eine kurze Einführung in die Manipulationsvariablenmethode und eine Erklärung unter Verwendung von Simulationsdaten.
Es ist eine Schätzmethode, die jedes Mal auftaucht, wenn Sie ein Lehrbuch über metrische Ökonomie lesen. Bitte studieren Sie es!
Außerdem hat @mns_econ die IV-Methode bei TokyoR eingeführt, daher werde ich sie auch vorstellen.
[^ 1]: Laut diesem Dokument handelt es sich nicht genau um eine ** unvoreingenommene ** Schätzung. Das war mein Unverständnis. Es ist nur eine Übereinstimmungsschätzung. $ \ frac {Cov (Z, Y)} {Cov (Z, A)} = \ frac {Cov (Z, 2A + 6U + \ epsilon)} {Cov (Z, A)} = 2 + \ frac {Cov Die Geschichte ist, dass der $ \ frac {Cov (Z, U)} {Cov (Z, A)} $ Teil von (Z, U)} {Cov (Z, A)} $ allmählich gegen 0 konvergiert. tat. Ich habe das Gefühl, dass ich ein wenig Unverständnis für Unparteilichkeit und Beständigkeit habe, deshalb werde ich es noch einmal überprüfen. [^ 2]: Die Grafik wurde aus dem RIETI-Diskussionspapier von Professor Yamaguchi referenziert. https://www.rieti.go.jp/jp/publications/dp/19j003.pdf [^ 3]: In der Praxis erfordern die obigen Schätzungen auch die Annahme, dass die kausalen Auswirkungen von A auf Y bei jedem Individuum homogen sind.