0

我正在寻找一个产品,该产品在给定实例之前为整个数据集获取值 15 个观察值。

我的数据集有日期(按时间顺序),但有差距。这是一个例子:

  date    wage_thousands    moving_15_day_product
1/1/2000        3                      .
1/3/2000        2                      .
1/7/2000        3                      .
1/10/2000       6                      .
1/12/2000       6                      .
1/14/2000       2                      .
1/15/2000       1                      .
1/16/2000       1                      .
1/19/2000       2                      .
1/21/2000       1                      .
1/22/2000       2                      .
1/24/2000       3                      .
1/26/2000       1                      .
1/28/2000       1                      .
1/29/2000       2                      .
2/1/2000        1                    31,104
2/10/2000       5                    51,850
2/12/2000       9                   233,280

我希望自动创建moving_15_day_product,因为我的数据集很大。我尝试了一些变体inrange但它不起作用,也许我使用不正确。

谢谢

4

1 回答 1

0

如果您专注于对数的移动总和,则移动产品更容易考虑,您需要取幂才能获得移动产品。

过去 15 天的总和就是到现在的累计总和与到 15 天前的累计总和之间的差值。

只要您tsset使用数据并应用时间序列运算符,差距就不是特别成问题。

所以,草图是

 tsset date 
 gen sumlog = sum(log(wage)) 
 gen prod15 = exp(sumlog - L15.sumlog) 

但是,我没有对此进行测试。此外,统计而非编程评论是,与仅使用对数刻度相比,使用移动产品似乎很尴尬,但您选择的度量可能取决于您所在领域的惯例。

于 2013-01-30T16:33:05.243 回答