Skip to content

Commit 5f6799b

Browse files
committed
refactor of t1dmodel + sensor lifetime
1 parent b6029f5 commit 5f6799b

File tree

13 files changed

+2568
-1460
lines changed

13 files changed

+2568
-1460
lines changed

py_replay_bg/identification/map.py

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,19 @@
11
import os
2-
3-
import matplotlib.pyplot as plt
4-
from matplotlib import pylab
5-
6-
7-
import numpy as np
8-
9-
from multiprocessing import Pool
10-
2+
import warnings
113
import pickle
12-
13-
import copy
4+
import numpy as np
145
import pandas as pd
156

16-
from py_replay_bg.data import ReplayBGData
17-
18-
from datetime import datetime, timedelta
19-
7+
from multiprocessing import Pool
208
from tqdm import tqdm
21-
229
from scipy.optimize import minimize
2310

24-
import warnings
11+
from py_replay_bg.data import ReplayBGData
2512

2613
# Suppress all RuntimeWarnings
2714
warnings.filterwarnings("ignore", category=RuntimeWarning)
2815

16+
2917
class MAP:
3018
"""
3119
A class that orchestrates the identification process via MAP.
@@ -40,7 +28,7 @@ def __init__(self, model,
4028
----------
4129
model: Model
4230
An object that represents the physiological model hyperparameters to be used by ReplayBG.
43-
max_iter: int, optional, default : 1000
31+
max_iter: int, optional, default : 100000
4432
Maximum number of iterations.
4533
4634
Returns
@@ -122,7 +110,7 @@ def identify(self, data, rbg_data, rbg):
122110
options['disp'] = False
123111

124112
# Select the function to minimize
125-
neg_log_posterior_func = self.model.neg_log_posterior_single_meal if self.model.is_single_meal else self.model.neg_log_posterior_multi_meal
113+
neg_log_posterior_func = self.model.neg_log_posterior
126114

127115
# Initialize results
128116
results = []
@@ -175,6 +163,7 @@ def identify(self, data, rbg_data, rbg):
175163

176164
return draws
177165

166+
178167
def run_map(start, func, rbg_data, options):
179168
result = minimize(func, start, method='Powell', args=(rbg_data,), options=options)
180169
ret = dict()

py_replay_bg/identification/mcmc.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ def identify(self, data, rbg_data, rbg):
145145
if rbg.environment.parallelize:
146146
pool = Pool(processes=rbg.environment.n_processes)
147147

148-
log_posterior_func = self.model.log_posterior_single_meal if self.model.is_single_meal else self.model.log_posterior_multi_meal
148+
log_posterior_func = self.model.log_posterior
149149
sampler = emcee.EnsembleSampler(self.n_walkers, self.n_dim, log_posterior_func, moves=[(emcee.moves.DEMove(sigma=1.0e-3), 0.2), (emcee.moves.DESnookerMove(gammas=0.1), 0.8)], pool=pool, args=[rbg_data])
150150

151151
# Run the burn-in chain
@@ -189,7 +189,7 @@ def identify(self, data, rbg_data, rbg):
189189
for i in range(0, len(tbs)):
190190

191191
#...check if it is ok. If so...
192-
if self.model.check_copula_extraction(samples[i]):
192+
if self.model.check_extraction(samples[i]):
193193

194194
# ...flag it and fill the final vector
195195
to_be_sampled[tbs[i]] = False

0 commit comments

Comments
 (0)