# A Data-Driven Approach for Generating Synthetic Load Profiles with GANs
## 2 Materials and Methods
### Model Definition  
The approach of the authors of [24], where load profiles are represented as pixel-like vectors, and the usage of convolutional layers in the GAN network is further developed in this study. Representing load profiles as pixel-like vectors is a promising way to bridge time-series analysis with image processing techniques, where GANs excel. A 24 h load profile can naturally be modeled as a vector with 24 continuous values, where each value represents the power consumption for a specific hour of the day. These values typically exhibit temporal correlations--the load at hour \(t\) is often related to some degree to the load at hours \(t-1\) and \(t+1\); e.g., \(Corr(x_{t},x_{t-1})\) may be greater or smaller than \(Corr(x_{t},x_{t+1})\), as shown in Figure 2. By interpreting this vector as a one-dimensional image with 24 \"pixels\", each corresponding to an hourly measurement, the capabilities of CNNs can be used. While this is not the case for every load, just as it is not the case with every pixel in images, the convolutional layers in a neural network are still a preferable option for handling such problems. \begin{table}
\begin{tabular}{c c c} \hline \hline
**Model** & **Characteristic** & **Values** \\ \hline \multirow{8}{*}{Generator} & 1 st layer: & Densely connected: 384 units; activation—LeakyReLU \\  & 2 nd layer: & Reshape: (6, 64) \\  & 3 rd layer: & UpSampling1D: size = 2 \(\rightarrow\) (12, 64) \\  & 4 th layer: & Convolutional: 64 filters, kernel size = 3, padding = ‘same’; \\  & 4 th layer: & activation—LeakyReLU \\  & 5 th layer: & UpSampling1D: size = 2 \(\rightarrow\) (24, 64) \\  & 6 th layer: & Convolutional: 32 filters, kernel size = 3, padding = ‘same’; \\  & 6 th layer: & activation—LeakyReLU \\  & Output: & Convolutional: 1 filter, kernel size = 3, activation = sigmoid, padding = ‘same’; followed by reshape to (24,) \\  & Loss function: & Binary cross-entropy \\  & Optimizer & Adam (adaptive moment estimation): learning rate = 0.0002 \\ \hline \multirow{8}{*}{Discriminator} & 1 st layer: & Input: shape (24,) \\  & 2 nd layer: & Reshape: (24, 1) \\  & 3 rd layer: & Convolutional: 64 filters, kernel size = 3, strides = 2, \\  & 3 rd layer: & padding = “same”; activation—LeakyReLU \\  & 4 th layer: & Dropout: rate = 0.3 \\  & Optimizer & Convolutional: 128 filters, kernel size = 3, strides = 2, \\  & 5 th layer: & padding = “same”; activation—LeakyReLU \\  & 6 th layer: & Dropout: rate = 0.3 \\  & 7 th layer: & Flatten \\  & Output: & Densely connected: 1 unit; activation—sigmoid \\  & Loss function: & Binary cross-entropy \\  & Optimizer & Adam (adaptive moment estimation): learning rate = 0.0002 \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Architecture of the Conv1D-GAN model used for benchmarking. This approach treats the temporal load vector as a spatial signal, allowing for convolutional filters to slide across the 1D vector and capture local temporal patterns, such as peaks during midday or valleys at night. In image processing, CNNs are used for edge detection, and, in this case, they could be utilized to learn consumption patterns. Moreover, using convolutional layers enforces translational invariance and weight sharing, reducing the number of trainable parameters--an advantage especially useful when training on smaller datasets, such as load profiles from single households or limited time frames. The architecture employed in this study is based on a WGAN-GP, tailored for one-dimensional data and CNNs. To the best of our knowledge, there is no similar usage of those combined methodologies for synthetic load profiles generation, and their examination could prove to be useful in this particular problem. The generator and discriminator (i.e., critic) models are implemented using convolutional and upsampling layers to enable effective learning from limited data and to capture temporal dependencies in the generated sequences.