我有一个环境和效果的列表:我想生成一个包含贝塔值的矩阵。我将循环运行10次,因为我实际上是要引导我的观察结果。
到目前为止,我已经试过了。
local circumstances height weight
local effort training diet
foreach i in 1 10 {
reg outcome `circumstances' `effects'
* store in column i the values of betas of circumstances
* store in column i the values of betas of effort
}
有谁知道为了存储这些值,代码应该是什么样子的?
伪代码将首先在 "列1 "中存储第一手的贝塔值,然后用第二手的贝塔值覆盖它们(列1)。然后,它将再次对第10列做同样的工作,用第一手的贝塔斯和第二手的贝塔斯。这与任何有意义的事情都相去甚远。在你的伪代码中,没有任何东西从数据集中提取引导样本,尽管你可能打算稍后添加相关代码。
Stata并没有真正使用任何列数的想法,尽管这个想法对Mata来说是有意义的。
除非有非常特殊的原因--你需要说明--否则没有必要写自己的代码。自始至终 的目的是为了引导。bootstrap
是为你做的。
这里是一个可重复的引导回归例子的完整代码。
sysuse auto, clear
bootstrap b_weight=_b[weight] b_price=_b[price] , reps(1000) seed(2803) : regress mpg weight price
也请看帮助 bootstrap
了解其其他选择,包括 saving()
.
对于引导样本的数量来说,10次重复将被认为是少得离谱的。