Dear all,
I want modify the params.ini to let w to be a constant and the value of w
can change from 10 to 10. Because w isn't equal 1 all the time, I let
propose_matrix is blank and estimate_propose_matrix = T.
So I modify the params.ini:
propose_matrix =
estimate_propose_matrix = T
#w
params7 = 1 10 10 0.1 0.05
I'm not sure whether 0.1 & 0.05 is reasonable.
But when I ran the program there is a error:
ERROR: Trial parameters hit prior or error in function evaluation
Try starting further away from problem regions?
How to set the parameter w?
Thanks!
JunQing Xia
COSMOMC: How to constrain w?

 Posts: 22
 Joined: January 02 2005
 Affiliation: SISSA, Italy

 Posts: 144
 Joined: September 24 2004
 Affiliation: University College London (UCL)
 Contact:
COSMOMC: How to constrain w?
Hi,
It isn't obvious to me why you would get this error from this prior on w.
* What ranges are you using for the other parameters?
* What happens if you fix all the other parameters and only vary w?
For background info:
* When estimating the proposal matrix this way, CosmoMC makes steps away from the minimum to find the shape of the likelihood along each parameter direction (and diagonal directions).
* This is difficult because if you take too small a step you may meet numerical error, whereas if you take too large a step then the shape of the likelihood is no longer close to Gaussian. Therefore it tries to find a good step size to use by asking for the chisq to change by a certain amount.
* However e.g. if a parameter is poorly constrained then it will not vary by the required amount within the allowed region, and you will get the below error.
* But since your prior is so wide on w then this doesn't explain your problem. I am wondering if it is a problem with one of the other parameters instead, hence the above questions.
Note that if you add a new parameter to the original 6 parameters then this does not mean you have to make a new proposal matrix from scratch. You can still use the 6 parameter propose_matrix, and this will be much better than using nothing at all (and possibly better than using estimate_propose_matrix = T since this is only an estimate). CosmoMC won't know about the correlations between the other parameters and w, but it will use the info about correlations between the other 6 parameters, e.g. between ns and omegabh2. Then after you have done some runs like this, you can use getdist to find the correlation matrix of your samples. And then you can switch to using this for future runs. And/or use MPI_LearnPropose = T
Sarah
It isn't obvious to me why you would get this error from this prior on w.
* What ranges are you using for the other parameters?
* What happens if you fix all the other parameters and only vary w?
For background info:
* When estimating the proposal matrix this way, CosmoMC makes steps away from the minimum to find the shape of the likelihood along each parameter direction (and diagonal directions).
* This is difficult because if you take too small a step you may meet numerical error, whereas if you take too large a step then the shape of the likelihood is no longer close to Gaussian. Therefore it tries to find a good step size to use by asking for the chisq to change by a certain amount.
* However e.g. if a parameter is poorly constrained then it will not vary by the required amount within the allowed region, and you will get the below error.
* But since your prior is so wide on w then this doesn't explain your problem. I am wondering if it is a problem with one of the other parameters instead, hence the above questions.
Note that if you add a new parameter to the original 6 parameters then this does not mean you have to make a new proposal matrix from scratch. You can still use the 6 parameter propose_matrix, and this will be much better than using nothing at all (and possibly better than using estimate_propose_matrix = T since this is only an estimate). CosmoMC won't know about the correlations between the other parameters and w, but it will use the info about correlations between the other 6 parameters, e.g. between ns and omegabh2. Then after you have done some runs like this, you can use getdist to find the correlation matrix of your samples. And then you can switch to using this for future runs. And/or use MPI_LearnPropose = T
Sarah