Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
From | Syed Basher <syed.basher@yahoo.com> |
To | statalist@hsphsun2.harvard.edu |
Subject | Re: st: Simulating an AR(1) in Stata |
Date | Thu, 24 Feb 2011 02:33:16 -0800 (PST) |
Thank you Nick. Here is a rephrasing of my intent: I want to generate sequences of first-order autoregressive processes with AR(1) parameters randomly drawn from the [0.48,0.83] interval, and disturbances drawn from a zero-mean normal distribution where the standard deviation was randomly selected from the [0.005,0.014] interval. I am using the following steps for my purpose. Does this look okay? Thank you. ************************************** clear version 11.1 quietly set obs 100 set seed 10101 gen t=_n scalar a = 0.48 scalar b = 0.83 scalar c = 0.005 scalar d = 0.014 gen rho = a+(b-a)*runiform() gen s = c+(d-c)*runiform() gen et = rnormal(0, s) quietly gen yt= et in 1 quietly replace yt=rho*yt[_n-1]+et in 2/L exit ************************************** ----- Original Message ---- From: Nick Cox <njcoxstata@gmail.com> To: statalist@hsphsun2.harvard.edu Sent: Thu, February 24, 2011 1:13:38 PM Subject: Re: st: Simulating an AR(1) in Stata This program does not produce 500 series. It creates a single series with 500 observations in which rho varies from observation from observation, and the SD of the normal distribution varies ditto. So, I guess it does not match your intent. Also note that the loop over observations is unnecessary: quietly gen yt= et in 1 quietly replace yt=rho*yt[_n-1]+et in 2/L would I imagine match your intent. Nick On Thu, Feb 24, 2011 at 6:36 AM, Syed Basher <syed.basher@yahoo.com> wrote: > I am using Stata 11.1. I am trying to generate 500 sequences of first-order > autoregressive processes with AR(1) parameters randomly drawn from the > [0.48,0.83] interval, and disturbances drawn from a zero-mean normal > distribution where the standard deviation was randomly selected from the > [0.005,0.014] interval. With the help of earlier Stata posts, I have come up > with the following: > > **************************************** > clear > version 11.1 > quietly set obs 500 > set seed 10101 > gen t=_n > scalar a = 0.48 > scalar b = 0.83 > scalar c = 0.005 > scalar d = 0.014 > gen rho = a+(b-a)*runiform() > gen s = c+(d-c)*runiform() > gen et = rnormal(0, s) > gen yt=. > replace yt=et in 1 > forvalues i=2(1)500 { > quietly replace yt=rho*yt[`i'-1]+et[`i'] in `i' > } > line yt t > **************************************** > > I would appreciate if someone kindly proofread the above program for any > mistake(s). Eventually I will use the AR(1) processes to simulate 5% critical > values of a statistic for which I will later seek Statalist's help. Thank you. > > Syed Basher > Qatar Central Bank > and > Qatar National Food Security Program * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/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/statalist/faq * http://www.ats.ucla.edu/stat/stata/