Title: GlucoSynth: Generating Differentially-Private Synthetic Glucose Traces
Venue: NeurIPS 2023
Accepted: yes
Keywords: Synthetic Data

Time Series

Generative Adversarial Networks

Differential Privacy

Glucose

Diabetes
Abstract: We focus on the problem of generating high-quality, private synthetic glucose traces, a task generalizable to many other time series sources. Existing methods for time series data synthesis, such as those using Generative Adversarial Networks (GANs), are not able to capture the innate characteristics of glucose data and cannot provide any formal privacy guarantees without severely degrading the utility of the synthetic data. In this paper we present GlucoSynth, a novel privacy-preserving GAN framework to generate synthetic glucose traces. The core intuition behind our approach is to conserve relationships amongst motifs (glucose events) within the traces, in addition to temporal dynamics. Our framework incorporates differential privacy mechanisms to provide strong formal privacy guarantees. We provide a comprehensive evaluation on the real-world utility of the data using 1.2 million glucose traces; GlucoSynth outperforms all previous methods in its ability to generate high-quality synthetic glucose traces with strong privacy guarantees.

GlucoSynth: Generating Differentially-Private Synthetic Glucose Traces

Abstract

We focus on the problem of generating high-quality, private synthetic glucose traces, a task generalizable to many other time series sources. Existing methods for time series data synthesis, such as those using Generative Adversarial Networks (GANs), are not able to capture the innate characteristics of glucose data and cannot provide any formal privacy guarantees without severely degrading the utility of the synthetic data. In this paper we present GlucoSynth, a novel privacy-preserving GANframework to generate synthetic glucose traces. The core intuition behind our approach is to conserve relationships amongst motifs (glucose events) within the traces, in addition to temporal dynamics. Our framework incorporates differential privacy mechanisms to provide strong formal privacy guarantees. We provide a comprehensive evaluation on the real-world utility of the data using 1.2 million glucose traces; GlucoSynth outperforms all previous methods in its ability to generate high-quality synthetic glucose traces with strong privacy guarantees.

1 Introduction

The sharing of medical time series data can facilitate therapy development. As a motivating example, sharing glucose traces can contribute to the understanding of diabetes disease mechanisms and the development of artificial insulin delivery systems that improve people with diabetes' quality of life. Unsurprisingly, there are serious legal and privacy concerns (e.g., HIPAA, GDPR) with the sharing of such granular, longitudinal time series data in a medical context [1]. One solution is to generate a set of synthetic traces from the original traces. In this way, the synthetic data may be shared publicly in place of the real ones with significantly reduced privacy and legal concerns.

This paper focuses on the problem of generating high-quality, privacy-preserving synthetic glucose traces, a task which generalizes to other time series sources and application domains, including activity sequences, inpatient events, hormone traces and cyber-physical systems. Specifically, we focus on long (over 200 timesteps), bounded, univariate time series glucose traces. We assume that available data does not have any labels or extra information including features or metadata, which is quite common, especially in diabetes. Continuous Glucose Monitors (CGMs) easily and automatically send glucose measurements taken subcutaneously at fixed intervals (e.g., every 5 minutes) to data storage facilities, but tracking other sources of diabetes-related data is challenging [2]. We characterize the quality of the generated traces based on three criteria- synthetic traces should (1) conserve characteristics of the real data, i.e., glucose dynamics and control-related metrics ( fidelity ); (2) contain representation of diverse types of realistic traces, without the introduction of anomalous patterns that do not occur in real traces ( breadth ); and (3) be usable in place of the original data for real-world use cases ( utility ).

0

48

96

144

192

240

288

Timesteps

100

200

300

400

Glucose (mg/dL)

Sample Glucose Traces

0

12

24

36

48

Timesteps

100

200

300

400

Glucose (mg/dL)

Motif 1: High Peak

0

12

24

36

48

Timesteps

100

200

300

400

Glucose (mg/dL)

Motif 2: Deep Trough

0

12

24

36

48

Timesteps

100

200

300

400

Glucose (mg/dL)

Motif 3: Stable Line

Generative Adversarial Networks (GANs) [3] have shown promise in the generation of time series data. However, previous methods for time series synthesis, e.g., [4, 5, 6], suffer from one or more of the following issues when applied to glucose traces: 1) surprisingly, they do not generate realistic synthetic glucose traces - in particular, they produce human physiologically impossible phenomenon in the traces; 2) they require additional information (features, metadata or labels) to guide the model learning which are not available for our traces; 3) they do not include any privacy guarantees, or, in order to uphold a strong formal privacy guarantee, severely degrade the utility of the synthetic data.

Generating high-quality synthetic glucose traces is a difficult task due to the innate characteristics of glucose data. Glucose traces can be best understood as sequences of events, which we call motifs , shown in Figure 1, and they are more event-driven than many other types of time series. As such, a current glucose value may be more influenced by an event that occurred in the far past compared to values from immediate previous timesteps. For example, a large meal eaten earlier in the day (30-90 minutes ago) may influence a patient's glucose more than the glucose values from the past 15 minutes. As a result, although there is some degree of temporal dependence within the traces, only conserving the immediate temporal relationships amongst values at previous timesteps does not adequately capture the dynamics of this type of data. In particular, we find that the main reason previous methods fail is because they may not sufficiently learn event-related characteristics of glucose traces.

Contributions. We present GlucoSynth , a privacy-preserving GAN framework to generate synthetic glucose traces. The core intuition behind our approach is to conserve relationships amongst motifs (events) within the traces, in addition to the typical temporal dynamics contained within time series. We formalize the concept of motifs and define a notion of motif causality , inspired from Granger causality [7], which characterizes relationships amongst sequences of motifs within time series traces (Section 4). We define a local motif loss to first train a motif causality block that learns the motif causal relationships amongst the sequences of motifs in the real traces. The block outputs a motif causality matrix, that quantifies the causal value of seeing one particular motif after some other motif. Unrealistic motif sequences (such as a peak to an immediate drop in glucose values) will have causal relationships close to 0 in the causality matrix. We build a novel GAN framework that is trained to optimize motif causality within the traces in addition to temporal dynamics and distributional characteristics of the data (Section 5). Explicitly, the generator computes a motif causality matrix from each batch of synthetic data it generates, and compares it with the real causality matrix. As such, as the generator learns to generate synthetic data that yields a realistic causal matrix (thereby identifying appropriate causal relationships from the motifs), it implicitly learns not to generate unrealistic motif sequences. We also integrate differential privacy (DP) [8] into the framework (Section 6), which provides an intuitive bound on how much information may be disclosed about any individual in the dataset, allowing the GlucoSynth model to be trained with privacy guarantees. Finally, in Section 7, we present a comprehensive evaluation using 1.2 million glucose traces from individuals with diabetes collected across 2022, showcasing the suitability of our model to outperform all previous models and generate high-quality synthetic glucose traces with strong privacy guarantees.

2 Related Work

We focus the scope of our comparison on current state-of-the-art methods for synthetic time series which all build upon Generative Adversarial Networks (GANs) [3] and transformation-based approaches [9]. An extended related work is in Appendix A.

07:00

(c) Temporal Motif 1

(d) Temporal Motif 2

07:00

06:00

05:00

04:00

07:00

06:00

05:00

04:00

07:00

06:00

05:00

04:00

06:00

05:00

04:00

08:00

08:00

08:00

08:00

03:00

03:00

03:00

03:00

00:60

02:00

09:00

02:00

09:00

02:00

09:00

02:00

10:00

6

8

01:00

10

00:00

10:00

6

8

01:00

10

00:00

10:00

6

8

01:00

10

00:00

10:00

6

8

01:00

10

00:00

11:00

23:00

11:00

23:00

11:00

23:00

11:00

23:00

12:00

22:00

12:00

22:00

12:00

22:00

12:00

22:00

21:00

21:00

21:00

21:00

13:00

20:00

13:00

20:00

13:00

20:00

13:00

20:00

19:00

19:00

19:00

19:00

14:00

16:00

17:00

18:00

14:00

16:00

17:00

18:00

14:00

16:00

17:00

18:00

14:00

16:00

17:00

18:00

15:00

15:00

15:00

15:00

Time Series. Brophy et al. [10] provides a survey of GANs for time series synthesis. TimeGan [4] is a popular benchmark that jointly learns an embedding space using supervised and adversarial objectives in order to capture the temporal dynamics amongst traces. Esteban et al. [11] develops two time series GAN models (RGAN/RCGAN) with RNN architectures, conditioned on auxiliary information provided at each timestep during training. TTS-GAN [5] trains a GAN model that uses a transformer encoding architecture in order to best preserve temporal dynamics. Transformation-based approaches such as real-valued non-volume preserving transformations (NVP) [9] and Fourier Flows (FF) [12], have also had success for time series data. These methods model the underlying distribution of the real data to transform the input traces into a synthetic data set. Methods that only focus on learning the temporal or distributional dynamics in time series are not sufficient for generating realistic synthetic glucose traces due to the lack of temporal dependence within sequences of glucose motifs.

Differentially-Private GANs. To protect sensitive data, several GAN architectures have been designed to incorporate privacy-preserving noise needed to satisfy differential privacy guarantees [13]. Frigerio et al. [14] extends a simple differentially-private architecture (dpGAN) to time-series data and RDP-CGAN [6] develops a convolutional GAN architecture specifically for medical data. These methods find large gaps in performance between the non-private and private models. Providing strong theoretical DP guarantees using these methods often results in synthetic data with too little fidelity for use in real-world scenarios. Our framework carefully integrates DP into the motif causality block and each network of the GAN, resulting in a better utility-privacy tradeoff than previous methods.

3 Preliminaries

3.1 Motifs

Glucose (and many other) traces can be best understood as sequences of events or motifs . Motifs characterize phenomenon in the traces, such as peaks or troughs. We define a motif , µ , as a short, ordered sequence of values ( v ) of specified length τ , µ = [ v i , v i +1 , . . . , v i + τ ] and σ is a tolerance value to allow approximate matching (within σ for each value). Some examples of glucose traces and motifs are shown in Figure 1. We denote a set of n time series traces as X = [ x 1 , ..., x n ] . Each time series may be represented as a sequence of motifs: x i = [ µ i 1 , µ i 2 ... ] where each i j gives the index of the motif in the set that matches x i j · τ , ...x i ( j +1) · τ -1 . Given the motif length τ , the motif set is the union of all sizeτ chunks in the traces. This definition is chosen for a straightforward implementation but motifs can be generated in other ways, such as through the use of rolling windows or signal processing techniques [16, 17]. Motifs are pulled from the data such that there is always a match from a trace motif to a motif from the set (if multiple matches, the closest one is chosen).

3.2 Glucose Dynamics (Why Standard Approaches Fail)

We first present a study of the characteristics of glucose data in order to motivate the development of our framework. Although there are general patterns in sequences of glucose motifs (e.g., motif patterns corresponding to patients that eat 2x vs. 3x a day), individual glucose motifs are typically not time-dependent, as illustrated in Figure 2. The radial graphs display the temporal distribution of

the first two glucose motifs from Figure 1 and two temporally-dependent motifs from a cardiology dataset [15]. There are 24 radial bars from 00:00 to 23:00 for each hour of the day, and the bar value is the percentage of total motif occurrences at that hour across the entire dataset (i.e., value of 10 would indicate that 10% of the time that motif occurs during that hour). Note that the glucose motifs show up fairly evenly across all hours of the day whereas the motifs from the cardiology dataset have shifts in their distribution and show up frequently at specific hours of the day. The lack of temporal dependence in glucose motifs is likely due to the diverse patient behaviors within a patient population. Glucose in particular is highly variable and influenced by many factors including eating, exercise, stress levels, and sleep patterns. Moreover, due to innate variability within human physiology, motif occurrences can differ even for the same patient across weeks or months. These findings indicate that only conserving the temporal relationships within glucose traces (as many previous methods do) may not be sufficient to properly learn glucose dynamics and output realistic synthetic traces.

3.3 Granger Causality

Granger causality [7] is commonly used to quantify relationships amongst time series without limiting the degree to which temporal relationships may be understood as done in other time series models, e.g., pure autoregressive ones. In this framework, an entire system (set of traces) is studied together , allowing for a broader characterization of their relationships, which may be advantageous, especially for long time series. We define x t ∈ R n as an n -dimensional vector of time series observed across n traces and T timesteps. To study causality, a vector autoregressive model (V AR) [18] may be used. A set of traces at time t is represented as a linear combination of the previous K lags in the series: x t = ∑ K k =1 A ( k ) x t -k + e t where each A ( k ) is a n × n dimensional matrix that describes how lag k affects the future timepoints in the series' and e t is a zero mean noise. Given this framework, we state that time series q does not Granger-cause time series p , if and only if for all k , A ( k ) p,q = 0 . To better represent nonlinear dynamics amongst traces, a nonlinear autoregressive model (NAR) [19], g , may be defined, in which x t = g ( x 1 <t , ..., x n <t ) + e t where x p <t = ( x p 1 ..., x p t -1 , x p t ) describes the past of series p . The NAR nonlinear functions are commonly modeled jointly using neural networks.

4 Motif Causality

Using Granger causality as defined would overwhelm the generator with too much information, resulting in convergence issues for the GAN. Instead of looking at traces comprehensively, we need a way to scope how the generator understands relationships between time series. To this end, we aim to use the same intuition developed from Granger causality, namely developing an understanding of relationships comprehensively using less stringent temporal constraints, but scope these relationships specifically in terms of motifs . Therefore, we develop a concept of motif causality which, by learning causal relationships amongst sequences of motifs, allows the generator to learn realistic motif sequences and produce high quality synthetic traces as a result.

4.1 Extending Granger Causality to Motifs

In order to quantify the relationships amongst sequences of motifs to best capture glucose dynamics, we extend the idea of Granger causality to work with motifs. Given a motif set with m motifs, we build a separate (component) model, called a motif network in our method, for each motif, resulting in m motif networks. For a single motif µ i at time t , µ i t , we define a function g i specifying how motifs in previous timesteps are mapped to that motif: µ i t = g i ( µ 1 <t , ..., µ m <t ) + e i t where µ j <t = ( µ j 1 ..., µ j t -1 , µ j t ) describes the past of motif µ j . The output of g i is a vector, which is added to the noise vector e i t . Essentially, we define motif µ i in terms of its relationship to past motifs. The g i function takes in some mapping that describes how motifs in previous timesteps are mapped to the current motif µ i t . The mapping is not specified in this notation, and could be defined in many different ways. In our case, we instantiate g i using a single-layer LSTM, described next.

A g i function for each motif µ i in the motif set is modeled using a motif network with a singlelayer RNN architecture. For a RNN predicting a single component motif, let h t ∈ R m represent the m -dimensional hidden state at time t . This represents the historical context of the motifs in the series for predicting a component motif at time t , µ i t . At time t , the hidden state is updated: h t = g i ( h t -1 ) + e i t . g i here is the function describing how motifs in previous timesteps are mapped

MotifNetworks0

b

wo

Matrix0

MotifNet0

Stack

DataPartition0

Weights

3

x

MotifNetm

wo

Aggregate

RealGlucoseTraces

SetB

Matrix1

Matrices

CausalityMatrix

Aggregate

DataPartition1

MotifNetworks1

Matrixr

DataPartitionr

MotifNetworksr

to the current motif, and is modeled (instantiated) as a single-layer LSTM as they are good at modeling long, nonlinear dependencies amongst traces [20]. The output for a motif µ i at time t , µ i t can be obtained by a linear decoding of the hidden state, µ i t = W o h t + e i t , where W o is a matrix of the output weights. These weights control the update of the hidden state and thereby control the influence of past motifs on this component motif. Essentially, this function learns a weighting that quantifies how helpful motifs in previous timesteps are for predicting the specified motif µ i at time t . We note that we define causality in this way based on how Granger causality models such relationships, which is different from traditional causality models.

If all elements in the j th column of W o are zero ( W o : j = 0 ), this is a sufficient condition for an input motif µ j being motif non-causal on an output µ i . Therefore, we can find the motifs that are motif-causal for motif µ i using a group lasso penalty optimization across the columns of W o :

We define this as the local motif loss , L ml , which is optimized in each motif network using proximal gradient descent.

4.2 Training the Motif Causality Block

We next describe how the motif causality block is trained to learn motif causal relationships amongst traces, displayed in Figure 3. The block is structured in this way to accommodate the privacy integration (Section 6.2); here, we present its implementation without any privacy noise.

Partition data. First, the data is partitioned into r partitions (Step 1, Figure 3) such that no models are trained on overlapping data. The number of partitions, r , is a user-specified hyperparameter.

Build motif network for each motif. Next, within each data partition a set of motif networks is trained. As a pre-processing step, we assume each trace has been chunked into a sequence of motifs of size τ (Section 3.1). τ is a hyperparameter, which we suggest chosen based on the longest effect time of a trace event. We use τ = 48 , corresponding to 4 hours of time, because large glucose events (from behaviors like eating) are encompassed within that time frame; see Appendix B for more details. We assume a tolerance of σ = 2 mg/dL, chosen to allow for reasonable variations in glucose. To model motif causality for an entire set of data, a g i function is implemented for each motif via a separate RNN motif net following the description provided previously, resulting in m total networks (Step 2a, Figure 3). If all the motifs were trained together using a single motif network, it would not be possible to quantify the exact causal effects between each individual motif as we would not know which exact motifs contributed to a prediction (only that there is some combination of unknown motifs that contribute to an accurate prediction for a particular motif). By training each motif network separately, we are able to quantify the exact effect each motif has on each other, without any confounding effects from other motifs.

Combine outputs of individual motif networks. Each motif network outputs a vector of weights W o of dimensionality 1 × m , corresponding to the learned causal relationships (Step 2b, Figure 3). Values in the vector are between 0 (no causal relationship) and 1 (strongest causal relationship) and

MotifCausality

Generator

Discriminator

GuessesFake

x

x

Aggregate

Real

Fake

CausalityMatrix

Generator_e

Real Glucose Traces

Discriminator

Guesses Real

SetB

xe

MotifNets

Real

Fake

KKK

x

xe

x

Real GlucoseTraces

Embedder

Recovery

x:Synthetic Traces

SetA

Autoencoder

give the degree to which every other motif is motif causal of the particular motif µ i the RNN was specialized for. To return a complete matrix that summarizes causal relationships amongst all motifs, we stack the weights (Step 2c). The output of each data partition is a complete motif causality matrix, resulting in r total matrices, each of dimensionality m × m .

Aggregate matrices and integrate with GAN. After motif causality matrices have been outputted from each data partition, the weights in the matrices are aggregated (Step 3, Figure 3) to return the final aggregate causality matrix, M (Step 4). In the nonprivate version, the weights are averaged. Finally, M is sent to the generator to help it learn how to conserve motif relationships within sequences of motifs in the synthetically generated data. Details are described next in the subsequent section.

5 GlucoSynth

The complete GlucoSynth framework, shown in Figure 4, comprises four key blocks: the motif causality block (explained previously in Section 4), an autoencoder, a generator and a discriminator. We walk through the remaining components of the framework surrounding the GAN next.

5.1 GAN Architecture Components

Autencoder. We use an autoencoder (AE) with an RNN architecture to learn a lower dimensional representation of the traces, allowing the generator to better preserve underlying temporal dynamics of the traces. The autoencoder consists of two networks: an embedder and a recovery network . The embedder uses an encoding function to map the real data into a lower dimensional space: Enc ( x ) : x ∈ R n → x e ∈ R e while the recovery network reverses this process, mapping the embedded data back to the original dimensional space: Dec ( x e ) : x e ∈ R e → ˜ x ∈ R n . A foolproof autoencoder perfectly reconstructs the original input data, such that x = ˜ x ≡ Dec ( Enc ( x )) . This process yields the Reconstruction Loss, L R , the Mean Square Error (MSE) between the original data x and the recovered data, ˜ x : MSE ( x, ˜ x ) .

Generator. We implement the generator via an RNN or LSTM. Importantly, the generator works in the embedded space, by receiving the input traces passed through the embedder ( x e ). To generate synthetic data, a random vector of noise, z is passed through the generator and then the recovery network to return the synthetic traces in the original dimensional space. To learn how to produce high-quality synthetic data, the generator receives three key pieces of information:

1 - Stepwise. The generator receives batches of real data to guide the generation of realistic next step vectors. To do this, a Stepwise Loss, L S , is computed at time t using the MSE between the batch of embedded real data, x et , and the batch of embedded synthetic data, ˆ x et : MSE ( x et , ˆ x et ) . This allows the generator to compare (and learn to correct) the discrepancies in stepwise data distributions.

2 - Motif Causality. The generator needs to preserve sequences of motifs in addition to temporal dynamics. Using the aggregate causality matrix M returned from the Motif Causality Block, the generator computes a motif causality matrix, M ˆ x , on the set of synthetic data ˆ x . Because the original

causality matrix was not trained on data in the embedded space, we first run the set of embedded synthetic data through the recovery network ˆ x e → ˆ x . From there, the Motif Causality Loss, L M , is computed as the MSE error between the two matrices: MSE ( M,M ˆ x ) . These matrices give a causal value of seeing a motif µ i in the future after some motif µ j -unrealistic motif sequences will have causal values close to 0. As the generator learns to generate synthetic data that yields a realistic causal matrix (thereby identifying appropriate causal relationships from the motifs), it implicitly learns to not generate unrealistic motif sequences.

3 - Distributional. To guide the generator to produce a diverse set of traces, the generator computes a Distributional Loss, L D , the moments loss (MML), between the overall distribution of the real data x e and the distribution of the synthetic data ˆ x e : MML ( x e , ˆ x e ) . The MML is the difference in the mean and variance of two matrices.

Discriminator. The discriminator is a traditional discriminator model using an RNN, the only change being it also works in the embedded space. The discriminator yields the Adversarial Loss Real, L Ar , the Binary Cross Entropy (BCE) between the discriminator guesses on the real data y x e and the ground truth y , a vector of 0's, BCE ( y x e , y ) and the Adversarial Loss Fake, L Af , the BCE between the discriminator guesses on the fake data y ˆ x e and the ground truth y , a vector of 1's, BCE ( y ˆ x e , y ) .

5.2 Training Procedure

First, the motif causality block is trained following the procedure described in Section 4.2, and then the rest of the GAN is trained. The autoencoder is optimized to minimize L R + α L S , where α is a hyperparameter that balances the two loss functions. If the AE only receives L R (as is typically done), it becomes overspecialized, i.e., it becomes too good at learning the best lower dimensional representation of the data such that the embedded data are no longer helpful to the generator. For this reason, the AE also receives L S , enabling the dual training of the generator and embedder. The generator is optimized using min(1 -L Af ) + η ( L S + L D ) + L M , where η is a hyperparameter that balances the effect of the stepwise and distributional loss. Finally the discriminator is optimized using the traditional adversarial feedback min L Af + L Ar . The networks are trained in sequence (within each epoch) in the following order: autoencoder, generator, then discriminator. In our experiments we set α = 0 . 1 and η = 10 as they enable GlucoSynth to converge fastest, i.e., in the fewest epochs.

6 Providing Differential Privacy

There are two components to our privacy architecture, described in the following two subsections: (1) each network in the GAN (Embedder, Recovery, Generator and Discriminator networks) is trained in a differentially private manner using the Differentially-Private Stochastic Gradient Descent (DP-SGD) algorithm from Abadi et al. [21]; and (2) the motif causality block is trained using the PATE framework from Papernot et al. [22]. Importantly, two completely separate datasets are used for the training of the motif causality block (dataset B in Figure 4) and the GAN (dataset A in Figure 4). We structure the privacy integration in this way to allow for better privacy-utility trade-offs. Our design satisfies the formal differential privacy notion introduced by Dwork et al. [23]. Differential Privacy (DP) provides an intuitive bound on the amount of information that can be learned about any individual in a dataset. A randomized algorithm M satisfies ( ϵ, δ ) -differential privacy if, for all datasets D 1 and D 2 differing by at most a single unit, and all S ⊆ Range( M ), Pr [ M ( D 1 ) ∈ S ] ≤ e ϵ Pr [ M ( D 2 ) ∈ S ] + δ . The parameters ϵ and δ determine the privacy loss budget , which provide a way to tradeoff privacy and utility; smaller values have stronger privacy. Importantly, privacy is provisioned at the trace level, and we assume each individual has only one trace in the dataset.

6.1 Training the GAN Networks with DP

To add privacy to the GAN components, each of the networks (Embedder, Recovery, Generator and Discriminator) is trained in a differentially private manner using DP-SGD [21]. Although the overall GAN framework is complicated, the individual networks all use simple RNN or LSTM architectures with Adam optimizers. As such, adding DP noise to their network weights is straightforward. We employ the following procedure using Tensorflow Privacy functions [24]. Since there are four

networks being trained with DP, we divide the privacy loss budget evenly to get the budget per network, ϵ net = ϵ/ 4 . Then, we use Tensorflow's built-in DP accountant to determine how much noise must be added to the weights of each network based on the number of epochs, batch size, number of traces and ϵ net . This function returns a noise multiplier, which we use when we instantiate a Tensorflow DP Keras Adam Optimizer for each network. Finally, we train each of the networks using their respective DP Keras Adam Optimizer, which automatically trains the network using DP-SGD.

6.2 Training the Motif Causality Block with DP

We train the motif causality block using the PATE framework [22]. PATE provides a way to return aggregated votes about the class a data point belongs to. First, the data is partitioned into r partitions, where r is determined based on the size of the dataset and the privacy loss budget. Then, a class membership model is trained independently for each partition. The class membership votes from each partition are aggregated by adding noise to the vote matrix and the noisiest votes are returned using the max-of-Laplacian mechanism (LNMax), tuned based on the privacy budget and r .

We use PATE to train the motif causality block: instead of predicting the degree of class membership we predict causal membership, e.g., does motif µ i have a causal relationship to µ j . The motif causality block is trained in the same procedure described in Section 4.2 with two changes: (1) the number of data partitions, r , is determined based on the privacy budget, instead of a user-specified value; (2) the final causality matrix M is aggregated using DP across the partitions. In normal PATE, carefully calibrated noise is added to a matrix of votes for each class, such that the classes with the noisiest votes are outputted. In our use, each value in a motif causality matrix may be likened to a class (i.e., causal 'class" prediction between motif µ i and µ j ). Thus, we use the LNMax mechanism (from predefined Tensorflow Privacy functions [24]) to aggregate the matrices weights and return M .

We use PATE instead of training each motif network using DP-SGD for better privacy-utility tradeoffs. With DP-SGD, we would need to add noise to every motif net, eating up our privacy budget quickly and severely impacting the quality of the returned casuality matrices. PATE allows us to train each of the motif networks without any noise on the gradients, but then aggregates their returned causality matrices in a privacy-preserving manner, resulting in a better privacy-utility trade-off.

7 Evaluation

Evaluating synthetic data is notoriously difficult [25], so we provide an extensive evaluation across three criteria. Synthetic data should: 1) conserve characteristics of the real data ( fidelity , Section 7.1); 2) contain diverse patterns from the real data without the introduction of anomalous patterns ( breadth , Section 7.2); and 3) be usable in place of the original for real-world use cases ( utility , Section 7.3).

Data and Benchmarks. We use 100,000 single-day glucose traces randomly sampled across each month from January to December 2022, for a total of 1.2 million traces, collected from Dexcom's G6 Continuous Glucose Monitors (CGMs) [26]. Data was recorded every 5 minutes ( T = 288 ) and each trace was aligned temporally from 00:00 to 23:59. We restrict our comparison to the five most closely related state-of-the-art models for generating synthetic univariate time series with no labels or auxiliary data: Three nonprivate-TimeGAN [4], Fourier Flows (FF) [12], non-volume preserving transformations (NVP) [9]; and two private-RGAN [11] and dpGAN [14]. We refer the reader to Appendix B for additional experimental details and all hyperparameter settings, including reasoning behind the choice of motif size τ = 48 .

7.1 Fidelity

Visualization. We provide visualizations of sample real and synthetic glucose traces from all models. Although this is not a comprehensive way to evaluate trace quality, it does give a snapshot view about what synthetic traces may look like. We provide heatmap visualizations, where each heatmap contains 100 randomly sampled glucose traces. Each row is a single trace from timestep 0 to 288. The values in each row indicate the glucose value (between 40 mg/dL and 400 mg/dL). Figure 5 shows the nonprivate models, and Figures 8, 9, 10 in Appendix C.1 show the private models with different privacy budgets. Upon examinging the heatmaps, we notice that GlucoSynth consistently generates realistic looking glucose traces, even at very small privacy budgets.

Real

GlucoSynth

TimeGAN

FF

NPV

400

-350

-300

Individual

-250

-200

150

100

0

50

120

16

204

2

288

08

3

120

148

176

204

232

288

3

120

13

176

204

232

260

288

120

148

176

204

232

260

288

120

148

176

00

288

Time

Time

Time

Time

Time

Population Statistics. To evaluate fidelity on a population scale, we compute a common set of glucose metrics and test if the difference between the synthetic and real data is statistically significant. Table 1 provides an abbreviated summary of the results; Appendix C.2 has complete results. GlucoSynth performs the best, with few statistical differences between the real and synthetic data for ϵ ≥ 0 . 1 .

Distributional Comparisons. We visualize differences in distributions between the real and synthetic data by plotting the distribution of variances and using PCA [27]. Figure 6 shows the variance distribution for the nonprivate models. Additional comparisons across privacy budgets are available in Appendix C.3. In both nonprivate and private settings, GlucoSynth produces synthetic distributions closest to the real ones, better than all other models.

7.2 Breadth

We quantify breadth in terms of glucose motifs. For each model's synthetic traces, we build a motif set (see Section 3.1). Given a real motif set from the validation traces S x , for each synthetic motif set S ˆ x , we compute 'Validation Motifs", (VM), the fraction of motifs found in the validation motif set that are present in the synthetic motif set, VM / | S ˆ x | . This metric quantifies how good our synthetic motif set is (e.g., are its motifs mostly similar to motifs found in real traces). We also compute metrics related to coverage , the fraction of motifs in the validation motif set that are found in our synthetic data, defined as VM / | S x | . This gives a sense of the breadth in a more traditional manner. To compare actual distributions of motifs (not just counts), we compute the MSE between the distribution of real motifs S x and the distribution of synthetic motifs S ˆ x . This gives a measure about how close the synthetic motif distribution is to the real one. We want high VM and coverage, and low MSE. Results are in Table 1 with additional analysis in Appendix D; overall our model provides the best breadth.

7.3 Utility

We evaluate our synthetic glucose traces for use in a glucose forecasting task using the common paradigm TSTR (Train on Synthetic, Test on Real), in which the synthetic data is used to train the model and then tested on the real validation data. We train an LSTM network optimized for glucose forecasting tasks [28] and report the Root Mean Square Error (RMSE) in Table 1. We run the experiment 10 times and train the LSTM for 10,000 epochs. We have also tested with other models including RNNs, attention-based models and other LSTM architectures (such as bidirectional LSTMs) but show the results for the best performing model, the LSTM optimized for glucose forecasting. Since RMSE provides a limited view about the model's predictions, we also plot the Clarke Error Grid [29], which visualizes the differences between a predictive and reference measurement, and is a basis for evaluating the safety of diabetes-related medical devices. More details are in Appendix E. GlucoSynth provides the best forecasting results compared to all other models across all privacy budgets.

Fidelity (metric, p-val)

Breadth

Utility

Model

ϵ

Time-in-Range

VM

Coverage

MSE

RMSE

GlucoSynth

0

.

01

2576, <

1

e

-

5

61.8,

2

e

-

5

1.000

0.010

99.0

0

.

038

±

3e

-

4

0

.

1

2809, 0.356

60.1, 0.532

1.000

0.083

11.2

0

.

036

±

3e

-

4

1

2761, 0.022

60.6, 0.410

0.992

0.145

6.7

0

.

030

±

1e

-

4

10

2801, 0.316

60.2, 0.845

1.000

0.167

5.0

0

.

029

±

1e

-

4

∞

2812, 0.503

60.2, 0.682

0.987

0.534

1.6

7e

-

3

±

2e

-

4

TimeGAN

∞

2235,

8

e

-

3

62.3, 0.420

0.625

6

e

-

3

107.7

0

.

061

±

3

e

-

4

FF

∞

2836, 0.902

46.6, <

1

e

-

5

0.642

0.405

2.0

0

.

038

±

3

e

-

4

NVP

∞

1789, <

1

e

-

5

65.5, <

1

e

-

5

0.482

0.328

1.9

0

.

029

±

3

e

-

5

RGAN

0

.

01

57, <

1

e

-

5

78.8, <

1

e

-

5

0.013

1

e

-

3

108.6

0

.

819

±

0

.

010

0

.

1

53, <

1

e

-

5

71.6,

3

e

-

5

0.015

0.031

107.3

0

.

688

±

6

e

-

3

1

67, <

1

e

-

5

78.2, <

1

e

-

5

0.015

0.033

103.3

0

.

651

±

0

.

018

10

77, <

1

e

-

5

83.7, <

1

e

-

5

0.017

0.053

100.3

0

.

619

±

0

.

016

∞

90, <

1

e

-

5

78.0, <

1

e

-

5

0.026

0.091

79.6

0

.

460

±

0

.

013

dpGAN

0

.

01

451, <

1

e

-

5

95.3, <

1

e

-

5

0.094

0.054

180.1

0

.

205

±

5

e

-

3

0

.

1

1057, <

1

e

-

5

86.4, <

1

e

-

5

0.390

0.195

28.9

0

.

045

±

2

e

-

4

1

875, <

1

e

-

5

86.6, <

1

e

-

5

0.480

0.239

23.2

0

.

030

±

2

e

-

5

10

1030, <

1

e

-

5

88.1, <

1

e

-

5

0.743

0.251

16.1

0

.

035

±

8

e

-

5

∞

1121, <

1

e

-

5

81.8, <

1

e

-

5

0.855

0.293

10.9

0

.

028

±

5

e

-

5

(a) GlucoSynth

(b) TimeGAN

(c) FF

(d) NPV

0.0006

0.0006

DistributionValue

Real

DistributionValue

Real

0.0004

Synthetic

0.0004

Synthetic

0.0002

0.0002

0.0000

0.0000

0

5000

10000

15000

20000

0

5000

10000

15000

20000

0.0006

0.0006

DistributionValue

Real

Distribution Value

Real

0.0004

Synthetic

0.0004

Synthetic

0.0002

0.0002

0.0000

0.0000

0

5000

10000

15000

20000

0

5000

10000

15000

20000

8 Limitations & Conclusion

Limitations. In order to train on a huge set of glucose traces, we used a private dataset, not publicly available (one of the motivations for this project was actually to share a synthetic version of these traces). That being said, smaller samples of glucose traces with similar patient populations are available at OpenHumans [30] and T1D Exchange Registry [31]. In addition, one of the reasons our privacy results perform well is because we use two separate datasets for the training of the motif causality block and the GAN. However, this may be a limiting factor for others that do not have a large enough set of traces available to be able to train adequately on partitioned data.

Conclusion. In this paper we have presented GlucoSynth, a novel GAN framework with integrated differential privacy to generate synthetic glucose traces. GlucoSynth conserves motif relationships within the traces, in addition to the typical temporal dynamics contained within time series. We presented a comprehensive evaluation using 1.2 million glucose traces wherein our model outperformed all previous models across three criteria of fidelity, breadth and utility.

Acknowledgments and Disclosure of Funding

This work was supported in part by the U.S. National Science Foundation under Grant CCF-1942836, CNS-2213700, CNS-2220433, OAC-2319988 and by a Graduate Research Fellowship under Grant No. 1842490. This work was also supported by a Dexcom Graduate Fellowship.

References

Katherine E Britton and Jennifer D Britton-Colonnese. Privacy and security issues surrounding the protection of data generated by continuous glucose monitors. Journal of Diabetes Science and Technology , 11(2):216-219, 2017.

Deborah Young-Hyman, Mary De Groot, Felicia Hill-Briggs, Jeffrey S Gonzalez, Korey Hood, and Mark Peyrot. Psychosocial care for people with diabetes: a position statement of the American Diabetes Association. Diabetes Care , 39(12):2126-2140, 2016.

Ian Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio. Generative adversarial networks. Communications of the ACM , 63(11):139-144, 2020.

Jinsung Yoon, Daniel Jarrett, and Mihaela Van der Schaar. Time-series generative adversarial networks. In Advances in Neural Information Processing Systems , 2019.

Xiaomin Li, Vangelis Metsis, Huangyingrui Wang, and Anne Hee Hiong Ngu. TTS-GAN: A Transformer-based Time-Series Generative Adversarial Network. In Martin Michalowski, Syed Sibte Raza Abidi, and Samina Abidi, editors, Artificial Intelligence in Medicine , pages 133-143, Cham, 2022. Springer International Publishing.

Amirsina Torfi, Edward A Fox, and Chandan K Reddy. Differentially private synthetic medical data generation using convolutional GANs. Information Sciences , 586:485-500, 2022.

Clive WJ Granger. Investigating causal relations by econometric models and cross-spectral methods. Econometrica: journal of the Econometric Society , pages 424-438, 1969.

Cynthia Dwork. Differential privacy: A survey of results. In International Conference on Theory and Applications of Models of Computation . Springer, 2008.

Laurent Dinh, Jascha Sohl-Dickstein, and Samy Bengio. Density estimation using real NVP. arXiv preprint arXiv:1605.08803 , 2016.

Eoin Brophy, Zhengwei Wang, Qi She, and Tomas Ward. Generative adversarial networks in time series: A survey and taxonomy. arXiv preprint arXiv:2107.11098 , 2021.

Cristóbal Esteban, Stephanie L Hyland, and Gunnar Rätsch. Real-valued (medical) time series generation with recurrent conditional GANs. arXiv preprint arXiv:1706.02633 , 2017.

Ahmed Alaa, Alex James Chan, and Mihaela van der Schaar. Generative time-series modeling with fourier flows. In International Conference on Learning Representations , 2021.

Liyang Xie, Kaixiang Lin, Shu Wang, Fei Wang, and Jiayu Zhou. Differentially private generative adversarial network. arXiv preprint arXiv:1802.06739 , 2018.

Lorenzo Frigerio, Anderson Santana de Oliveira, Laurent Gomez, and Patrick Duverger. Differentially private Generative Adversarial Networks for time series, continuous, and discrete open data. In IFIP International Conference on ICT Systems Security and Privacy Protection , 2019.

Cynthia Binanay, Robert M Califf, Vic Hasselblad, Christopher M O'Connor, Monica R Shah, George Sopko, Lynne W Stevenson, Gary S Francis, Carl V Leier, Leslie W Miller, et al. Evaluation study of congestive heart failure and pulmonary artery catheterization effectiveness: the ESCAPE trial. JAMA , 294(13):1625-1633, 2005.

George EP Box, Gwilym M Jenkins, Gregory C Reinsel, and Greta M Ljung. Time series analysis: forecasting and control . John Wiley & Sons, 2015.

Lexiang Ye and Eamonn Keogh. Time series shapelets: a new primitive for data mining. In ACM SIGKDD International Conference on Knowledge Discovery and Data Mining , 2009.

Helmut Lütkepohl. New introduction to multiple time series analysis . Springer Science & Business Media, 2005.

Stephen A Billings. Nonlinear system identification: NARMAX methods in the time, frequency, and spatio-temporal domains . John Wiley & Sons, 2013.

Yong Yu, Xiaosheng Si, Changhua Hu, and Jianxun Zhang. A review of Recurrent Neural Networks: LSTM cells and network architectures. Neural computation , 31(7):1235-1270, 2019.

Martin Abadi, Andy Chu, Ian Goodfellow, H Brendan McMahan, Ilya Mironov, Kunal Talwar, and Li Zhang. Deep learning with differential privacy. In ACM SIGSAC Conference on Computer and Communications Security , 2016.

Nicolas Papernot, Shuang Song, Ilya Mironov, Ananth Raghunathan, Kunal Talwar, and Úlfar Erlingsson. Scalable private learning with PATE. arXiv preprint arXiv:1802.08908 , 2018.

Cynthia Dwork, Frank McSherry, Kobbi Nissim, and Adam Smith. Calibrating noise to sensitivity in private data analysis. In Theory of Cryptography Conference , 2006.

Martín Abadi et al. TensorFlow: Large-scale machine learning on heterogeneous systems. https://www.tensorflow.org/ , 2015.

Ali Borji. Pros and cons of GAN evaluation measures: New developments. Computer Vision and Image Understanding , 215:103329, 2022.

Halis Kaan Akturk, Robert Dowd, Kaushik Shankar, and Mark Derdzinski. Real-world evidence and glycemic improvement using Dexcom G6 features. Diabetes Technology & Therapeutics , 23(S1):S-21, 2021.

Fred B Bryant and Paul R Yarnold. Principal-components analysis and exploratory and confirmatory factor analysis. American Psychological Association , 1995.

Taisa Kushner, Marc D Breton, and Sriram Sankaranarayanan. Multi-hour blood glucose prediction in Type 1 diabetes: A patient-specific approach using shallow neural network models. Diabetes Technology & Therapeutics , 22(12):883-891, 2020.

William L Clarke. The original Clarke error grid analysis (EGA). Diabetes technology & therapeutics , 7(5):776-779, 2005.

Open humans. https://www.openhumans.org/ , 2023.

T1D Exchange Registry. https://t1dexchange.org/registry/ , 2023.

Juan Miguel Lopez Alcaraz and Nils Strodthoff. Diffusion-based time series imputation and forecasting with structured state space models. arXiv preprint arXiv:2208.09399 , 2022.

Hao Ni, Lukasz Szpruch, Magnus Wiese, Shujian Liao, and Baoren Xiao. Conditional SigWasserstein GANs for time series generation. arXiv preprint arXiv:2006.05421 , 2020.

Zinan Lin, Alankar Jain, Chen Wang, Giulia Fanti, and Vyas Sekar. Using GANs for sharing networked time series data: Challenges, initial promise, and open questions. In ACM Internet Measurement Conference , 2020.

Mihai Dogariu, Liviu-Daniel ¸ Stefan, Bogdan Andrei Boteanu, Claudiu Lamba, Bomi Kim, and Bogdan Ionescu. Generation of realistic synthetic financial time-series. ACM Transactions on Multimedia Computing, Communications, and Applications , 18(4):1-27, 2022.

Mina Razghandi, Hao Zhou, Melike Erol-Kantarci, and Damla Turgut. Variational autoencoder generative adversarial network for synthetic data generation in smart home. arXiv preprint arXiv:2201.07387 , 2022.

Debapriya Hazra and Yung-Cheol Byun. SynSigGAN: Generative Adversarial Networks for synthetic biomedical signal generation. Biology , 9(12):441, 2020.

James Jordon, Jinsung Yoon, and Mihaela Van Der Schaar. PATE-GAN: Generating synthetic data with differential privacy guarantees. In International Conference on Learning Representations , 2018.

A Extended Related Work

We overview related work in three lines of research: time series, conditional time series, and time series methods that employ differential privacy. Table 2 summarizes previous time series synthesis methods. We note that there have been exciting developments for adjacent research tasks (data augmentation, forecasting) such as diffusion models [32], but there are not yet any publicly available models specifically for the generation of complete synthetic time series datasets. As such, we focus the scope of our comparison on the current state-of-the-art methods for synthetic time series which all build upon Generative Adversarial Networks (GANs) [3] and transformation-based approaches [9]. In particular TimeGAN [4], RGAN [11] and dpGAN [14] are most similar to ours and used as benchmarks in the evaluation in Section 7.

Time Series. There have been promising models to generate synthetic time series across a variety of domains such as financial data [35], cyber-physical systems (e.g., smart homes [36]), and medical signals [37]. Brophy et al. [10] provides a survey of GANs for time series synthesis. TimeGan [4] is a popular benchmark that jointly learns an embedding space using supervised and adversarial objectives in order to capture the temporal dynamics amongst traces. TTS-GAN [5], trains a GAN model that uses a transformer encoding architecture in order to best preserve temporal dynamics. Transformation-based approaches have also had success for time series data. Real-valued nonvolume preserving transformations (NVP) [9] model the underlying distribution of the real data using generative probabilistic modeling and use this model to output a set of synthetic data. Similarly, Fourier Flows (FF) [12] transform input traces into the frequency domain and output a set of synthetic data from the learned spectral representation of the original data. Methods that only focus on learning the temporal or distributional dynamics in time series are not sufficient for generating realistic synthetic glucose traces due to the lack of temporal dependence within sequences of glucose motifs.

Conditional Time Series. Many works have developed time series models that supplement their training using extra features or conditional data. Esteban et al. [11] develops two GAN models (RGAN/RCGAN) with RNN architectures, conditioned on auxiliary information provided at each timestep during training. SigCWGAN [33] uses a mathematical conditional metric ( Sig -W 1 ) characterizing the signature of a path to capture temporal dependence of joint probability distributions in long time series data. However, our glucose traces do not have any additional information available so these methods cannot be used 1 .

Differentially-Private GANs. To protect sensitive data, several GAN architectures (DP GANs) have been designed to incorporate privacy-preserving noise needed to satisfy differential privacy guarantees [13]. Although DP GANs such as PateGAN [38] have had great success for other data types and learning tasks (e.g., tabular data, supervised classification tasks), results have been less satisfactory in DP GANs developed for time series.

RGAN/RCGAN [11] also includes a DP implementation, but the authors find large gaps in performance between the nonprivate and private models. Frigerio et al. [14] extends a simple DP GAN architecture (denoted dpGAN) to to time-series data. The synthetic data from their private model

conserves the distribution of the real data but loses some of the variability (diversity) from the original samples. RDP-CGAN [6] develops a convolutional GAN architecture that uses Rényi differential privacy specifically for medical data. Across different datasets, they find that reasonable privacy budgets result in major drops in the performance of the synthetic data. Finally, DoppelGANger [34] develops a temporal GAN framework for time series with metadata and perform an in-depth privacy evaluation. Notably, they find that providing strong theoretical DP guarantees results in destroying the fidelity of the synthetic data, beyond anything feasible for use in real-world scenarios. Each of these methods touches on the innate challenge of generating DP synthetic time series due to very high tradeoffs between utility and privacy. Our DP framework uses two different methods to integrate privacy into our GAN architecture, resulting in a better utility-privacy trade-off than previous methods.

B Additional Experimental Details

Note on Data Use. As explained in the approach (Section 5), our model uses two separate datasets for the training of the motif causality block and the rest of the GAN. As such, we used two different samples of glucose traces with no overlap between patients for the training of each section (meaning we actually used a total of 2.4 million traces across the entire model). We also note that we have received the proper ethical and legal consent from the individuals to use their data in this way (and for this purpose).

Hyperparameters. Our experiments were completed in the Google Cloud platform on an Intel Skylake 96-core cpu with 360 GB of memory. We use a separate validation dataset (not the set of original training traces) for all experimental results. Throughout all our experiments we use GlucoSynth model parameters of α = 0 . 1 and η = 10 and a motif tolerance of σ = 2 mg/dL and motif length τ = 48 . Motif length of 48 timesteps is equivalent to 4 hours of time and represents a clinically significant threshold. This threshold was chosen because the effect of any behaviors on glucose occur within 4 hours of the event (e.g., the effect from eating a meal - a rise in glucose - will occur within 4 hours after eating.) We note that other choices for τ could be used, based on what types of phenomenon the users wish to replicate; for example, to capture day/night glucose rhythm effects, we suggest a τ of 144, corresponding to 12 hours of time.

We vary ϵ in our privacy experiments, but keep δ the same at 5 e -4 . Importantly, in order to meet our privacy guarantees, we assume that privacy is provisioned at the trace level and each individual has only one trace in the dataset. The motif set is derived separately from the training data (either from a public dataset or generated based on knowledge about the underlying data, e.g., the possible glucose motif combinations), so as not to effect the differential privacy guarantees or use up any privacy budget. In our case, we assume the motif set is all-encompassing and generated from the universe of possible motifs, resulting in m = 5 , 977 , 610 total motifs in the motif set.

Benchmark Details. TimeGAN [4] is implemented from www.github.com/jsyoon0823/ TimeGAN ; Fourier Flows (FF) [12] are implemented from www.github.com/ahmedmalaa/ Fourier-flows ; RGAN [11] is implemented from www.github.com/ratschlab/RGAN ; and DPGAN [14] is adapted from www.github.com/SAP-samples/security-researchdifferentially-private-generative-models . All the benchmarks were trained according to

their suggested parameters, with most models trained for 10,000 epochs. We note that we trained for more than the suggested epochs (50,000 instead of 10,000) and tried many additional hyperparameter settings for RGAN to attempt to improve its performance and provide the fairest comparison possible.

Real

Epsilon: inf

Epsilon: 10

Epsilon: 1

Epsilon:0.01

-400

-350

-300

GlucoseValue(mg/dL)

Individual

250

200

150

100

50

120

148

23

8

1

14

8

6

2023224

4

2

3

8

1

14

6

20222

3

9

8

14

8

1

6

2

3

992

Time

Time

Time

Time

Time

Real

Epsilon: inf

Epsilon:10

Epsilon: 1

Epsilon:0.01

-400

-350

-300

Individual

250

-200

150

-100

0

50

驼80

148

176

204

2

288

吼6如℃8:0

1

17

6

204

8

1

176

00

2

88

2

1

10

100

2

288

1

16

100

2

288

Time

Time

Time

Time

Time

Real

Epsilon: inf

Epsilon:10

Epsilon: 1

Epsilon:0.01

-400

-350

-300

Individual

-250

200

150

100

50

0864

120

148

00

1

7

6

2

88

1

17

6

120

148

6

7

Time

Time

Time

Time

Time

C Additional Evaluation: Fidelity

C.1 Visualizations

We provide heatmap visualizations of sample real and synthetic glucose traces from all the models. Although this is not a comprehensive way to evaluate trace quality, it does give a snapshot view about how the synthetic traces compare to the real ones. Each heatmap contains 100 randomly sampled

glucose traces. Each row is a single trace from timestep 0 to 288. The values (coloring) in each row indicate the glucose value (between 40 mg/dL and 400 mg/dL). Figure 5 shows the nonprivate models, and Figures 8, 9, 10 show the private models with different privacy budgets. Upon examinging the heatmaps, we notice that GlucoSynth consistently generates realistic looking glucose traces, even at very small privacy budgets.

C.2 Population Statistics

In order to evaluate fidelity on a population scale, we compute a common set of glucose metrics used to evaluate patient glycemic control on the real and synthetic data, including average trace variability (VAR), Time in Range (TIR), the percentage of time glucose is within the clinical guided range of 70-180mg/dL; and time hypo- and hyper- glycemic (time below and above range, respectively) in Table 4. More details on each of the metrics are included in Table 3. We test if the difference in metrics between the synthetic and real data is statistically significant, using a p-value of 0.05. A p-value < 0.05 indicates the difference is statistically significant. We want synthetic data that has similar population statistics to the real data: p-values > 0.05 such that the differences in statistics between real and synthetic data are not significant. GlucoSynth outperforms all other models, with no statistically significant difference in all metrics for privacy budgets of ϵ ≥ 100 and only one metric with a statistically significant difference for budgets ϵ = 1 -10 .

Epsilon: inf

(a) GlucoSynth

(b) TimeGAN

(c) FF

(d) NPV

Epsilon: inf

2000

Real

2000

Real

Synthetic

Synthetic

1500

1500

1000

1000

CN

500

2

ueuod

500

0

-500

500

-1000

-1000

-1500

-1500

-2000

-2000

-1000

0

Component_1

1000

2000

3000

4000

2000

-1000

0

Component_1

1000

2000

3000

4000

Epsilon: inf

Epsilon: inf

2000

Real

2000

Real

Synthetic

Synthetic

1500

1500

1000

1000

C2

500

500

ponent

0

0

-500

-500

-1000

-1000

-1500

-1500

-2000

-2000

-1000

0

Component_1

1000

2000

3000

4000

-2000

-1000

0

1000

Component_1

2000

3000

4000

5000

C.3 Distributional Comparisons

Wevisualize differences in distributions between the real and synthetic data by plotting the distribution of variances and using PCA [27]. Figure 6 and Figure 11 show the variance distribution and PCA plots, respectively for the nonprivate models. We also compare distributional changes across privacy budgets: Figures 12 and 13 show GlucoSynth, Figures 14 and 15 show RGAN and Figures 16 and 17 show dpGAN.

Looking at the figures, GlucoSynth better captures the distribution of the real data compared to all of the nonprivate models. As evidenced in the PCA plot, (Fig. 11), FF comes the closest to capturing the real distribution in its synthetic data, but ours does a better job of representing the more rare types of traces. GlucoSynth also outperforms all of the private models across all privacy budgets. Even at small budgets ( ϵ < 1 ), the general shape of the overall distribution is conserved (e.g., see Figure 12).

D Additional Evaluation: Breadth

Compared to all other models across all privacy budgets, our model has the best ratio of found validation motifs, with close to 1.0 for VM and the lowest MSEs. It also has the best coverage for nonprivate settings and an ϵ of 100. Interestingly, dpGAN has the best coverage compared to all other models for privacy budgets ϵ ≤ 10 but worse MSEs across all budgets than GlucoSynth. This means that although it finds a broader number of motifs contained in the real data, the overall distributions of motifs it creates in the synthetic data have much higher error rates. We argue that the tradeoff found by our model is better because although it does miss some of the types of motifs from the real data (misses some breadth), from the ones it does find it constructs realistic distributions of the motifs and generates very few anomalous ones.

Epsilon: 0.01

Epsilon: 0.1

Real

Real

0.0004

Synthetic

0.00030

Synthetic

0.00025

0.00020

0.00015

0.00010

0.0001

0.00005

0.0000

2500

5000

7500

10000

12500

15000

17500

0.00000

2500

5000

7500

10000

12500

15000

17500

Epsilon: 1

Epsilon: 10

0.00030

Synthetic

Real

0.00030

Synthetic

Real

0.00025

0.00025

0.00020

0.00020

喜

0.00015

0.00015

D

0.00010

量

言

0.00010

0.00005

0.00005

0.00000

5000

7500

hn

10000

12500

15000

17500

0.00000

5000

7500

10000

12500

15000

17500

Epsilon: 100

Epsilon: inf

0.00030

Real

0.00030

Real

Synthetic

Synthetic

0.00025

0.00025

0.00020

0.00020

0.00015

0.00015

0.00010

0.00010

0.00005

0.00005

0.00000

2500

5000

7500

10000

12500

15000

17500

0.00000

0

5000

10000

15000

20000

Epsilon: 0.01

Epsilon: 0.1

2000

Real

2000

Real

Synthetic

Synthetic

1500

1500

1000

1000

500

500

-1000

1000

1500

1500

-1000

1000

2000

3000

4000

1000

1000

2000

0000

4000

Epsilon: 1

Epsilon: 10

2000

Real

2000

Real

Synthetic

Synthetic

1500

1500

1000

1000

500

500

500

500

1000

1000

1500

1500

1000

1000

2000

3000

4000

1000

1000

2000

3000

4000

Epsilon: 100

Epsilon: inf

2000

Synthetic

Real

2000

Synthetic

Real

1500

1500

1000

1000

500

009

500

-1000

1000

-1500

1500

2000

2000

1000

1000

2000

3000

4000

2000

2000

1000

1000

2000

3000

Component_1

uuoduo

Epsilon: 0.01

Epsilon: 0.1

0.6

Synthetic

Real

0.5

Synthetic

Real

0.5

'0

0.1

0.1

0.0

2500

5000

7500

10000

12500

15000

17500

0.0

2500

5000

7500

10000

12500

15000

17500

Epsilon: 1

Epsilon: 10

1.0

Real

0.8

Real

Synthetic

0.7

Synthetic

0.8

0.6

uognqu

0.6

0.4

0.2

0.2

0.1

0.0

2500

5000

7500

10000

12500

15000

17500

00

2500

5000

7500

10000

12500

15000

17500

Epsilon: 100

Epsilon: inf

0.4

Synthetic

Real

8'0

Synthetic

Real

0.7

0.5

0.2

0.1

0.2

0.1

0.0

0

2500

5000

7500

10000

12500

15000

17500

00

0

2500

5000

7500

10000

12500

15000

17500

Epsilon: 0.01

Epsilon: 0.1

2000

Real

2000

Real

Synthetic

Synthetic

1500

1500

1000

1000

500

500

500

1000

1000

-1500

1500

-2000

1000

1000

2000

3000

4000

2000

-1000

1000

2000

3000

4000

Epsilon: 1

Epsilon: 10

2000

Real

2000

Real

Synthetic

Synthetic

1500

1500

1000

1000

500

500

500

1000

1000

-1500

-1500

-2000

1000

1000

2000

3000

4000

-2000

-1000

uduo

1000

2000

3000

4000

Epsilon: 100

Epsilon: inf

2000

Real

2000

Real

Synthetic

Synthetic

1500

1500

1000

1000

500

500

-1000

1000

-1500

1500

2000

1000

1000

2000

3000

4000

2000

1000

1000

2000

3000

000

uuoduo

Epsilon: 0.01

Epsilon: 0.1

0.0030

Real

0.0012

Real

0.0025

Synthetic

0.0010

Synthetic

020000

0.0015

50.0010

0.0004

0.0005

0.0002

0.0000

2500

5000

7500

10000

12500

15000

17500

0.0000

5000

10000

15000

20000

25000

30000

Epsilon: 1

Epsilon: 10

0.0016

Real

Real

0.0014

Synthetic

0.0010

Synthetic

0.0010

.00060

0.0008

0.0006

000

0.0004

0.0002

0.0002

0.0000

5000

10000

15000

20000

25000

30000

0000°0

5000

10000

15000

20000

2500030000

3500040000

Epsilon: 100

Epsilon: inf

0.0014

Real

0.0010

Real

0.0012

Synthetic

Synthetic

8000°0

uogr

8000°0

0.0006

0.0006

0.0004

0.0004

0.0002

0.0002

0.0000

2500

5000

7500

10000

12500

15000

17500

0.0000

5000

10000

15000

20000

25000

Epsilon: 0.01

Epsilon: 0.1

2000

Real

2000

Real

Synthetic

Synthetic

1500

1500

1000

1000

500

500

1000

-1000

1500

1500

-2000

-2000

1000

uoduo

1000

2000

3000

4000

-2000

-1000

uoduo

1000

2000

3000

Epsilon: 1

Epsilon: 10

2000

Real

2000

Real

Synthetic

Synthetic

1500

1500

1000

1000

500

500

-500

1000

1000

1500

1500

2000

-1000

1000

2000

3000

4000

2000

1000

uauoduo

1000

2000

3000

4000

Epsilon: 100

Epsilon: inf

2000

Real

2000

Real

Synthetic

Synthetic

1500

1500

1000

1000

500

500

1000

1000

1500

1500

2000

-1000

1000

2000

3000

4000

2000

1000

1000

2000

3000

uauoduo

(a) GlucoSynth

(b) TimeGAN

(c) FF

(d) NPV

(e) RGAN

(f) dpGAN

400

E

Epsilon: inf

400

E

Epsilon: inf

400

E

Epsilon: inf

B

350

350

350

300

300

00E

Prediction Concentration (mg/dl)

Prediction Concentration (mg/dl)

B

Prediction Concentration (mg/dl)

B

250

250

250

200

200

200

150

D

150

150

100

100

100

50

50

50

A

C

E

E

E

0

50

100

150

200

250

300

350

400

0

50

100

150

200

250

300

350

400

0

U

50

100

150

200

250

300

350

400

400

Epsilon: inf

400

Epsilon: inf

E

E

C

B

350

350

300

300

(mg/d)

B

B

Prediction Concentration (

250

Concentration

250

200

200

150

150

100

100

50

50

C

E

A

E

0

50

100

150

200

250

00E

350

400

0

50

100

150

200

250

300

350

400

400

Epsilon: inf

350

000

Prediction Concentration (mg/d)

B

250

200

150

100

50

E

0

0

50

100

150

200

250

300

350

400

E Additional Evaluation: Utility

Since RMSE may provide a limited view about the predictions from the glucose forecasting model, we also plot the Clarke Error Grid [29], which visualizes the differences between a predictive measurement and a reference measurement, and is the basis used for evaluation of the safety of diabetes-related medical devices (for example, used for evaluating glucose outputs from predictive models integrated into artificial insulin delivery systems). The Clarke Error Grid is implemented using www.github.com/suetAndTie/ClarkeErrorGrid . The grids are shown in Figure 18.

In the figures, the x-axis is the reference value and the y-axis is the prediction. A diagonal line means the predicted value is exactly the same as the reference value (the best case). There are 5 total zones that make up the grid, listed in order from best to worst:

Zone A - Clinically Accurate: Predictions differ from actual values by no more than 20% and lead to clinically correct treatment decisions.

Zone B - Clinically Acceptable: Predictions differ from actual values by more than 20% but would not lead to any treatment decisions.

Zone C - Overcorrections: Acceptable glucose levels would be corrected (overcorrection).

Zone D - Failure to Detect: Predictions lie within the acceptable range but the actual values are outside the acceptable range, resulting in a failure to detect and treat errors in glucose.

Zone E - Erroneous Treatment: Predictions are opposite the actual values, resulting in erroneous treatment, opposite of what is clinically recommended.

We show Clarke Error grids for all models (and the private models with no privacy included, ϵ = ∞ ). This is because comparing the models at different privacy budgets is not very informative - it can be hard to tell exactly where changes between different budgets may occur. We also present a table with the percentages of predicted datapoints in each category in Table 5. This table includes a comparison among different privacy budgets for the private models (much more effective than the figures by themselves.)

Looking at the grids, we can see that GlucoSynth performs the best, with most of the values along the diagonal axis (Zone A and B) and less around the other zones (Zones C-E) as compared to the other models. This means that most of the predicted glucose values from the model trained on our synthetic data are in the Clinically Accurate and Acceptable ranges, with less in the erroneous zones. Moreover, by examining the table we see that GlucoSynth outperforms all other models across all privacy budgets as well.

Peer reviews:
{"IS_META_REVIEW": false, "comments": "SUMMARY:\nInstead of the existing DP GAN framework, which cannot capture the relationship in time-series data well when temporal length is not the only relationship but also different event types and do not perform well when more strict DP (differential privacy) condition is required, the paper proposes new architecture based on the glucose trace use-case which overcomes existing weakness by learning and generating (from the GAN generator) at the space of (Granger) causality matrix instead of the data level. From this, the GAN architecture must be adapted accordingly: autoencoder and discriminator are straightforward (autoencoder to encode time-series datapoint into a vector and discriminator looks at two points in this space), but the generator now can generate more realistic data with not just random noise but also the causality matrix which is learned separately.\n\nSTRENGTHS:\n- The application is practical (healthcare), but may possibly be useful for other similar applications with time-series data.\n- The modeling of time-series relationship is more general than previous works (not just time but other factors such as different type of events), which is appropriate for application such as healthcare\n- Seems already optimized with previous DP work -- with PATE and autoencoder for GAN.\n- Extensive evaluation of synthetic data quantitatively and then qualitatively in Appendix.\n\nWEAKNESSES:\n- The result and motivation of the work is from a specific motivation. While this means it's practical, we wouldn't know how well it generalizes (though I think it may).\n- I am not sure if differential privacy is really at the user-level (as is worded in line 268) or trace/motif/datapoint level (e.g. when one user gives many traces contributing to the dataset). If not a user-level, then the result is not DP with respect to user privacy. I wonder what would happen if dataset is weighted to account for this?\n- It is noted from the author that we cannot reproduce the result for private data. This is something the author acknowledged due to privacy of data; something we have to accept. You said \"Reproducibility: Yes; although we are unable to share the code and data, we have linked to similar public datasets and provide detailed descriptions of the architecture, its implementation and training regime. Therefore reproducing the results is straightforward.\", but shouldn't there then be an evaluation part using these public data then?\n\nSmall comments:\n- I wish more explanation in comparing the architecture (not pro and con) of this work compared to existing work is added for clearer visibility of what is novel vs adapted from previous work at the model design. It seems related work section only has the pro/con part. In Appendix A it has more information but not specific: e.g. line 507-509 what are these \"two methods\"? What's the main difference compared to each of [4] [11] and [14] in line 469? What's new compared to [6] (the architecture looks similar)?\n- Please make font size of plots in page 16 and after larger. Some are unreadable.\n\nQUESTIONS:\n- Usually I think of generator's training in GAN as getting feedback from discriminator. In line 218-240, this is different: is generator trained directly with these information to warm start? Is this novel or similar to some previous work?\n- Similar to Section 5.2 -- is this framework to balance two losses new or similar to some existing work?\nFor the above: it should be more clear how your architecture is different from existing work, e.g. yours looks similar to [6]. In the related work it only lists how yours compare performance wise, but not architecture or novelty-wise.\n- Why do we only pick 4 hours (line 187)? It makes sense for meal-effect, but this would lose the day-rhythm effect such as sleep time, right?\n- Why is the fidelity not in increasing order as $\\epsilon$ increases in Figure 5, especially for dpGAN? This seems odd.\n- Why not compare to [6] as well? Table 2 suggests [6] uses extra features, though the paper [6] https://people.cs.vt.edu/~reddy/papers/IS22.pdf said it can work for unsupervised data as well -- could you explain more?\n- Any upperbound in Table 2 of length on your method (and go infinite and others can't?)?\n- How to reproduce others' methods? I think the hyperparameter and/or architecture details should be added to Appendix B.\n\nLIMITATIONS:\n- Authors noted about reproducibility issue of private data (line 350-356)\n- Have the owner (patients) of these traces given permission to use their data in this way? Given this is a sensitive data (healthcare), I think it's a good practice to add how this data is ethically appropriate to use (e.g. how we have the permission legally, etc.) I am not an expert and this is not to prevent this kind of work (as this is why we have private synthetic data -- for utilizing sensitive data), but I just want to make sure about this.", "TITLE": "Official Review", "RECOMMENDATION": 6, "REVIEWER_CONFIDENCE": 3, "SOUNDNESS_CORRECTNESS": 4, "DATE": "2023-06-23"}

{"IS_META_REVIEW": false, "comments": "SUMMARY:\nThis paper proposes a DP generation model, i.e. GlucoSynth, particularly for glucose data. To address a few challenges that prior works fail in, GlucoSynth proposes a causality learning block, to learn the dependency between motifs, rather than merely learning the temporal dependencies. The generator is basically a GAN combined with autoencoder. By training GAN and autoencoder with DP-SGD, training causality block with PATE, GlucoSynth is claimed to achieve DP guarantees.\n\nSTRENGTHS:\n1. The problem is well-motivated, and the summary of challenges in prior works is clear.\n2. The idea of motif causality block is somehow novel, compared to prior works. (But I did not read too much related works in synthesizing glucose data, so this point is based on the summary in this work.)\n\nWEAKNESSES:\n1. Although Sec. 1 and 2 are clear, starting from Sec. 3, the writing is sometimes confusing. See my questions below for details.\n2. This method is not neat. Figure 3 clearly shows that you need to train a total of $m\\times r$ neural networks for the motif causality block, let alone the autoencoder and GAN in the next step. Given that the GAN and autoencoder are trained with DP-SGD, which introduces notorious time overhead due to the gradient perturbation, this method is both time- and space-inefficient.\n3. The main components in GlucoSynth lack proper explanation. For example, \n   + Why do you need to build motif networks for each motif? Can you build only one for all motifs? \n   + Why do you need an autoencoder? Do you have the ablation study on the autoencoder?\n4. In Line 223 and Figure 4, it seems that the generator needs real data as input to \"generate\" something. How can you use the generator in reality? \n5. The DP mechanisms applied in this work are not novel. Both DP-SGD and PATE are existing standard techniques to retain DP.\n\nQUESTIONS:\n1. What do different colors mean in Fig. 1 and 2? \n2. I don't get what Fig. 2 intends to mean. What is the relationship between motif 1 and 2? What should we expect to see from the radial graph?\n3. It is better to give full descriptions in the caption of figures, e.g. figure 3 and 4.\n4. Line 229, how is $M_{\\hat{x}}$ calculated from $M$ and $\\hat{x}$?\n5. What is the difference between MSE loss in Line 217 and 225?\n\nLIMITATIONS:\nThis paper has discussed limitations in the end.", "TITLE": "Official Review", "RECOMMENDATION": 5, "REVIEWER_CONFIDENCE": 3, "SOUNDNESS_CORRECTNESS": 2, "DATE": "2023-06-27"}

{"IS_META_REVIEW": false, "comments": "SUMMARY:\nThe authors introduce a new differential privacy scheme where other, non-related signal recordings are used to anonymise the signal provided  that they have a motif that seems to predict the time signal forwards in time. For this a time dependent vector is used to contain multiple signals at the same time propagating forwards. Simple RN and LSTM are used. \n\nThe models are trained using differentially private stochastic gradient, and with an GAN discriminator component in the network\nit is ensured  that  resulting synthetic signal belongs to the same distribution as the actual signals.\n\nThe quality of the signal is measured with fidelity, breath, and utility estimates. According to these criteria the novel differential privacy preserving synthetic signals beat the current state of the art.\n\nSTRENGTHS:\nThe manuscript is well written and concise explanation of the process.\n\nWEAKNESSES:\nThe he supporting material to me looks like a copy of manuscript. The paper refers to the Annexes? Please correct \n\nIn abstract, the statement below is a contradiction as indicates the novel privacy-preserving GAN framework does not exist, even the manuscript just presents it.  ( it is using GANs and it exists)\n\"Existing methods fo  time series data synthesis, such as those using Generative Adversarial Networks (GANs), are not able to capture the innate characteristics of glucose data and cannot provide any formal privacy guarantees without severely degrading the utility of the\nsynthetic data. In this paper we present GlucoSynth, a novel privacy-preserving GAN framework to generate synthetic glucose traces.\"\n\nI have a problem in understanding the evaluation of the performance. See the question I have in the question part. Please clarify.\n\nQUESTIONS:\nAnnex?\nI do not understand fully the role of the statistical tests in the evaluation. For fidelity, I would expect that it means that features that are needed to analyse the time trail are preserved, so that one can trust the diagnosis. As the system is generating the signal partly for other trails via the causal motifs, the generated signal may miss something essential, or it may have added components from the other trails. Checking with GAN that the signal is not easily distinguishable from the real traces is a good step and achievement, but at the same time one has to ensure that diagnoses from the original and anonymised trails remain the same for all cases individually - and report the error rate resulting from the anonymisation.\n\nLIMITATIONS:\nCould the method give different diagnostic results after anonymisation. This may be the no-go for the anonymisation. It should be clearly stated that the system is not designed to be used for the diagnostic purposes, but to publish a data set that can be used to train AI solutions - with an extra annotation made for large enough portion of the synthetic examples.", "TITLE": "Official Review", "RECOMMENDATION": 5, "REVIEWER_CONFIDENCE": 4, "SOUNDNESS_CORRECTNESS": 3, "DATE": "2023-07-07"}

{"IS_META_REVIEW": false, "comments": "SUMMARY:\nThis manuscript presents GlucoSynth to generate synthetic glucose traces. The main idea is to conserve relationships among motifs within the time series and to preserve the privacy of the glucose traces. Specifically, the manuscript proposes a motif causality block to learn the causal relationships amongst the motifs and incorporates differential privacy into the framework. The experiments on the clinical dataset demonstrate that the proposed method outperforms the baselines in terms of fidelity, breadth and utility.\n\nSTRENGTHS:\n1. The topic of this manuscript is important. Synthesizing data for sharing is meaningful for collaboration with healthcare institutions.\n2. The challenge of generating synthetic glucose traces identified in this manuscript is interesting, i.e., the manuscript claims that \" they are more event-driven than many other types of time series.\"\n3. The manuscript designs several evaluation metrics to compare GlucoSynth and previous studies.\n\nWEAKNESSES:\n1. The distribution depicted in Figure 2 is not able to support the motivation (glucose traces are event-driven) of this work. It would be better to present the distributions of glucose traces under a subtype of patients, if the distributions are very diverse within the whole population.\n2. The contributions of the method are two-folds, i.e., motif causality block and DP. It's not clear how each module contribute to the whole model through the experiments. A well-designed ablation study would be better.\n3. The organization of the manuscript should be improved. Several important results are in Appendix, while the method is too long.\n\nQUESTIONS:\n1. Can the temporal dependencies learned by the model be visualized or aligned to medical knowledge? Are they approved by healthcare experts, e.g., doctors?\n2. As descirbed the Sec. 7.3, an LSTM is trained for glucose forecasting. How many times does the model run? Have you tested with other models? Are there any differences between LSTM and other models?\n3. What about the scalabilty of the proposed model? For instance, do you test the performance of GlucoSynth on a small dataset? How much samples are required at least for training GlucoSynth usable? Have you evaluate the models on other datasets, as mentioned in Limitations?\n\nLIMITATIONS:\n1. The authors can adequately recognize the limitations of this work. It is worth emphasizing that the motivation is not supported well by the statistics and the experiments. Besides, the scalabilty of the model is not explore.\n2. There is no significant potential negative societal impact of this work.", "TITLE": "Official Review", "RECOMMENDATION": 5, "REVIEWER_CONFIDENCE": 3, "SOUNDNESS_CORRECTNESS": 3, "DATE": "2023-07-20"}

comments: SUMMARY:
In this paper, the problem of generating differentially private synthetic glucose traces using a GAN framework, by conserving the relationships among glucose events or motifs within the traces, as well as the temporal dynamics.

STRENGTHS:
This paper presents GlucoSynth, an approach that generates private and high-utility synthetic data. The method combines some existing ideas in a clever way. The work is interesting and the results show an improvement to the previous literature on the topic.

WEAKNESSES:
- The major issue is that more information is needed for proving the privacy guarantees offered by this method. In section 6, the addition of differential privacy is discussed, however, the explanation is brief and more rigorous proofs are needed.

- Moreover, some more details are needed when explaining the motif causality block in section 4.2. For instance, when discussing $\tau$ as a hyperparameter, then stating that "we use $\tau = 48$, corresponding to 4 hours of time", is this related to the experiments or why is this used here?

QUESTIONS:
- More detailed privacy proofs needed.
- In section 4.2, it is stated that $\tau = 48$ is used, corresponding to 4 hours of time. Is this a common $\tau$ value or does this just work for the experiments in this paper.

LIMITATIONS:
The authors discuss the limitations of the work.
TITLE: Official Review
SOUNDNESS_CORRECTNESS: 3
DATE: 2023-07-23