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: Program to simulate AR(1) time series and return autocorrelations


From   Robson Glasscock <[email protected]>
To   [email protected]
Subject   Re: st: Program to simulate AR(1) time series and return autocorrelations
Date   Fri, 24 Feb 2012 22:35:20 -0500

Brandon,
I think the code below should do it. It records each element in the AC
matrix for each iteration. Admittedly, the code is clunky so there are
no style points for me tonight.

program define simarmat, rclass

drop _all
tempvar simy
sim_arma simy, nobs(20) arcoef(.45) time(time) spin(2000)
  tsset time
  corrgram simy, lags(13) noplot

  tempvar ac
  tempvar q1
  tempvar q2
  tempvar q3
  tempvar q4
  tempvar q5
  tempvar q6
  tempvar q7
  tempvar q8
  tempvar q9
  tempvar q10
  tempvar q11
  tempvar q12
  tempvar q13
  matrix ac = r(AC)
  return scalar q1= ac[1,1]
  return scalar q2= ac[1,2]
  return scalar q3= ac[1,3]
  return scalar q4= ac[1,4]
  return scalar q5= ac[1,5]
  return scalar q6= ac[1,6]
  return scalar q7= ac[1,7]
  return scalar q8= ac[1,8]
  return scalar q9= ac[1,9]
  return scalar q10= ac[1,10]
  return scalar q11= ac[1,11]
  return scalar q12= ac[1,12]
  return scalar q13= ac[1,13]
end

simulate q1= r(q1) q2=r(q2) q3= r(q3) q4= r(q4) q5= r(q5) q6=r(q6) q7= r(q7) ///
q8= r(q8) q9= r(q9) q10= r(q10) q11= r(q11) q12=r(q12) q13= r(q13),
reps(20): simarmat, obs(20)

best,
Robson Glasscock



On Fri, Feb 24, 2012 at 6:59 PM, Nick Cox <[email protected]> wrote:
> You can't put a matrix into a value of a variable.
>
> Nick
>
> On Fri, Feb 24, 2012 at 7:02 PM, brandon lebeau <[email protected]> wrote:
>> I am attempting to write a program that simulates an AR(1) time series
>> using the sim_arma command
>> and computes autocorrelations with the corrgram function.  I'm having
>> difficulties accessing the stored
>> results from the corrgram function, specifically the matrix r(AC).I
>> have also tried just accessing r(ac1),
>> r(ac2), etc. and that works, but does not work when I try to use the
>> simulate command.
>>
>> Here is my program so far:
>>
>> program define simarmaT, rclass
>>   sim_arma simy, nobs(20) arcoef(.45) time(time) spin(2000)
>>   tsset time
>>   corrgram simy, lags(13) noplot
>>   return matrix autoC = r(AC)
>> end
>>
>> Then I'd like to use the simulate function to replicate this about
>> 10,000 times.
>> Here is a version of my simulate command:
>>
>> simulate autoC = r(AC), reps(20): simarmaT
>>
>>
>> I'm hoping their is a simple solution to this as I'm a new user to
>> Stata, I primarily use R,
>> but need to replicate my simulation done in R with another 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/


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