<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: moving Average Model Bayesian in Proc MCMC in SAS Forecasting and Econometrics</title>
    <link>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/moving-Average-Model-Bayesian-in-Proc-MCMC/m-p/774614#M4256</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The problem with your code is that in the following lines:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=""&gt;epsilon = y - mu;
  mu = theta*epsilon.l1;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The .l1 (lag 1 value) of a variable cannot be applied to a transformed variable, like epsilon in this case. You can use it on a data set variable, such as y, where as y.l1 is lag(1) of y. PROC MCMC knows how to look back the values of y according to an index (data index), but it doesn’t know what the lag of epsilon is going to be.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;PROC MCMC can fit AR models for the reason that it can do y.l1 or y.l2. And now MA(1) = AR(Infinity), which makes it rather impractical to do with PROC MCMC. If you must use Bayesian analysis for the model in PROC MCMC, then you may need to construct an array of epsilons (of length T) to keep track of what the epsilon[t-1] values are in the likelihood calculation. Possible, but involving.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There are some alternatives you may consider. If you have SAS Viya license and SAS Econometrics license, then you can use PROC SMC to apply sequential Monte Carlo method to estimate your model. The sequential Monte Carlo methods&lt;SPAN&gt;&amp;nbsp;(also known as particle filtering methods)&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;provide simulation-based approximate solutions to the state space model (SSM),&amp;nbsp;and have been widely used in economics, finance, science and engineering&lt;/SPAN&gt;. An introduction to the functionalities in this procedure are provided here:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://go.documentation.sas.com/doc/en/pgmsascdc/v_017/casecon/casecon_smc_overview.htm" target="_blank"&gt;https://go.documentation.sas.com/doc/en/pgmsascdc/v_017/casecon/casecon_smc_overview.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;More details on the sequential Monte Carlo methods are available here:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://go.documentation.sas.com/doc/en/pgmsascdc/v_017/casecon/casecon_smc_details01.htm" target="_blank"&gt;https://go.documentation.sas.com/doc/en/pgmsascdc/v_017/casecon/casecon_smc_details01.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In addition, you can also estimate MA models using traditional estimation methods like conditional least squares estimation, maximum likelihood estimation etc., which estimate MA models very well, using SAS/ETS procedures PROC ARIMA or PROC VARMAX with simple syntax.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Following is an example showing each of these procedures as alternatives to estimate an MA model which you may consider. Note that if you do not have SAS Viya and SAS Econometrics license, then you cannot run PROC SMC, but you can run the PROC ARIMA and PROC VARMAX steps if you have SAS/ETS license.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;cas sascas1 ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; libname mycas cas sessref=sascas1 datalimit=all;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;data&lt;/STRONG&gt; one;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retain epslag &lt;STRONG&gt;0&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call streaminit('PCG', &lt;STRONG&gt;12345&lt;/STRONG&gt;);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; epslag = &lt;STRONG&gt;0&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do t = -&lt;STRONG&gt;1000&lt;/STRONG&gt; to &lt;STRONG&gt;200&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eps = rand('normal');&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; y = -&lt;STRONG&gt;0.6&lt;/STRONG&gt; + eps + epslag * &lt;STRONG&gt;0.8&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(t&amp;gt;&lt;STRONG&gt;0&lt;/STRONG&gt;) then output;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; epslag = eps;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;data&lt;/STRONG&gt; mycas.one; set one; &lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;sgplot&lt;/STRONG&gt; data=one;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; series x=t y=y;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;&lt;STRONG&gt;proc arima&lt;/STRONG&gt; data = one ;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;identify var = y ;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;estimate q = 1 ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;forecast out = two ;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;varmax&lt;/STRONG&gt; data=one;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; model y / q=&lt;STRONG&gt;1&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; output out = three ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;smc&lt;/STRONG&gt; data = mycas.one seed = &lt;STRONG&gt;123&lt;/STRONG&gt; ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id t;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var y ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; statevar eta;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parm mu=&lt;STRONG&gt;0&lt;/STRONG&gt; theta = &lt;STRONG&gt;0.5&lt;/STRONG&gt; sigma_sq = &lt;STRONG&gt;0.8&lt;/STRONG&gt; ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *initstate eta.L1 ~ degenerate(0);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; initstate eta.L1 ~ normal(&lt;STRONG&gt;0&lt;/STRONG&gt;,sqrt(sigma_sq));&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; initstate eta ~ normal(&lt;STRONG&gt;0&lt;/STRONG&gt;,sqrt(sigma_sq));&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; state eta ~normal(&lt;STRONG&gt;0&lt;/STRONG&gt;,sqrt(sigma_sq));&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; model y ~ normal(mu+eta+theta*eta.L1,&lt;STRONG&gt;0.01&lt;/STRONG&gt;);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prior mu ~ normal(&lt;STRONG&gt;0&lt;/STRONG&gt;,&lt;STRONG&gt;10&lt;/STRONG&gt;);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prior theta ~ uniform(-&lt;STRONG&gt;1&lt;/STRONG&gt;,&lt;STRONG&gt;1&lt;/STRONG&gt;) ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prior sigma_sq ~ igamma(&lt;STRONG&gt;0.01&lt;/STRONG&gt;,&lt;STRONG&gt;0.01&lt;/STRONG&gt;);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; learn nparticle = &lt;STRONG&gt;100000&lt;/STRONG&gt; algorithm=SIR&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; method = PMCMC(nsample = &lt;STRONG&gt;1000&lt;/STRONG&gt; nbi=&lt;STRONG&gt;50&lt;/STRONG&gt; samsum samset seed = &lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;thin=&lt;STRONG&gt;1&lt;/STRONG&gt; outpost = sascas1.outle_ statistics=all&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;diagnostics(settings)=all sampler = rwm(ntu=&lt;STRONG&gt;5&lt;/STRONG&gt; ntunestage=&lt;STRONG&gt;48&lt;/STRONG&gt;)) ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope this helps!&lt;/P&gt;</description>
    <pubDate>Fri, 15 Oct 2021 21:15:07 GMT</pubDate>
    <dc:creator>SASCom1</dc:creator>
    <dc:date>2021-10-15T21:15:07Z</dc:date>
    <item>
      <title>moving Average Model Bayesian in Proc MCMC</title>
      <link>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/moving-Average-Model-Bayesian-in-Proc-MCMC/m-p/774034#M4255</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;Moving average(1)&lt;/P&gt;&lt;P&gt;why the code is wrong?&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;proc mcmc data=dataset nmc=10000 seed=100 propcov=quanew;
  parms theta;
  parms sigma2 1;
  prior theta ~ normal(0,sd=0.5);
  prior sigma2 ~ igamma(shape = 3/10, scale = 10/3);
  epsilon = y - mu;
  mu = theta*epsilon.l1;
  model y~normal(mu, var=sigma2);
  preddist outpred=AR4outpred statistics=brief;
  ods output PredSumInt=AR4PredSumInt;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 13 Oct 2021 20:17:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/moving-Average-Model-Bayesian-in-Proc-MCMC/m-p/774034#M4255</guid>
      <dc:creator>DEE12</dc:creator>
      <dc:date>2021-10-13T20:17:42Z</dc:date>
    </item>
    <item>
      <title>Re: moving Average Model Bayesian in Proc MCMC</title>
      <link>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/moving-Average-Model-Bayesian-in-Proc-MCMC/m-p/774614#M4256</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The problem with your code is that in the following lines:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=""&gt;epsilon = y - mu;
  mu = theta*epsilon.l1;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The .l1 (lag 1 value) of a variable cannot be applied to a transformed variable, like epsilon in this case. You can use it on a data set variable, such as y, where as y.l1 is lag(1) of y. PROC MCMC knows how to look back the values of y according to an index (data index), but it doesn’t know what the lag of epsilon is going to be.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;PROC MCMC can fit AR models for the reason that it can do y.l1 or y.l2. And now MA(1) = AR(Infinity), which makes it rather impractical to do with PROC MCMC. If you must use Bayesian analysis for the model in PROC MCMC, then you may need to construct an array of epsilons (of length T) to keep track of what the epsilon[t-1] values are in the likelihood calculation. Possible, but involving.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There are some alternatives you may consider. If you have SAS Viya license and SAS Econometrics license, then you can use PROC SMC to apply sequential Monte Carlo method to estimate your model. The sequential Monte Carlo methods&lt;SPAN&gt;&amp;nbsp;(also known as particle filtering methods)&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;provide simulation-based approximate solutions to the state space model (SSM),&amp;nbsp;and have been widely used in economics, finance, science and engineering&lt;/SPAN&gt;. An introduction to the functionalities in this procedure are provided here:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://go.documentation.sas.com/doc/en/pgmsascdc/v_017/casecon/casecon_smc_overview.htm" target="_blank"&gt;https://go.documentation.sas.com/doc/en/pgmsascdc/v_017/casecon/casecon_smc_overview.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;More details on the sequential Monte Carlo methods are available here:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://go.documentation.sas.com/doc/en/pgmsascdc/v_017/casecon/casecon_smc_details01.htm" target="_blank"&gt;https://go.documentation.sas.com/doc/en/pgmsascdc/v_017/casecon/casecon_smc_details01.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In addition, you can also estimate MA models using traditional estimation methods like conditional least squares estimation, maximum likelihood estimation etc., which estimate MA models very well, using SAS/ETS procedures PROC ARIMA or PROC VARMAX with simple syntax.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Following is an example showing each of these procedures as alternatives to estimate an MA model which you may consider. Note that if you do not have SAS Viya and SAS Econometrics license, then you cannot run PROC SMC, but you can run the PROC ARIMA and PROC VARMAX steps if you have SAS/ETS license.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;cas sascas1 ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; libname mycas cas sessref=sascas1 datalimit=all;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;data&lt;/STRONG&gt; one;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retain epslag &lt;STRONG&gt;0&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call streaminit('PCG', &lt;STRONG&gt;12345&lt;/STRONG&gt;);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; epslag = &lt;STRONG&gt;0&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do t = -&lt;STRONG&gt;1000&lt;/STRONG&gt; to &lt;STRONG&gt;200&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eps = rand('normal');&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; y = -&lt;STRONG&gt;0.6&lt;/STRONG&gt; + eps + epslag * &lt;STRONG&gt;0.8&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(t&amp;gt;&lt;STRONG&gt;0&lt;/STRONG&gt;) then output;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; epslag = eps;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;data&lt;/STRONG&gt; mycas.one; set one; &lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;sgplot&lt;/STRONG&gt; data=one;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; series x=t y=y;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;&lt;STRONG&gt;proc arima&lt;/STRONG&gt; data = one ;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;identify var = y ;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;estimate q = 1 ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;forecast out = two ;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;varmax&lt;/STRONG&gt; data=one;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; model y / q=&lt;STRONG&gt;1&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; output out = three ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;smc&lt;/STRONG&gt; data = mycas.one seed = &lt;STRONG&gt;123&lt;/STRONG&gt; ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id t;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var y ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; statevar eta;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parm mu=&lt;STRONG&gt;0&lt;/STRONG&gt; theta = &lt;STRONG&gt;0.5&lt;/STRONG&gt; sigma_sq = &lt;STRONG&gt;0.8&lt;/STRONG&gt; ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *initstate eta.L1 ~ degenerate(0);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; initstate eta.L1 ~ normal(&lt;STRONG&gt;0&lt;/STRONG&gt;,sqrt(sigma_sq));&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; initstate eta ~ normal(&lt;STRONG&gt;0&lt;/STRONG&gt;,sqrt(sigma_sq));&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; state eta ~normal(&lt;STRONG&gt;0&lt;/STRONG&gt;,sqrt(sigma_sq));&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; model y ~ normal(mu+eta+theta*eta.L1,&lt;STRONG&gt;0.01&lt;/STRONG&gt;);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prior mu ~ normal(&lt;STRONG&gt;0&lt;/STRONG&gt;,&lt;STRONG&gt;10&lt;/STRONG&gt;);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prior theta ~ uniform(-&lt;STRONG&gt;1&lt;/STRONG&gt;,&lt;STRONG&gt;1&lt;/STRONG&gt;) ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prior sigma_sq ~ igamma(&lt;STRONG&gt;0.01&lt;/STRONG&gt;,&lt;STRONG&gt;0.01&lt;/STRONG&gt;);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; learn nparticle = &lt;STRONG&gt;100000&lt;/STRONG&gt; algorithm=SIR&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; method = PMCMC(nsample = &lt;STRONG&gt;1000&lt;/STRONG&gt; nbi=&lt;STRONG&gt;50&lt;/STRONG&gt; samsum samset seed = &lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;thin=&lt;STRONG&gt;1&lt;/STRONG&gt; outpost = sascas1.outle_ statistics=all&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;diagnostics(settings)=all sampler = rwm(ntu=&lt;STRONG&gt;5&lt;/STRONG&gt; ntunestage=&lt;STRONG&gt;48&lt;/STRONG&gt;)) ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope this helps!&lt;/P&gt;</description>
      <pubDate>Fri, 15 Oct 2021 21:15:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/moving-Average-Model-Bayesian-in-Proc-MCMC/m-p/774614#M4256</guid>
      <dc:creator>SASCom1</dc:creator>
      <dc:date>2021-10-15T21:15:07Z</dc:date>
    </item>
  </channel>
</rss>

