cosmomc: varying w
-
- Posts: 5
- Joined: February 21 2007
- Affiliation: University of Pittsburgh
cosmomc: varying w
Hi,
I am new to cosmomc so I apologize if this issue have already been addressed. I tried varying w+ 6 standard parameters.
Way I do this is: in params.ini file
#w
param7 = -0.9 -1.5 -0.4 0.02 0.01.
I did not make any other changes.
Do I have to change anything else in any code?
I am asking this because results don't look correct to me. ( I am getting better constraint on most of the parameters varying w than otherwise).
First I use propose matrix for 6 paramters. Compute 1000 steps.Then use getdist to find new .covmat matrix and use it for further run. However the code doesn't converge 50000 steps. Is this usual?
Thanks for helping!
Best,
Suman.
I am new to cosmomc so I apologize if this issue have already been addressed. I tried varying w+ 6 standard parameters.
Way I do this is: in params.ini file
#w
param7 = -0.9 -1.5 -0.4 0.02 0.01.
I did not make any other changes.
Do I have to change anything else in any code?
I am asking this because results don't look correct to me. ( I am getting better constraint on most of the parameters varying w than otherwise).
First I use propose matrix for 6 paramters. Compute 1000 steps.Then use getdist to find new .covmat matrix and use it for further run. However the code doesn't converge 50000 steps. Is this usual?
Thanks for helping!
Best,
Suman.
-
- Posts: 1944
- Joined: September 23 2004
- Affiliation: University of Sussex
- Contact:
Re: cosmomc: varying w
1000 is probably not enough. I suggest you use the MPI proposal-learning options if you can.
-
- Posts: 5
- Joined: February 21 2007
- Affiliation: University of Pittsburgh
cosmomc: varying w
Thanks very much for your prompt reply. But currently I am running on one CPU. I assume MPI_LearnPropose=T will not work here. But I will try your suggestion while running on a cluster. If you have an estimate of no of steps required to update propose matrix then I can try that.
cosmomc: varying w
I'm new to cosmomc myself, but just a couple random suggestions:
1) If you can't use the MPI options, I believe you can always try running getdist to get the covmat from your 50,000 long chain, and use that to start another (similar length) chain.
2) Choosing 0.02 or 0.01 as the starting width for [tex]w[/tex] seems really small to me. If you're using current datasets you probably want to set the width closer to the 0.1 level or perhaps even larger. My experience is that if you're just trying to do a run to estimate the covariance (rather than aiming for the full likelihood) it's not so bad to err on the large side.
1) If you can't use the MPI options, I believe you can always try running getdist to get the covmat from your 50,000 long chain, and use that to start another (similar length) chain.
2) Choosing 0.02 or 0.01 as the starting width for [tex]w[/tex] seems really small to me. If you're using current datasets you probably want to set the width closer to the 0.1 level or perhaps even larger. My experience is that if you're just trying to do a run to estimate the covariance (rather than aiming for the full likelihood) it's not so bad to err on the large side.
-
- Posts: 183
- Joined: September 24 2004
- Affiliation: Brookhaven National Laboratory
- Contact:
cosmomc: varying w
Incidentally, the optimal width for sampling a distribution is not 1 sigma, but more than that, I think 1.8 sigma or something around there: this decreases the acceptance rate and yet increases mobility... (in other words, you are never limited by poisson noise, but always by chain mobility, it took me 3 years to realise this)
I think Ben is right here, you have prior width of 1.1, step size of 0.01, so you would need of the order of 7*100^2=70000 steps to move from one end to the other by random walk!
Now, using WMAP only, w=-1+-0.4 or so, so you are not much better off....
(just one more comment: if you have a single machine you can still run MPI on it using two instances: you will have two chains with half the speed each, so you loose on burn-in, which has to be done twice, but all the advantages associated with MPI learning and convergence tests make it worth-while, I think).
I think Ben is right here, you have prior width of 1.1, step size of 0.01, so you would need of the order of 7*100^2=70000 steps to move from one end to the other by random walk!
Now, using WMAP only, w=-1+-0.4 or so, so you are not much better off....
(just one more comment: if you have a single machine you can still run MPI on it using two instances: you will have two chains with half the speed each, so you loose on burn-in, which has to be done twice, but all the advantages associated with MPI learning and convergence tests make it worth-while, I think).
-
- Posts: 1944
- Joined: September 23 2004
- Affiliation: University of Sussex
- Contact:
Re: cosmomc: varying w
Note that CosmoMC scales with the propose_scale factor (default 2.4), so the widths should be an estimate of the distribution width not the width of the proposal actually used.
Also the width should be the conditional width (i.e. the width when other parameters fixed) - this may be much smaller than the marginalized width for strongly correlated parameters.
Also the width should be the conditional width (i.e. the width when other parameters fixed) - this may be much smaller than the marginalized width for strongly correlated parameters.