Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: moving average.. conditioning on a date


From   Francesco <[email protected]>
To   [email protected]
Subject   Re: st: moving average.. conditioning on a date
Date   Mon, 5 Nov 2012 09:16:54 +0100

Dear Nick,

Many thanks for your very interesting suggestion. Tsspell should do
the job indeed
However the condition I am interested in is slighly more complicated
(at least for me) than the one I used in the above minimal example
I would like to obtain a running sum of all X's observations that
occur -at most- 30 days before the current date

 So the example I gave was correct
1    sep-7   1    2
because I only consider observations -at most - one day from the
current observation .. that is sep 7th and sept 6th but not sept 5th
because it is two days from sept 7th

Do you know how to express this with Stata's lag operators?

Many thanks again





On 5 November 2012 01:48, Nick Cox <[email protected]> wrote:
> If I understand this correctly, Francesco wants running sums to be
> calculated within spells of consecutive days, and separately by
> panels.
>
> Identifying spells of consecutive dates is an FAQ
>
> FAQ     . . . . . . Identifying runs of consecutive observations in panel data
>         . . . . . . . . . . . . . . . . . . . . . . . N. J. Cox and V. Wiggins
>         8/02    How do I identify runs of consecutive observations
>                 in panel data?
> http://www.stata.com/support/faqs/data-management/identifying-runs-of-consecutive-observations/
>
> One solution covered there is to use -tsspell- from SSC
>
> . tsset id date
> . tsspell, f(L.date == .)
> . bysort id _spell (_seq) : gen Y = sum(X) if _spell
> . by id _spell : gen aveY = Y/_seq
>
> Here I am guessing that the moving average required is running
> sum/number in sequence
>
> I am also guessing that the example should end
>
>  1    sep-7   1    3
>
> Note that unbalanced panels in no sense rule out the use of time
> series operators.
>
> The -egen- function -filter()- is from -egenmore- (SSC).
>
> See also
>
> SJ-7-2  dm0029  . . . . . . . . . . . . . . Speaking Stata: Identifying spells
>         . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  N. J. Cox
>         Q2/07   SJ 7(2):249--265                                 (no commands)
>         shows how to handle spells with complete control over
>         spell specification
>
>
> Nick
>
> On Sun, Nov 4, 2012 at 10:50 PM, Francesco <[email protected]> wrote:
>
>> Many thanks for your suggestion but unfortunately it does not fit...
>> movavg only computes moving average over the last n periods... which
>> is not what I want
>>
>> In order to be more clear, my dataset looks like
>>
>> ID  date     X   Y
>> 1    jan-1   1    1
>> 1    feb-4   1    1
>> 1    feb-5   1    2
>> 1    sep-5   1    1
>> 1    sep-6   1    2
>> 1    sep-7   1    2
>>
>> Here Y is the running sum of X for values of X that occur at most 1
>> days before the current observation ...
>> Is there a way to obtain this variable (and a moving average version too) ?
>
>  On 4 November 2012 23:35, Steve Samuels <[email protected]> wrote:
>
>>> Sorry for the typo: The command is -movavg-. If you download it and read
>>> the -help-, you will see that it does not require balanced panels.
>
> On Nov 4, 2012, at 5:24 PM, Francesco wrote:
>
>>> Well, Thank you for your kind suggestion (I already checked tssmooth
>>> and egen filter) but I cannot find what I am looking for (in
>>> particular for the running sum)
>>> As the panel is unbalanced, I think I cannot use the L. operator ...
>
> On 4 November 2012 22:51, Steve Samuels <[email protected]> wrote:
>
>>>> The Statalist archives are not a good place to look for
>>>> commands. Try -findit- first.  "findit moving average" would
>>>> have turned up -movag- at SSC. If -findit- had not been successful.
>>>> then a second  step would have been to Google "Stata moving average".
>
> On Nov 4, 2012, at 3:58 PM, Marco Francesco wrote:
>
>>>> I looked into the archives, and still I am not sure how to proceed :
>>>>
>>>> I have a panel dataset (id - day) and I would like to obtain a variable X that keeps the running sum (or the average) of variable Y's observations that occur in a given moving time window : that is between today's observation date and (today's observation date - X) where X is fixed.
>
> *
> *   For searches and help try:
> *   http://www.stata.com/help.cgi?search
> *   http://www.stata.com/support/faqs/resources/statalist-faq/
> *   http://www.ats.ucla.edu/stat/stata/

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index