daw538 / y4project

Fourth Year Masters project at University of Birmingham, investigating the helium glitch with asteroseismology to obtain a measure of helium abundance in stars.
MIT License
0 stars 0 forks source link

Epsilon outliers(??) #23

Closed daw538 closed 5 years ago

daw538 commented 5 years ago

Just analysed the parameter plot for NGC6819 and the correlation plots on the whole look as expected with the exception of epsilon (I can deal with the outliers in the other parameters easily). As you will see in this image

alt text

Before I do anything to the code, is there anything that would explain the bunch in the top left of the plot? As you can see it pulls the power law completely out of kilter, and I think this is what is causing some of the 'tau models' to deteriorate. I have checked this with more than one run and the results are consistent with each other, so is there some understanding I'm missing or should I simply throw the outliers away?

grd349 commented 5 years ago

The epsilon is passing through the epsilon = 0 boundary and then continues from 1.0. change the priors to -0.5 to 1.0.

G

On Thu, 21 Mar 2019, 15:42 daw538, notifications@github.com wrote:

Assigned #23 https://github.com/daw538/y4project/issues/23 to @grd349 https://github.com/grd349.

— You are receiving this because you were assigned.

Reply to this email directly, view it on GitHub https://github.com/daw538/y4project/issues/23#event-2220156961, or mute the thread https://github.com/notifications/unsubscribe-auth/AOGXCc3mGkiL4EihBc8qbvPaN7MuAQjXks5vY6hMgaJpZM4cBvZ1 .

--

Dr Guy R. Davies Lecturer in Astrophysics School of Physics and Astronomy The University of Birmingham Edgbaston Birmingham B15 2TT

Tel +44 (0) 121 414 4597

g.r.davies@bham.ac.uk grd349@gmail.com davies@bison.ph.bham.ac.uk

daw538 commented 5 years ago

That's what I suspected, but nothing immediately shouts out at me stopping epsilon going below 0 in our code.

    real eps_std[N];
    real<lower=0> eps_sig;
    real epsA;
    real epsB;
epsilon[i] = eps_std[i] * eps_sig + (epsA + epsB * log(dnu[i]));
    eps_std ~ normal(0, 1);
    eps_sig ~ normal(0, 0.5);
    epsA ~ normal(0.601, 0.25);
    epsB ~ normal(0.632, 0.25);

Presumably its the <lower=0> on eps_sig that is restricting it. (I only want to check as I don't want to waste time now compiling and testing the wrong thing!) :smiley:

EDIT: I'm running a few tests at the moment.