Genentech / jmpost

https://genentech.github.io/jmpost/
17 stars 4 forks source link

GSFmodel - Implement hierarchical priors based on study #108

Open gowerc opened 1 year ago

gowerc commented 1 year ago

This is linked to #113

The current implementation of the kinetics mean parameters is

\begin{aligned}
  \mu_{s j}  &\sim lognormal(1, 0.5); \\
  \mu_{g j} &\sim lognormal(-0.36, 1); \\
  \mu_{\phi j} &\sim beta(5, 5);
\end{aligned} 

where j = 1 to number of arms across all studies.

That is the parameters are treated as being independent.

In Daniels original "D2" model implementation he had the ability for users to specify that some (but, importantly, not all) of the parameters belong to a hierarchical distribution e.g.

  mu_ks[sld_par_shared] ~ lognormal(mean_mu_ks, sd_mu_ks);
  mu_kg[sld_par_shared] ~ lognormal(mean_mu_kg, sd_mu_kg);
  logit(mu_phi[sld_par_shared]) ~ normal(logit(mean_mu_phi), sd_mu_phi);

  mu_ks[sld_par_separate] ~ lognormal(1,0.5);
  mu_kg[sld_par_separate] ~ lognormal(-0.36,1);
  mu_phi[sld_par_separate] ~ beta(5,5);

The request is to re-implement this functionality. Care is needed though on how to get users to specify which parameters belong to the shared and separate groups though.

gowerc commented 9 months ago

Need to check with @mercifr1 how important this is

gowerc commented 7 months ago

Agreed to defer this to a version 2 of the package:

Preference for having the GSF model formulated as:

psi_ks_<patient> = logN(mu_ks_<arm>,  sigma_1)
mu_ks_<arm> ~ N(mean_mu_ks, sigma_2)
mean_mu_ks ~ prior()
sigma_1 ~ prior()
sigma_2 ~ prior()

However still need further discussion on wether or not we want to re-implement the shared vs independent flag that @danielinteractive had originally implemented.