Data, Models, and Scripts of Integrated Physiological Model of Virtual Diabetic Patient for Machine Learning Research
Machine Learning (ML) based predictive models of blood glucose forecasting for diabetic patient produce future glucose trend without any physiological explanation. In this research effort, operation research (OR) is adopted by building a constraint-based physiological model of a diabetic patient with exercise dynamics for producing explanation from ML-based forecasting. The proposed constraint-based diabetic model is implemented in MATLAB/Simulink environment and validated with clinical and free-living datasets. Then the model is applied for OR on forecasting of a Feed-Forward Neural Network (FFNN) which is built on continuous glucose monitoring (CGM) profile along with carbohydrate and physical activity data of a type-2 diabetic patient. This material set contains all Simulink model files, MATLAB scripts, the experimental datasets used for building and validating physiological and ML models, and result files.
Steps to reproduce
In this research effort, four (04) fitting experiments are performed to validate the proposed physiological model. The experiments are the fitting on OGTT dataset, clinical exercise dataset, type-2 CGM profile, and type-1 CGM profile. A reference model, the SMEwings model is also fitted on type-1 CGM profile through unconstrained optimization for comparing with the proposed model. The datasets are located in the 'dataset' folder of the 'Common_Resources' folder. The processed form of the dataset suitable for optimization is located in the 'ExperimentalData.xlsx' file. To reproduce the experimental result from the corresponding implementation of the physiological model in the Simulink file, the time series of input-output are needed to be loaded in MATLAB workspace from the 'ExperimentalData.xlsx'. Following are the MATLAB commands for loading time series in the workspace ogttdata=readtable('ExperimentalData.xlsx','Sheet','OGTTDataset'); exercisedata=readtable('ExperimentalData.xlsx','Sheet','ExerciseDataset'); type1data=readtable('ExperimentalData.xlsx','Sheet','Type1CGMDataset'); type2data=readtable('ExperimentalData.xlsx','Sheet','Type2CGMDataset'); After opening the Simulink model files, the corresponding bus set is needed to be loaded in the MATLAB workspace. The bus sets are located in the Common_Resources folder. The Simulink model files are already loaded with the estimated parameters. Hence, the experimental results can be easily produced by running the model files. The signals of the model are logged in the 'Simulation Inspection Tool' with the corresponding target. The FFNN models are built in the live script. The script is self-explanatory regarding the tasks implemented in the file. The CGM profile of 15 days along with diet and activity information is used to train the FFNN model. Rest of the CGM profile is used to validate the model. The forecasting of the FFNN model is then used for OR. The result is located in 'OR_on_ML' folder.