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

# Re: st: Simulating an AR(1) in Stata

 From Syed Basher To statalist@hsphsun2.harvard.edu Subject Re: st: Simulating an AR(1) in Stata Date Thu, 24 Feb 2011 03:36:12 -0800 (PST)

```Thank you again Nick. So what modifications can be done to get -rho- and -s- as
scalars, as well as generating multiple series? I truly appreciate your help.

Syed

----- Original Message ----
From: Nick Cox <njcoxstata@gmail.com>
To: statalist@hsphsun2.harvard.edu
Sent: Thu, February 24, 2011 1:43:36 PM
Subject: Re: st: Simulating an AR(1) in Stata

I don't think the rephrasing makes any difference.

As said, your rho and SD vary within a single realisation of this
process. That's doesn't sound like what you want at all.

after running this once. Then you will see that -rho- and -s- are
variables in the Stata sense and in the statistical sense. You need to
rewrite your program so they are scalars.

Also, you need to extend this so it generates multiple series, not one.

Nick

On Thu, Feb 24, 2011 at 10:33 AM, Syed Basher <syed.basher@yahoo.com> wrote:
> 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/
>

*
*   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/
```