相互作用項を含む回帰モデルの平均限界効果の標準誤差を近似するためのデルタ法をよりよく理解することに興味があります。デルタ方式で関連する質問を見ましたが、探しているものをまったく提供していません。
動機付けの例として、次のサンプルデータを検討してください。
set.seed(1)
x1 <- rnorm(100)
x2 <- rbinom(100,1,.5)
y <- x1 + x2 + x1*x2 + rnorm(100)
m <- lm(y ~ x1*x2)
との平均限界効果(AME)に興味がx1
ありx2
ます。これらを計算するには、単に次のことを行います。
cf <- summary(m)$coef
me_x1 <- cf['x1',1] + cf['x1:x2',1]*x2 # MEs of x1 given x2
me_x2 <- cf['x2',1] + cf['x1:x2',1]*x1 # MEs of x2 given x1
mean(me_x1) # AME of x1
mean(me_x2) # AME of x2
しかし、デルタメソッドを使用してこれらのAMEの標準誤差を計算するにはどうすればよいですか?
この特定の相互作用のSEは手動で計算できます。
v <- vcov(m)
sqrt(v['x1','x1'] + (mean(x2)^2)*v['x1:x2','x1:x2'] + 2*mean(x2)*v['x1','x1:x2'])
しかし、デルタ方式の使用方法がわかりません。
理想的には、任意の回帰モデルのAMEのデルタ法をどのように考える(およびコーディングする)かについてのガイダンスを探しています。たとえば、この質問は特定の相互作用効果のSEの公式を提供し、Matt Golderのこのドキュメントはさまざまなインタラクティブモデルの公式を提供しますが、AMEのSEを計算する一般的な手順をよりよく理解したいです特定のAMEのSE。