I am running CosmoMC as a generic MCMC sampler. However, the proposal covariance matrix is not positive definite. I noticed that the metropolis acceptance ratio is rather small so I tried adjusting the min, max and the widths of the parameters but no success thus far. Here is the output from CosmoMC which I also print the Covariance matrix before and after the sampling.
Code: Select all
Number of MPI processes: 1
file_root:test
Random seeds: 16227, 7099 rand_inst: 1
Fast divided into 1 blocks
5 parameters
Printing the Covariance Matrix
1.0000000000000002E-002 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000
0.0000000000000000 1.4400000000000000E-002 0.0000000000000000 0.0000000000000000 0.0000000000000000
0.0000000000000000 0.0000000000000000 1.0000000000000000E-004 0.0000000000000000 0.0000000000000000
0.0000000000000000 0.0000000000000000 0.0000000000000000 4.0000000000000000 0.0000000000000000
0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.5000000000000005E-003
starting Monte-Carlo
1 metropolis accept. ratio: 1.00000000
2 metropolis accept. ratio: 1.00000000
11 metropolis accept. ratio: 0.272727281
12 metropolis accept. ratio: 0.333333343
17 metropolis accept. ratio: 0.294117659
19 metropolis accept. ratio: 0.315789461
34 metropolis accept. ratio: 0.205882356
90 metropolis accept. ratio: 8.88888910E-02
....
....
....
29852 metropolis accept. ratio: 1.87592127E-03
29900 metropolis accept. ratio: 1.90635456E-03
30035 metropolis accept. ratio: 1.93108036E-03
30693 metropolis accept. ratio: 1.92226237E-03
Chain1, MPI done 'burn', Samples =30693, like = 3164.91260
Time: 29.567820000000001 output lines= 57
MPI_Min_Sample_Update 70 30693
1 all_burn done
1 DoUpdates
Chain 1 MPI communicating
updating proposal density
Printing the Covariance Matrix
1.1093356479670479E-031 -4.0675640425458421E-031 -5.5466782398352393E-032 -2.2186712959340957E-031 -5.5466782398352393E-032
-4.0675640425458421E-031 1.4914401489334754E-030 2.0337820212729211E-031 8.1351280850916842E-031 2.0337820212729211E-031
-5.5466782398352393E-032 2.0337820212729211E-031 2.7733391199176196E-032 1.1093356479670479E-031 2.7733391199176196E-032
-2.2186712959340957E-031 8.1351280850916842E-031 1.1093356479670479E-031 4.4373425918681914E-031 1.1093356479670479E-031
-5.5466782398352393E-032 2.0337820212729211E-031 2.7733391199176196E-032 1.1093356479670479E-031 2.7733391199176196E-032
Matrix_Cholesky: not positive definite 2
MpiStop: 0
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD
with errorcode 128.
NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------
So my questions are
1) If the problem is from the prior - should I increase/decrease prior range and/or increase/decrease proposal width?
2) If the problem is from something else, please suggest.
Best,
Teera