Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Moving average for panel data with missing values

    Good morning
    I am trying to solve an issue with a big dataset (unbalanced panel with several missing data).
    The task is quite easy, but the dimension of the panel require an automated routine.
    Briefly speaking, I need to calculate a moving average of a variable including 3 lags and the current value.
    I find that the command

    xtset ID year
    tssmooth ma movaverage = targetvariable, window(3 1)

    works fine, since it manages very well the missing values but it has a drawback; it provides values for each year, including the first three ones.
    However, I expect (need) three missing values at the beginning of each time series, since only in year 4 the average can be properly calculated.
    Some Statalist posts suggest to use the

    (L3.var + L2.var + L1.var + var)/4

    strategy, but I guess that missing data create several problems here.
    Is there a better strategy to manage the issue?
    Thanks again as usual for your insightful comments
    Simone

  • #2
    Code:
    xtset ID year
    tssmooth ma movaverage = targetvariable, window(3 1)
    bys ID (year): replace movaverage= . if year<year[1]+3

    Comment


    • #3
      Originally posted by Andrew Musau View Post
      Code:
      xtset ID year
      tssmooth ma movaverage = targetvariable, window(3 1)
      bys ID (year): replace movaverage= . if year<year[1]+3
      That worked perfectly!
      Thank you very much for your help
      Simone

      Comment

      Working...
      X