cosmomc: varying w

Use of Cobaya. camb, CLASS, cosmomc, compilers, etc.
Post Reply
suman bhattacharya
Posts: 5
Joined: February 21 2007
Affiliation: University of Pittsburgh

cosmomc: varying w

Post by suman bhattacharya » March 07 2007

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.

Antony Lewis
Posts: 1941
Joined: September 23 2004
Affiliation: University of Sussex
Contact:

Re: cosmomc: varying w

Post by Antony Lewis » March 07 2007

1000 is probably not enough. I suggest you use the MPI proposal-learning options if you can.

suman bhattacharya
Posts: 5
Joined: February 21 2007
Affiliation: University of Pittsburgh

cosmomc: varying w

Post by suman bhattacharya » March 07 2007

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.

Ben Gold
Posts: 81
Joined: September 25 2004
Affiliation: University of Minnesota
Contact:

cosmomc: varying w

Post by Ben Gold » March 08 2007

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.

Anze Slosar
Posts: 183
Joined: September 24 2004
Affiliation: Brookhaven National Laboratory
Contact:

cosmomc: varying w

Post by Anze Slosar » March 09 2007

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).

Antony Lewis
Posts: 1941
Joined: September 23 2004
Affiliation: University of Sussex
Contact:

Re: cosmomc: varying w

Post by Antony Lewis » March 09 2007

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.

Post Reply