我正在尝试在Stata中创建一个循环。我为数据< = year和< = quarter运行模型。然后预测一年前瞻。也就是说,模型在循环中的所有时间点运行,而预测发生在下一季度的样本中。所以我的问题是如何处理,以便当yridx = 2000和qtr = 4时,循环中的下一个季度将是year = 2005,year = 1。
foreach yridx of numlist 2000/2012 {
forvalues qtridx = 1/4 {
regress Y X if year <= yridx and qtr <= qtridx
predict
}
}
答案 0 :(得分:1)
听起来好像按季度工作会更容易。这是实现它的几种方法之一。
gen qdate = yq(year, qtridx)
forval m = `=yq(2000,1)'/`=yq(2012, 4)' {
regress Y X if qdate <= `m'
predict <whatever>
}