# Planning ## Week 1 (14 - 20 feb) Iedereen: - [x] Paper lezen + taken verdelen - [x] RK4 integrator + first test ## Week 2 (21 - 27 feb) Kobe: - [x] Google test implementation - [x] Gitlab CI - [x] Makefile - [x] Data generation: Using the given model structure to generate data. This data can have stationary parameters or parameters that change. - [x] Finding data online - [x] preprocessing on online data Tom: - [x] Testing Monte Carlo on toy problem (in python notebook) - [x] Estimating some parameters using bayesian inference in python notebook Quinten: - [x] Parameters samplen uit distributies - [x] Beste manier van random number generatie onderzoeken ## Week 3 (28 feb - 6 maart) Kobe: - [x] Data preprocessing on online data - [x] CDC data plotting to see if preprocessing was correct - [x] Data generation (zie vorige week) Tom: - [x] Implement markov chain monte carlo methods in python and investigate gibbs sampling specifically - [x] Implement a basic version of the joint posterior (eq 5.1 of main paper) to estimate parameters $\gamma$ and $\beta$ - [x] Sample the conditionals with adaptive-rejection sampling - [x] Try to sample from the above joint posterior using gibbs sampling in python Quinten: - [x] Parameters samplen uit distributies - [x] Truncated normal distribution implementeren ## Week 4 (7 - 13 maart) Kobe: - [x] Data generation (zie vorige week) - [x] Algoritme 1 implementeren in C++ Tom: - [x] Vraag: welke mcmc methode gebruiken om posterior te samplen? Wordt een hele reeks $\theta$ in 1 keer gesampled? The paper gebruikt JAGS, wat moeten wij gebruiken? Adaptive-rejection sampling geeft problemen als de parameters niet log-concaaf verdeeld zijn; zijn ze zo verdeeld? - [x] Implement the correct sampler in python Quinten: - [x] Oplossen niet-lineare vergelijking(nog vragen of log=log10 of ln, aanpassen als het om log10 gaat) - [x] Unit tests om te bewijzen dat de juiste distributies gesampled worden - [x] Truncated normal distribution implementeren ## Week 5 (14 - 20 maart) Kobe: - [x] Algoritme 1 in c++ implementeren - [x] C++ code opkuisen en leesbaarder maken - [x] Algoritme 1 in c++ testen Tom: - [x] Visualisatie - [x] Gibbs sampling in python werkende krijgen - [x] Standaard deviatie van verschillende parameters tunen Quinten: - [x] Opzoeken correcte waarden hypothesetesten - [x] Onderzoeken en implementeren Dirichlet verdeling - [x] Uitbreiden unit tests voor nieuwe verdelingen ## Week 6 (21 - 27 maart) Kobe: - [x] Implementatie algoritme 2 in c++ - [x] Visualisatie gegenereerde data - [x] Parallel maken code Tom: - [x] Tunen standaard deviatie voor gibbs samplen - [x] Lage acceptance rate verklaren en proberen te verhogen - [x] Visualisatie afwerken Quinten: - [x] Laatste testen - [x] Testen finetunen - [x] Testen voor Truncated Normal Distribution schrijven ## Week 7 (28 - 30 maart) Iedereen: - [x] Presentatie Kobe: - [x] Readme maken - [x] Laatste finetuning aan algoritme en parameters Tom: - [x] Laatste finetuning aan algoritme en parameters Quinten: - [x] Code opkuisen en leesbaarder maken