Я пытаюсь построить модель Emax с использованием pymc3 на основе модели данных и в этом видео .. (около 40mins в)Создание Emax модели в pymc3
https://www.youtube.com/watch?v=U9Nf-ZYHRQA&feature=youtu.be&list=PLvLDbH2lpyXNGV8mpBdF7EFK9LQJzGL-Y
Вот снимок экрана, показывающий модель ...
Мой код здесь ...
pkpd_model = Model()
with pkpd_model:
# Hyperparameter Priors
mu_e0 = Normal('mu_e0', mu=0, tau =1000)
tau_e0 = Uniform('tau_e0', lower=0, upper =100)
mu_emax = Normal('mu_emax', mu=0, tau =1000)
tau_emax = Uniform('tau_emax', lower=0, upper =100)
e0 = Lognormal('e0', mu = mu_e0, tau=tau_e0, shape =n_studies)
emax= Lognormal('emax', mu = mu_emax, tau =tau_emax, shape =n_studies)
ed50 = Lognormal('ed50', mu=1, tau = 1000)
# Normalise sigma for sample size
sigma = np.sqrt(np.square(Uniform('sigma', lower = 0, upper = 1000))/n)
# Expected value of outcome
resp_median = e0[study] + (emax[study]*dose)/(ed50+dose)
# Likelihood (sampling distribution) of observations
resp = Lognormal('resp', mu=resp_median, tau =sigma, observed =mean_response)
resp_pred = Lognormal('resp_pred', mu=resp_median, tau =sigma, shape =len(dose))
модель г не подходит и подходит хорошо, его просто, что задние оценки для параметра модели не близки к тому, что я ожидаю. например, моя оценка emax составляет около 2, но вы можете ясно видеть, что из данных должно быть около 10. Поэтому я могу только предположить, что я сделал ошибку при построении модели, но я не могу, чтобы жизнь меня видна, что это является.
Вы можете помочь?
Благодаря
Все