turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Find a Community

- Home
- /
- Analytics
- /
- Stat Procs
- /
- Setting a constant in PROC MCMC

Topic Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

3 weeks ago

Hi all,

I am using PROC MCMC to compute a mixed-effects model and I want to set a variance parameter to 1 so that the model is identified. I am aware of the BEGINCNST and ENDCNST statements, which are used to define constants. However, when I used those statements and I set the parameter within the array to 1, the posterior mean of the variance parameter was a little over 1. From SAS documentation on PROC MCMC, the BEGINCNST/ENDCNST statements only assign* initial *values to a parameter and I was expecting SAS to constrain the value of the variance parameter to 1. Am I going about this correctly?

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

2 weeks ago

Hi all,

I have a question related to my original question. I have set up an array of variance parameters that represent variances/covariances in random effects (let's call it s2z):

```
array s2z[7,7] s2z1 s2z2 s2z3 s2z4 s2z5 s2z6 s2z7
s2z8 s2z9 s2z10 s2z11 s2z12 s2z13 s2z14
s2z15 s2z16 s2z17 s2z18 s2z19 s2z20 s2z21
s2z22 s2z23 s2z24 s2z25 s2z26 s2z27 s2z28
s2z29 s2z30 s2z31 s2z32 s2z33 s2z34 s2z35
s2z36 s2z37 s2z38 s2z39 s2z40 s2z41 s2z42
s2z43 s2z44 s2z45 s2z46 s2z47 s2z48 s2z49;
```

Originally, I wanted to free up a degree of freedom by constraining s2z49 to 1 by using the BEGINCNST/ENDCNST statements:

`begincnst; s2z49 = 1; endcnst;`

However, in the PARMS statement where I put s2z, this obviously includes s2z49, which I would like to be constant and not a parameter to be estimated. Does anybody have any ideas as to how I can still include s2z49 in the array but not include it as an estimated parameter? I ask because the autocorrelations are quite poor and I think that freeing up a parameter may help. Thanks!