## 2 Methods
### DGNNs
#### 2.1.1 Ctgan  
Like the other GAN algorithms, the CTGAN architecture primarily comprises two modules: generator and discriminator (Figure 1A). Here, \(g\) denotes the generator responsible for producing fake data, whereas C(-) represents the discriminator tasked with distinguishing between fake and real inputted data. The loss function is denoted by \(\mathcal{L}(\cdot)\), and z signifies the noise generated from a standard normal distribution (N(0,1)). Before being fed into the critic module, the seed data undergo normalization using mode-specific normalization methods.  
Both \(\alpha_{i,j}\) and \(\beta_{i,j}\) correspond to values associated with continuous columns in the seed data, whereas \(\mathbf{d}_{i,j}\) represents a one-hot vector denoting a discrete value (\(\mathbf{d}_{i,j}\)) of the \(i\)-th discrete column in the \(j\)-th row of the seed data. These values, namely, \(\alpha_{i,j}\), \(\beta_{i,j}\), and \(\mathbf{d}_{i,j}\) are generated using the generator, which is constructed using a neural network architecture. The neural network architecture is detailed below (Equations (1)-(5)).  
\[h_{1}=ReLU(BN(FC_{u\to v}(z\ \oplus cond))),u=|cond|+|z|,\ v=256 \tag{1}\]  
\[h_{2}=ReLU(BN(FC_{u\to v}(z\ \oplus cond\ \mathbf{h}_{1}))),u=|cond|+|z|+256,\ v=256 \tag{2}\]  
Figure 1: DGNN architectures: (**A**) CTGAN and (**B**) TVAE.  
\[\hat{\alpha}_{i}=tanh(FC_{u\to v}\;(h_{2})),1\leq i\ \leq\ N_{c},u=|cond|+|z|+512,\ v=1 \tag{3}\]  
\[\hat{\beta}_{i}=gambel_{\tau}(FC_{u\to v}\;(h_{2})),1\leq i\ \leq\ N_{c},u=|cond|+|z|+512,\ v=m_{i} \tag{4}\]  
\[\hat{d}_{i}=gambel_{\tau}(FC_{u\to v}\;(h_{2})),1\leq i\ \leq\ N_{d},u=|cond|+|z|+512,\ \ v=\ |D_{i}| \tag{5}\]  
The term \(h_{i}\) refers to a hidden layer within the neural network concerning the function types of layers within the neural network; BN and FC denote batch normalization and fully connected layers, respectively. The variables \(u\) and \(v\) indicate the number of neurons in the input and output layers, respectively. \"\(cond\)\" means the conditional vectors. \(\hat{\alpha}_{i},\ \hat{\beta}_{i},\ \text{and}\ \hat{d}_{i}\) are activation functions in the \(l\)-th fully connected layers and \(ReLU\), \(tanh\), and \(gumbel\) denote specific activation functions (Leaky Rectified Linear Unit, hyperbolic tangent, and Gumbel, respectively). The parameter \(\tau\) is associated with the Gumbel function. \(N_{c}\) and \(N_{d}\) represent the numbers of continuous-data and discrete-data columns, respectively. \(D_{i}\) is the \(i\)th discrete column. \(m_{i}\) corresponds with \(D_{i}\) and the \(i\)th musk vector consisting of 0 and 1. CTGAN uses the Wasserstein loss function [36], unlike the conventional GANs. This choice mitigates the mode-dropping phenomenon. The Adaptive moment estimation (Adam) optimizer is used to optimize the Wasserstein loss function.  
\[\mathcal{L}(\cdot)=E_{x\sim X,\ z\sim N(o,\mathbf{J})}[C(x)\ -C(g(z))+regulazation\ term] \tag{6}\]  
\(x\) is data in the seed data X. \(z\) represents random vectors taken from \(\text{N}(o,\mathbf{I})\). \(\mathcal{L}(\cdot)\) is the loss function. \(C(\cdot)\) is the critic. \(g(\cdot)\) is the generator.