# 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