【发布时间】:2021-12-28 14:08:47
【问题描述】:
在this的文章中,作者描述了以下simulation study的Propensity Score Matching,
对于两个协变量中的每一个,我们随机且独立地从 Uniform(0,5) 中抽取 100 个控制单元,从 Uniform(2,6) 中抽取 100 个处理单元。这使得重叠的 [1, 5] x [1, 5] 正方形成为完全随机的实验,并且观察结果超出了增加的不平衡性。我们将结果生成为 $Y = 2T_i + X_{i1} + X_{i2} + \varepsilon$,其中 $ \varepsilon \sim N(0,1)$
但是,这里没有明确说明T 是如何定义的。 $X_{i,k} ~ \forall ~k$ 就论文而言,是一个长度为 100 的向量,而 T 也是一个(自然)向量。
我对此的第一个解释是,
# First Attempt
dgp <- function(n = 100)
{
# Generate Covariates
x1 <- runif(n, min = 0, max = 5)
x2 <- runif(n, min = 1, max = 6)
# Generate data with treatment indicators
# and outcomes
tibble(
x1 = x1,
x2 = x2
) %>% mutate(
treatment = as.numeric(x1 >1 | x2 > 1),
y = 2*treatment + x1 + x2 + rnorm(n, 0, 1)
)
}
但是,此尝试将未处理的 runif(n, 0,5) 中的一些 obs 分配给处理组,这不是作者的意图。
我的第二次尝试包括每个协变量的cbind(x1 = runif(100, 0,5), treatment = 0) - 但是,treatment-变量的长度超过了协变量的长度,因此会崩溃。
我如何解释论文中提到的模拟研究,并在 R 中复制它?
编辑:在@whuber 的评论之后完全引用文章。
【问题讨论】:
-
一个很好的例子,说明为什么期刊应该为所有已发表的研究成果强制开放数据和源代码
-
我绝对同意这一点。
-
从
This leaves the overlapping [1,5]×[1,5] square as a completely randomized experiment,我猜它对应2T,那么T应该是Uniform( 1,5 ) -
2.
Thus, for unit i (i = 1, . . . , n), denote the treatment variable as T i∈ {0, 1}, where 0 refers to the “control group” and 1 the “treated group”.这也许对你理解也有用。 -
如果我对论文的理解正确,$T_i$ 是对照组的 0 和治疗组的 1——它只是一个指标。因此,从 U(0, 5) 得出的前 100 个观察值中的每一个都应该具有 T = 0,而从 U(1, 6) 得出的第二组观察值中的每一个都应该具有 T = 1。
标签: r simulation matching