<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.4 20241031//EN" "JATS-journalpublishing1-4.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article" dtd-version="1.4" xml:lang="en">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">jilsa</journal-id>
      <journal-title-group>
        <journal-title>Journal of Intelligent Learning Systems and Applications</journal-title>
      </journal-title-group>
      <issn pub-type="epub">2150-8410</issn>
      <issn pub-type="ppub">2150-8402</issn>
      <publisher>
        <publisher-name>Scientific Research Publishing</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.4236/jilsa.2026.183015</article-id>
      <article-id pub-id-type="publisher-id">jilsa-152569</article-id>
      <article-categories>
        <subj-group>
          <subject>Article</subject>
        </subj-group>
        <subj-group>
          <subject>Computer Science</subject>
          <subject>Communications</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>Synthetic Data Generation of Surgical Drills Using Physics-Constrained GAN</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <name name-style="western">
            <surname>Livingston</surname>
            <given-names>Tessa E.</given-names>
          </name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <name name-style="western">
            <surname>Blaney</surname>
            <given-names>Joshua A.</given-names>
          </name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <name name-style="western">
            <surname>Muknahallipatna</surname>
            <given-names>Suresh S.</given-names>
          </name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
      </contrib-group>
      <aff id="aff1"><label>1</label> Department of Electrical Engineering and Computer Science, University of Wyoming, Laramie, WY, USA </aff>
      <author-notes>
        <fn fn-type="conflict" id="fn-conflict">
          <p>The authors declare no conflicts of interest regarding the publication of this paper.</p>
        </fn>
      </author-notes>
      <pub-date pub-type="epub">
        <day>03</day>
        <month>08</month>
        <year>2026</year>
      </pub-date>
      <pub-date pub-type="collection">
        <month>08</month>
        <year>2026</year>
      </pub-date>
      <volume>18</volume>
      <issue>03</issue>
      <fpage>235</fpage>
      <lpage>254</lpage>
      <history>
        <date date-type="received">
          <day>28</day>
          <month>03</month>
          <year>2026</year>
        </date>
        <date date-type="accepted">
          <day>13</day>
          <month>07</month>
          <year>2026</year>
        </date>
        <date date-type="published">
          <day>16</day>
          <month>07</month>
          <year>2026</year>
        </date>
      </history>
      <permissions>
        <copyright-statement>© 2026 by the authors and Scientific Research Publishing Inc.</copyright-statement>
        <copyright-year>2026</copyright-year>
        <license license-type="open-access">
          <license-p> This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license ( <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link> ). </license-p>
        </license>
      </permissions>
      <self-uri content-type="doi" xlink:href="https://doi.org/10.4236/jilsa.2026.183015">https://doi.org/10.4236/jilsa.2026.183015</self-uri>
      <abstract>
        <p>Class imbalance in time series data occurs when some classes have far fewer training samples than others. Training a neural network classifier on such an imbalanced dataset results in bias and poor performance. In this paper, we focus on the class imbalance issue in a surgical bone-drilling dataset, where the drill traverses certain bone regions faster than others, leading to far fewer recorded samples in those regions. We propose a physics-constrained Generative Adversarial Network (P-GAN) that generates synthetic time-series data for underrepresented classes. Unlike standard generative models, the proposed P-GAN enforces physics constraints during the generation of synthetic samples. These constraints include ensuring depth and force values are within sensor-valid ranges and that depth sequences progress monotonically. Furthermore, these constraints enforce that the synthetic samples behave like real drill measurements. We evaluate the proposed method on the drill dataset by adding 150 synthetic sequences per underrepresented class and measure the effect on the model’s performance. Results on a drill dataset show consistent improvements in F1 scores for both GRU and CNN-based classifiers, suggesting that physical constraints are essential for generating useful synthetic data on small, domain-specific datasets.</p>
      </abstract>
      <kwd-group kwd-group-type="author-generated" xml:lang="en">
        <kwd>Synthetic Data Generation</kwd>
        <kwd>Time Series</kwd>
        <kwd>Data Augmentation</kwd>
        <kwd>Imbalanced Data</kwd>
        <kwd>Generative Adversarial Networks</kwd>
        <kwd>Medical Data Analysis</kwd>
        <kwd>TS Classification</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec1">
      <title>1. Introduction</title>
      <p>Computer-assisted navigation (CaN) systems have been assisting surgeons in their practice for approximately 30 years. At the same time, modern surgical drills include sensors that measure force, pressure, depth, and torque. Integrating sensor data into the CaN system improves drill localization within the bone, enabling surgeons to determine the drill’s position and penetration depth during procedures. This integration has the potential to improve surgical outcomes in orthopedic procedures by providing surgeons with real-time instrument localization during operations. In open reduction internal fixation (ORIF) surgery for distal radius fractures, the surgeon must drill into the bone and place screws with precision; errors in drill depth estimation can lead to tendon irritation, tendon rupture, or soft-tissue damage. Despite these technological advances, accurately classifying drill position from sensor data remains challenging.</p>
      <fig id="fig1">
        <label>Figure 1</label>
        <graphic xlink:href="https://html.scirp.org/file/9601761-rId15.jpeg?20260716021211" />
      </fig>
      <p><bold>Figure 1</bold><bold>.</bold> Simplified illustration of drilling through a bone.</p>
      <fig id="fig2">
        <label>Figure 2</label>
        <graphic xlink:href="https://html.scirp.org/file/9601761-rId16.jpeg?20260716021211" />
      </fig>
      <p><bold>Figure 2</bold><bold>.</bold> Example of drill distance and force through bone.</p>
      <p><xref ref-type="fig" rid="fig1">Figure 1</xref> and <xref ref-type="fig" rid="fig2">Figure 2</xref> provide an illustration of drilling through the bone to install screws and plates used to set a distal radius fracture and demonstrate an ideal sequence of data instances collected from a depth sensor and a force sensor during bone drilling. In this context, “ideal” denotes low noise and ease of interpretation through visual analysis. Region 1 corresponds to drilling on bone wall 1; Region 2 corresponds to drilling between bone walls; Region 3 corresponds to drilling on bone wall 2; and Region 4 corresponds to drilling beyond the bone.</p>
      <p>Blaney and Muknahallipatna [<xref ref-type="bibr" rid="B1">1</xref>] demonstrated that machine learning (ML) models such as long short-term memory (LSTM) [<xref ref-type="bibr" rid="B2">2</xref>], gated recurrent unit (GRU) [<xref ref-type="bibr" rid="B3">3</xref>], residual network [<xref ref-type="bibr" rid="B4">4</xref>], and inception network [<xref ref-type="bibr" rid="B5">5</xref>] architectures can perform automatic instrument localization through individual data instance classification (IDIC). They used time-series data collected from depth and force sensors embedded in the surgical drill to train an ML model to localize the drill as a classification problem. Their evaluation revealed that all architectures achieved high classification accuracy for the majority of classes, <italic>i.e.</italic>, region 1 and region 3, corresponding to the two bone walls. However, performance on the minority classes was substantially lower, <italic>i.e.</italic>, region 2 (between bone walls) and region 4 (through bone).</p>
      <p>They identified that the structural class imbalance in the training dataset was the root cause of the poor performance. Because the drill’s sensors sample at a constant rate, the number of recorded data instances per region is proportional to the time the drill spends in that region. The drill traverses the inter-wall and post-bone regions significantly faster than it does the bone walls themselves, resulting in a dataset in which classes/regions 2 and 4 are substantially underrepresented. Although they identified synthetic data generation and augmentation as promising approaches to address this imbalance, existing methods for generating both statistically and physically realistic synthetic time-series data for this surgical application remain underdeveloped. This gap highlights the need for domain-specific generative models capable of producing valid synthetic sequences.</p>
      <p>This paper directly addresses the class imbalance issue by proposing a physics-constrained Generative Adversarial Network (P-GAN) for synthetic time-series augmentation of underrepresented classes. Existing synthetic data generation methods applied to this dataset tend to yield sequences that are statistically valid but physically invalid (e.g., non-monotonic depth profiles or force values outside the sensor’s operating range). Such synthetic data is inconsistent with real drill measurements and corrupts the dataset. The proposed P-GAN method explicitly incorporates domain-specific physical constraints into both the generator’s output layer and its training objective. Specifically, P-GAN enforces monotonically increasing depth sequences to reflect the continuous advancement of the drill and constrains both depth and force to empirically determined sensor-valid ranges. These explicit constraints ensure that generated samples adhere to the actual physical properties of drilling processes, resulting in synthetic data that is both physically consistent and more effective for training a better classifier model.</p>
      <p>This work makes the following contributions:</p>
      <p>Proposes a physics-constrained generative adversarial network (P-GAN) for synthetic data generation and augments the synthetic data into class-imbalanced medical time series. The model is built using the SeriesGAN architecture [<xref ref-type="bibr" rid="B6">6</xref>] with three modifications: hard output constraints, dropout regularization, and differentiable physics penalty terms.A study to understand the effect of P-GAN augmentation on the GRU and CNN classifiers from Blaney and Muknahallipatna [<xref ref-type="bibr" rid="B1">1</xref>], demonstrating consistent F1 improvements on minority classes without degrading performance on majority classes.</p>
      <p>The remainder of the paper is organized as follows. Section 2 reviews related research on time series classification and approaches for addressing class imbalance through synthetic data generation. Section 3 details the proposed algorithm, its implementation, and the synthetic data generation process. Section 4 describes the drill dataset and the evaluation metrics used. Section 5 presents the key results and the impact on downstream classification performance. Finally, Sections 6 and 7 discuss the study’s limitations and outline directions for future research.</p>
    </sec>
    <sec id="sec2">
      <title>2. Related Works</title>
      <p>Time series classification (TSC) is more challenging than single-sample classification. Ismail Fawaz <italic>et al</italic>. [<xref ref-type="bibr" rid="B7">7</xref>] argued that TSC is fundamentally a data-mining task and reviewed various deep neural network architectures. Following this, Blaney and Muknahallipatna [<xref ref-type="bibr" rid="B1">1</xref>] studied various standard TSC architectures, which include recurrent networks such as Long Short-Term Memory (LSTM) and Gated Recurrent Units (GRU), as well as convolutional architectures adapted from image processing, including residual networks [<xref ref-type="bibr" rid="B8">8</xref>] and inception networks [<xref ref-type="bibr" rid="B5">5</xref>][<xref ref-type="bibr" rid="B9">9</xref>]. Specifically, they evaluated individual-data instance classification (IDIC) on the surgical-drill dataset. They established GRU-based models as the strongest baseline, and identified class imbalance as one of the main obstacles to further performance gains. This work builds on the IDIC pipeline and focuses on improving the classifier’s performance by minimizing class imbalance through generative data augmentation.</p>
      <p>Generative Adversarial Networks (GANs) have been widely applied to generate synthetic time-series data. The TimeGAN framework by Yoon <italic>et al</italic>. [<xref ref-type="bibr" rid="B10">10</xref>] demonstrated that adversarial training could produce synthetic data sequences that preserve both feature distributions and temporal dynamics. Several approaches have been proposed to address the issues with the TimeGAN framework. Wasserstein GAN, proposed by Arjovsky <italic>et al</italic>. [<xref ref-type="bibr" rid="B11">11</xref>], improved training stability by addressing mode collapse; the Sig-Wasserstein GAN by Ni <italic>et al</italic>. [<xref ref-type="bibr" rid="B12">12</xref>] introduced signature-based discriminators to better match distributions; and SeriesGAN by EskandariNasab <italic>et al</italic>. [<xref ref-type="bibr" rid="B6">6</xref>] further improved performance across multiple benchmark datasets by combining adversarial learning with an autoregressive component.</p>
      <p>At the same time, diffusion models have also emerged as an alternative for generating synthetic time-series data. Lin <italic>et al</italic>. [<xref ref-type="bibr" rid="B13">13</xref>] provided a survey of various diffusion models used in time series applications. Specifically, Coletta <italic>et al</italic>. [<xref ref-type="bibr" rid="B14">14</xref>] proposed GuidedDiffTime, which frames constrained time-series generation as a differentiable optimization problem, allowing domain-specific constraints to be imposed at inference time. Sikder <italic>et al</italic>. [<xref ref-type="bibr" rid="B15">15</xref>] proposed TransFusion, a method that combines diffusion models with transformer architectures to generate long, high-fidelity sequences. Furthermore, pure transformer architectures have also been explored for generating synthetic time series data. Srinivasan and Knottenbelt [<xref ref-type="bibr" rid="B16">16</xref>] proposed TsTGAN, which integrates the transformer self-attention mechanism within a GAN framework to better capture long-range temporal dependencies.</p>
      <p>In addition to GANs and diffusion models, variational autoencoders (VAEs) have been used to generate synthetic time-series data. Kingma and Welling [<xref ref-type="bibr" rid="B17">17</xref>] proposed the Variational Autoencoder (VAE), a generative framework that learns a structured latent space by jointly optimizing a reconstruction objective and a Kullback-Leibler divergence regularization term. While VAEs have since been applied to synthetic time-series generation, they do not incorporate domain-specific physical constraints when generating samples.</p>
      <p>While the above works explore methods for generating synthetic time series data, synthetic data for time series augmentation to address class imbalance has been less explored in classification contexts. Fawaz <italic>et al</italic>. [<xref ref-type="bibr" rid="B8">8</xref>] demonstrated that Dynamic Time Warping-based augmentation improves classification accuracy for deep residual networks. However, interpolation-based augmentation does not increase the diversity of training examples as generative models can, particularly for minority classes with few samples. More critically, interpolation methods provide no mechanism for enforcing physical constraints.</p>
      <p>The reviewed literature shows that existing generative models for time series synthesis are designed for general-purpose datasets and do not incorporate domain-specific physical constraints into the generation process. At the same time, augmentation methods that respect domain properties (Fawaz <italic>et al</italic>. [<xref ref-type="bibr" rid="B8">8</xref>]) lack the generative capacity to capture the class distributions. For the surgical drill dataset, having statistically valid but physically invalid synthetic data does not improve the downstream classifier’s performance; rather, it degrades it. Our work (P-GAN) addresses this gap by adding physical constraints directly into the training objective, producing synthetic sequences that are statistically representative of the class and physically consistent with the drilling process.</p>
    </sec>
    <sec id="sec3">
      <title>3. Methodology</title>
      <p>This section describes the proposed P-GAN method for generating synthetic time series data to address class imbalance in the surgical drill dataset. P-GAN is a physics-constrained Generative Adversarial Network built on the SeriesGAN architecture. We propose and study three modifications to the SeriesGAN architecture to adapt it specifically to the drill dataset. Starting with dropout regularization to prevent overfitting, constraints to enforce valid physical ranges of sensor data, and physics-augmented loss terms to penalize physically invalid sequences. The core idea is that SeriesGAN provides the necessary statistical validity, and the physics constraints provide the necessary physical validity for the sample sequence. Together, these modifications ensure that the physical properties of the drilling process are preserved and that the generated synthetic data samples can augment missing samples in underrepresented classes.</p>
      <sec id="sec3dot1">
        <title>3.1. P-GAN Base Architecture</title>
        <p>P-GAN is built on the SeriesGAN framework [<xref ref-type="bibr" rid="B6">6</xref>], which employs a dual-network adversarial design. The generator is a recurrent neural network based on Gated Recurrent Units (GRUs), which captures temporal dependencies within the sequence. The discriminator is a 1D convolutional network that classifies a given sequence as real or synthetic. The generator takes a noise tensor <inline-formula><mml:math><mml:mrow><mml:mi> Z </mml:mi><mml:mo> ∈ </mml:mo><mml:msup><mml:mi> ℝ </mml:mi><mml:mrow><mml:mi> B </mml:mi><mml:mo> × </mml:mo><mml:mi> T </mml:mi><mml:mo> × </mml:mo><mml:mi> D </mml:mi></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> as input and produces a synthetic sequence of the same shape, where <inline-formula><mml:math><mml:mi> B </mml:mi></mml:math></inline-formula> is the batch size, <inline-formula><mml:math><mml:mi> T </mml:mi></mml:math></inline-formula> is the sequence length, and <inline-formula><mml:math><mml:mi> D </mml:mi></mml:math></inline-formula> is the feature dimension. The discriminator is trained to distinguish real sequences from generated ones, while the generator is trained to produce sequences that the discriminator cannot distinguish from real data.</p>
        <p>The SeriesGAN architecture was designed for general-purpose time series and produces unconstrained output values. To adapt SeriesGAN to the surgical drill dataset, enforce physical constraints, and improve training stability, we make the following three modifications:</p>
        <p>3.1.1. Modification 1—Dropout Regularization</p>
        <p>The base SeriesGAN generator consists of four stacked GRU layers that capture sequence dependencies while avoiding vanishing gradients. A dropout wrapper is applied to each GRU layer with an output keep probability of 80%. Interleaving dropout within the recurrent stack prevents any single hidden unit from dominating the learned dynamics, reducing run-to-run variance and mitigating overfitting. This is particularly important for the drill dataset, where the minority classes have few training examples, and the generator is at risk of memorizing rather than generalizing the class distribution.</p>
        <p>3.1.2. Modification 2—Hard Output Constraints</p>
        <p>The GRU stack feeds into a dense projection layer of size two, corresponding to the depth and force features, producing unconstrained real values <inline-formula><mml:math><mml:mrow><mml:mi> r </mml:mi><mml:mo> ∈ </mml:mo><mml:msup><mml:mi> ℝ </mml:mi><mml:mn> 2 </mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> . To enforce sensor-valid output ranges, a sigmoid activation is applied to squash the raw output to the unit interval given by Equation (1).</p>
        <disp-formula id="FD1">
          <label>(1)</label>
          <mml:math>
            <mml:mrow>
              <mml:mrow>
                <mml:mo>[</mml:mo>
                <mml:mi>h</mml:mi>
                <mml:mo>]</mml:mo>
              </mml:mrow>
              <mml:mover accent="true">
                <mml:mi>r</mml:mi>
                <mml:mo>˜</mml:mo>
              </mml:mover>
              <mml:mo>=</mml:mo>
              <mml:mi>σ</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>r</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>∈</mml:mo>
              <mml:msup>
                <mml:mrow>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:mn>0</mml:mn>
                      <mml:mo>,</mml:mo>
                      <mml:mn>1</mml:mn>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
                <mml:mn>2</mml:mn>
              </mml:msup>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>The squashed output is then rescaled to the physical operating range of the drill sensors using a linear transformation given by Equation (2).</p>
        <disp-formula id="FD2">
          <label>(2)</label>
          <mml:math>
            <mml:mrow>
              <mml:mrow>
                <mml:mo>[</mml:mo>
                <mml:mi>h</mml:mi>
                <mml:mo>]</mml:mo>
              </mml:mrow>
              <mml:mover accent="true">
                <mml:mi>x</mml:mi>
                <mml:mo>^</mml:mo>
              </mml:mover>
              <mml:mo>=</mml:mo>
              <mml:mover accent="true">
                <mml:mi>r</mml:mi>
                <mml:mo>˜</mml:mo>
              </mml:mover>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:msub>
                    <mml:mi>m</mml:mi>
                    <mml:mrow>
                      <mml:mtext>max</mml:mtext>
                    </mml:mrow>
                  </mml:msub>
                  <mml:mo>−</mml:mo>
                  <mml:msub>
                    <mml:mi>m</mml:mi>
                    <mml:mrow>
                      <mml:mtext>min</mml:mtext>
                    </mml:mrow>
                  </mml:msub>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mi>m</mml:mi>
                <mml:mrow>
                  <mml:mtext>min</mml:mtext>
                </mml:mrow>
              </mml:msub>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>where <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> m </mml:mi><mml:mrow><mml:mtext> min </mml:mtext></mml:mrow></mml:msub><mml:mo> = </mml:mo><mml:mrow><mml:mo> [ </mml:mo><mml:mrow><mml:mn> 0 </mml:mn><mml:mo> , </mml:mo><mml:mn> 0 </mml:mn></mml:mrow><mml:mo> ] </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> m </mml:mi><mml:mrow><mml:mtext> max </mml:mtext></mml:mrow></mml:msub><mml:mo> = </mml:mo><mml:mrow><mml:mo> [ </mml:mo><mml:mrow><mml:mn> 60 </mml:mn><mml:mtext>   </mml:mtext><mml:mtext> mm </mml:mtext><mml:mo> , </mml:mo><mml:mn> 22 </mml:mn><mml:mtext>   </mml:mtext><mml:mtext> lbf </mml:mtext></mml:mrow><mml:mo> ] </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> , corresponding to the minimum and maximum depth and force values observed across all drilling sequences in this dataset. These bounds are distinct from the force and depth sensors’ full hardware ranges used for normalization in Section 4; the generator is constrained to the physically achievable range of possible surgical procedures rather than the sensor’s theoretical limits. <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> m </mml:mi><mml:mrow><mml:mtext> min </mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> m </mml:mi><mml:mrow><mml:mtext> max </mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> were selected to effectively address the observed depth limits of surgical procedures in the dataset.</p>
        <p>This ensures that every generated sequence falls within the physically valid range of the depth and force sensors, regardless of the generator’s internal state. The full constrained generator procedure is presented in <bold>Algorithm 1</bold>.</p>
        <fig id="fig3">
          <label>Figure 3</label>
          <graphic xlink:href="https://html.scirp.org/file/9601761-rId39.jpeg?20260716021212" />
        </fig>
        <p>3.1.3. Modification 3—Physics-Constrained Generator Loss</p>
        <p>We add two differentiable physics penalty terms into the generator loss alongside the standard adversarial loss <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> L </mml:mi><mml:mrow><mml:mtext> GAN </mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> . This allows us to penalize the physically invalid drill sequences generated by the network. The two physics penalty terms are:</p>
        <p>Bound-violation loss: which penalizes any generated depth value that falls outside the defined physical limits given by Equation (3). Where <inline-formula><mml:math><mml:mi> d </mml:mi></mml:math></inline-formula> denotes a depth value in mm, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> d </mml:mi><mml:mrow><mml:mtext> max </mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> d </mml:mi><mml:mrow><mml:mtext> min </mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> are the maximum and minimum permissible depths respectively, and <inline-formula><mml:math><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi> d </mml:mi><mml:mo> ^ </mml:mo></mml:mover><mml:mi> t </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the generated depth at time <inline-formula><mml:math><mml:mi> t </mml:mi></mml:math></inline-formula> .</p>
        <disp-formula id="FD3">
          <label>(3)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>L</mml:mi>
                <mml:mrow>
                  <mml:mtext>bound</mml:mtext>
                </mml:mrow>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:msub>
                <mml:mi mathvariant="double-struck">E</mml:mi>
                <mml:mi>t</mml:mi>
              </mml:msub>
              <mml:mrow>
                <mml:mo>[</mml:mo>
                <mml:mrow>
                  <mml:mtext>max</mml:mtext>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:mn>0</mml:mn>
                      <mml:mo>,</mml:mo>
                      <mml:msub>
                        <mml:mover accent="true">
                          <mml:mi>d</mml:mi>
                          <mml:mo>^</mml:mo>
                        </mml:mover>
                        <mml:mi>t</mml:mi>
                      </mml:msub>
                      <mml:mo>−</mml:mo>
                      <mml:msub>
                        <mml:mi>d</mml:mi>
                        <mml:mrow>
                          <mml:mtext>max</mml:mtext>
                        </mml:mrow>
                      </mml:msub>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                  <mml:mo>+</mml:mo>
                  <mml:mtext>max</mml:mtext>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:mn>0</mml:mn>
                      <mml:mo>,</mml:mo>
                      <mml:msub>
                        <mml:mi>d</mml:mi>
                        <mml:mrow>
                          <mml:mtext>min</mml:mtext>
                        </mml:mrow>
                      </mml:msub>
                      <mml:mo>−</mml:mo>
                      <mml:msub>
                        <mml:mover accent="true">
                          <mml:mi>d</mml:mi>
                          <mml:mo>^</mml:mo>
                        </mml:mover>
                        <mml:mi>t</mml:mi>
                      </mml:msub>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
                <mml:mo>]</mml:mo>
              </mml:mrow>
              <mml:mo>.</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>Monotonicity loss: which penalizes any decrease in depth between consecutive time steps, reflecting the physical constraint that the drill advances continuously and does not move backward during a drilling sequence given by Equation (4).</p>
        <disp-formula id="FD4">
          <label>(4)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>L</mml:mi>
                <mml:mrow>
                  <mml:mtext>mono</mml:mtext>
                </mml:mrow>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:msub>
                <mml:mi mathvariant="double-struck">E</mml:mi>
                <mml:mi>t</mml:mi>
              </mml:msub>
              <mml:mrow>
                <mml:mo>[</mml:mo>
                <mml:mrow>
                  <mml:mtext>max</mml:mtext>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:mn>0</mml:mn>
                      <mml:mo>,</mml:mo>
                      <mml:msub>
                        <mml:mover accent="true">
                          <mml:mi>d</mml:mi>
                          <mml:mo>^</mml:mo>
                        </mml:mover>
                        <mml:mi>t</mml:mi>
                      </mml:msub>
                      <mml:mo>−</mml:mo>
                      <mml:msub>
                        <mml:mover accent="true">
                          <mml:mi>d</mml:mi>
                          <mml:mo>^</mml:mo>
                        </mml:mover>
                        <mml:mrow>
                          <mml:mi>t</mml:mi>
                          <mml:mo>+</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                      </mml:msub>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
                <mml:mo>]</mml:mo>
              </mml:mrow>
              <mml:mo>.</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>Finally, the total generator loss, which combines the adversarial loss with both physics penalties and is weighted by <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> λ </mml:mi><mml:mn> 1 </mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> λ </mml:mi><mml:mn> 2 </mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> , is given in Equation (5).</p>
        <disp-formula id="FD5">
          <label>(5)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>L</mml:mi>
                <mml:mi>G</mml:mi>
              </mml:msub>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>θ</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:msub>
                <mml:mi>L</mml:mi>
                <mml:mrow>
                  <mml:mtext>GAN</mml:mtext>
                </mml:mrow>
              </mml:msub>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>θ</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mi>λ</mml:mi>
                <mml:mn>1</mml:mn>
              </mml:msub>
              <mml:msub>
                <mml:mi>L</mml:mi>
                <mml:mrow>
                  <mml:mtext>bound</mml:mtext>
                </mml:mrow>
              </mml:msub>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>θ</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mi>λ</mml:mi>
                <mml:mn>2</mml:mn>
              </mml:msub>
              <mml:msub>
                <mml:mi>L</mml:mi>
                <mml:mrow>
                  <mml:mtext>mono</mml:mtext>
                </mml:mrow>
              </mml:msub>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>θ</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>.</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>where <inline-formula><mml:math><mml:mi> θ </mml:mi></mml:math></inline-formula> denotes the trainable parameters of the generator network.</p>
        <p>To prevent training instability during the early stages of optimization, the penalty weights are annealed linearly from zero to their maximum values over the first half of training iterations. The <inline-formula><mml:math><mml:mi> λ </mml:mi></mml:math></inline-formula> term is given by Equation (6).</p>
        <disp-formula id="FD6">
          <label>(6)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>λ</mml:mi>
                <mml:mi>i</mml:mi>
              </mml:msub>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>k</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:msub>
                <mml:mi>λ</mml:mi>
                <mml:mrow>
                  <mml:mi>i</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mtext>max</mml:mtext>
                </mml:mrow>
              </mml:msub>
              <mml:mfrac>
                <mml:mi>k</mml:mi>
                <mml:mrow>
                  <mml:mi>K</mml:mi>
                  <mml:mo>−</mml:mo>
                  <mml:mn>1</mml:mn>
                </mml:mrow>
              </mml:mfrac>
              <mml:mo>,</mml:mo>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mi>k</mml:mi>
              <mml:mo>=</mml:mo>
              <mml:mn>0</mml:mn>
              <mml:mo>,</mml:mo>
              <mml:mn>1</mml:mn>
              <mml:mo>,</mml:mo>
              <mml:mo>⋯</mml:mo>
              <mml:mo>,</mml:mo>
              <mml:mi>K</mml:mi>
              <mml:mo>−</mml:mo>
              <mml:mn>1</mml:mn>
              <mml:mo>,</mml:mo>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mi>i</mml:mi>
              <mml:mo>∈</mml:mo>
              <mml:mrow>
                <mml:mo>{</mml:mo>
                <mml:mrow>
                  <mml:mn>1</mml:mn>
                  <mml:mo>,</mml:mo>
                  <mml:mn>2</mml:mn>
                </mml:mrow>
                <mml:mo>}</mml:mo>
              </mml:mrow>
              <mml:mo>.</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>The full physics-constrained training algorithm is presented in <bold>Algorithm 2</bold>.</p>
        <fig id="fig4">
          <label>Figure 4</label>
          <graphic xlink:href="https://html.scirp.org/file/9601761-rId68.jpeg?20260716021212" />
        </fig>
      </sec>
      <sec id="sec3dot2">
        <title>3.2. Implementation Details</title>
        <p>P-GAN is implemented in TensorFlow. The generator consists of four GRU layers with a hidden dimension of <inline-formula><mml:math><mml:mrow><mml:mi> D </mml:mi><mml:mo> = </mml:mo><mml:mn> 2 </mml:mn></mml:mrow></mml:math></inline-formula> , followed by the constrained output layer. All models are trained with a batch size of 128 and a constant learning rate of 0.0001 using the Adam optimizer. The physics penalty weights are annealed to their maximum values, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> λ </mml:mi><mml:mn> 1 </mml:mn></mml:msub><mml:mo> = </mml:mo><mml:mn> 1.0 </mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> λ </mml:mi><mml:mn> 2 </mml:mn></mml:msub><mml:mo> = </mml:mo><mml:mn> 0.5 </mml:mn></mml:mrow></mml:math></inline-formula> , over the first half of the training epochs.</p>
      </sec>
    </sec>
    <sec id="sec4">
      <title>4. Dataset and Evaluation Metrics</title>
      <sec id="sec4dot1">
        <title>4.1. Drill Dataset</title>
        <p>The raw drill dataset was collected from a medical drilling experiment and consists of two primary measurements: the force (in lbf) applied by the drill and the drill depth (in mm). These measurements were continuously recorded at high temporal resolution during drilling using the attached sensors at a constant sampling rate.</p>
        <p>After acquiring the raw data, feature normalization was applied by scaling the raw values to the range <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mo> [ </mml:mo><mml:mrow><mml:mn> 0 </mml:mn><mml:mo> , </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mo> ] </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> using the sensor’s maximum depth capacity (600 mm) and the largest force value observed in the dataset (22 lbf). Note that while 600 mm represents the sensor’s full hardware range, the actual drilling depth observed across all sequences is bounded by 60 mm, which is used as the generator’s hard output constraint in Section 3. <xref ref-type="fig" rid="fig1">Figure 1</xref> provides the visual context that illustrates a simplified view of the bone drilling process, with four distinct classes corresponding to different drilling depths: in bone wall 1 (class 1), between walls (class 2), in bone wall 2 (class 3), and through bone (class 4).</p>
        <p>During preprocessing, the data was partitioned into 1341 series, yielding 1,375,999 samples. Partitioning was guided by label confidence. The domain expert assigned the highest confidence labels, which were then split into the validation and test sets. The training set was labeled accordingly. The resulting distribution of data instances across the four classes is as follows: 28.54% for class 1 (in bone wall 1), 12.15% for class 2 (between walls), 41.04% for class 3 (in bone wall 2), and 18.26% for class 4 (through bone).</p>
        <p>The imbalanced nature of the training dataset, particularly the under-representation of classes 2 and 4, hinders the downstream task of training a neural network classifier. Although theoretical expectations suggest that force values should be higher when the drill contacts the bone and lower when drilling elsewhere, this relationship is not consistently observed, further emphasizing the need for synthetic data generation to balance the dataset.</p>
      </sec>
      <sec id="sec4dot2">
        <title>4.2. Evaluation Metrics</title>
        <p>We utilized the following two metrics to evaluate the performance of the generated synthetic samples.</p>
        <p>4.2.1. Discriminative Score</p>
        <p>The discriminative score is a quantitative metric that measures how well synthetic data can be distinguished from real data. To compute this score, a post hoc time-series classification model (a Long Short-Term Memory (LSTM) network) is trained to distinguish between real and generated sequences. The classifier’s error on the held-out test set reflects the similarity between the two distributions. Here, a lower error rate, adjusted to an optimal value of zero, implies that the synthetic data is nearly indistinguishable from the original data. This metric serves as a proxy for measuring the generative model’s ability to accurately mimic the real data distribution. The calculation for this metric is given by Equation (7), where accuracy is the post-hoc classifier’s classification accuracy.</p>
        <disp-formula id="FD7">
          <label>(7)</label>
          <mml:math>
            <mml:mrow>
              <mml:mtext>Discriminative Score</mml:mtext>
              <mml:mo>=</mml:mo>
              <mml:mrow>
                <mml:mo>|</mml:mo>
                <mml:mrow>
                  <mml:mn>0.5</mml:mn>
                  <mml:mo>−</mml:mo>
                  <mml:mtext>accuracy</mml:mtext>
                </mml:mrow>
                <mml:mo>|</mml:mo>
              </mml:mrow>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>4.2.2. Mean Absolute Error (MAE)</p>
        <p>To assess whether the generated data preserves the temporal dependencies, the MAE is calculated. For this evaluation, an LSTM model is trained on the synthetic dataset for one-step-ahead prediction. The trained model is then tested on the real dataset, and forecasting performance is measured as the MAE, Equation (8) between the actual values (<inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> y </mml:mi><mml:mi> i </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> ) and the predicted values (<inline-formula><mml:math><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi> y </mml:mi><mml:mo> ^ </mml:mo></mml:mover><mml:mi> i </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> ). <inline-formula><mml:math><mml:mi> N </mml:mi></mml:math></inline-formula> is the total number of samples considered in the evaluation. A low MAE indicates that the synthetic data retains sufficient predictive information, making it beneficial for downstream time-series prediction applications.</p>
        <disp-formula id="FD8">
          <label>(8)</label>
          <mml:math display="inline">
            <mml:mrow>
              <mml:mtext>MAE</mml:mtext>
              <mml:mo>=</mml:mo>
              <mml:mfrac>
                <mml:mn>1</mml:mn>
                <mml:mi>N</mml:mi>
              </mml:mfrac>
              <mml:munderover>
                <mml:mstyle displaystyle="true" mathsize="140%">
                  <mml:mo>∑</mml:mo>
                </mml:mstyle>
                <mml:mrow>
                  <mml:mi>i</mml:mi>
                  <mml:mo>=</mml:mo>
                  <mml:mn>1</mml:mn>
                </mml:mrow>
                <mml:mi>N</mml:mi>
              </mml:munderover>
              <mml:mrow>
                <mml:mo>|</mml:mo>
                <mml:mrow>
                  <mml:msub>
                    <mml:mi>y</mml:mi>
                    <mml:mi>i</mml:mi>
                  </mml:msub>
                  <mml:mo>−</mml:mo>
                  <mml:msub>
                    <mml:mover accent="true">
                      <mml:mi>y</mml:mi>
                      <mml:mo>^</mml:mo>
                    </mml:mover>
                    <mml:mi>i</mml:mi>
                  </mml:msub>
                </mml:mrow>
                <mml:mo>|</mml:mo>
              </mml:mrow>
            </mml:mrow>
          </mml:math>
        </disp-formula>
      </sec>
    </sec>
    <sec id="sec5">
      <title>5. Results</title>
      <p>This section covers the results obtained. First, we present the results obtained regarding the quality of the generated synthetic data. Second, we augment the generated data with the drill dataset and study the classifier’s performance. Furthermore, we perform an ablation study to understand the effects of three modifications and present the incremental improvement from each.</p>
      <sec id="sec5dot1">
        <title>5.1. Modification-Based Performance</title>
        <p>The performance improvements based on the three modifications are shown in <bold>Table 1</bold>. Lower values are ideal for both metrics: a discriminative score near zero indicates that synthetic sequences are statistically indistinguishable from real ones, and a lower MAE indicates that temporal structure is preserved. The percentage changes in <bold>Table 1</bold> follow this convention, where a negative percentage change indicates a lower, and thus more ideal.</p>
        <p><bold>Table 1</bold><bold>.</bold> SeriesGAN results over all model variations with drill dataset: Discriminative, predictive score, and percentage change in performance.</p>
        <table-wrap id="tbl1">
          <label>Table 1</label>
          <table>
            <tbody>
              <tr>
                <td>Model</td>
                <td>Discriminative Score (% Change)</td>
                <td>MAE (% Change)</td>
              </tr>
              <tr>
                <td>Vanilla</td>
                <td>0.2813 ± 0.0699 (0% Baseline)</td>
                <td>0.2651 ± 0.0011 (0% Baseline)</td>
              </tr>
              <tr>
                <td>+Constrained</td>
                <td>0.1941 ± 0.1256 (−31.0%)</td>
                <td>0.3029 ± 0.0065 (+12.5%)</td>
              </tr>
              <tr>
                <td>+Dropout</td>
                <td>0.2374 ± 0.0209 (−15.6%)</td>
                <td>0.236 ± 0.0086 (−11.0%)</td>
              </tr>
              <tr>
                <td>+Physics</td>
                <td>0.2084 ± 0.0639 (−25.9%)</td>
                <td>0.2257 ± 0.0149 (−14.9%)</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>Adding hard output constraints improved the discriminative score substantially (−31.0%), indicating that bounding depth and force to sensor-valid ranges produce sequences that more closely resemble real data. However, the MAE increased (+12.5%), suggesting the constrained generator overfits to the valid range boundaries rather than capturing the underlying temporal dynamics. The subsequent addition of dropout corrected this overfitting: discriminative score and MAE improved relative to the constrained-only configuration, recovering predictive quality while retaining most of the discriminative gain. Finally, incorporating physics-augmented loss terms further improved both metrics, yielding the best overall MAE (0.2257) and a discriminative score (0.2084) well below the vanilla baseline. These findings highlight that constraint enforcement, regularization, and physics-informed training are complementary, as each addresses a distinct failure mode, and all three are necessary for the full benefit.</p>
      </sec>
      <sec id="sec5dot2">
        <title>5.2. Ablation Study</title>
        <p>To evaluate the individual contributions of the various novel additions to the SeriesGAN model, a more detailed ablation study was conducted. Several versions of the SeriesGAN model were evaluated, each incorporating different combinations of model components: hard output constraints to enforce domain-specific bounds, dropout to prevent overfitting, and physics-informed loss functions to penalize physically implausible sequences.</p>
        <p><bold>Table 2</bold><bold>.</bold> SeriesGAN results over all model variations with drill dataset: Discriminative and predictive score.</p>
        <table-wrap id="tbl2">
          <label>Table 2</label>
          <table>
            <tbody>
              <tr>
                <td>Model</td>
                <td>Discriminative Score</td>
                <td>MAE</td>
              </tr>
              <tr>
                <td>Vanilla</td>
                <td>0.2813 ± 0.0699</td>
                <td>0.2651 ± 0.0011</td>
              </tr>
              <tr>
                <td>Constrained Only</td>
                <td>0.1941 ± 0.1256</td>
                <td>0.3029 ± 0.0065</td>
              </tr>
              <tr>
                <td>Dropout Only</td>
                <td>0.3266 ± 0.045</td>
                <td>0.2524 ± 0.0003</td>
              </tr>
              <tr>
                <td>Physics Only</td>
                <td>0.0645 ± 0.0498</td>
                <td>0.2165 ± 0.0009</td>
              </tr>
              <tr>
                <td>Physics + Constrained</td>
                <td>0.1443 ± 0.0895</td>
                <td>0.2292 ± 0.0003</td>
              </tr>
              <tr>
                <td>Physics + Dropout</td>
                <td>0.2655 ± 0.1136</td>
                <td>0.2803 ± 0.0041</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>The performance of all model combinations is summarized in <bold>Table 2</bold>. The discriminative score measures how indistinguishable synthetic data is from real data (lower is better, with zero being ideal), while the MAE assesses how well the synthetic data’s temporal structure transfers to real-data prediction tasks. The Vanilla model serves as the baseline.</p>
        <p><bold>Constrained Only:</bold> Applying hard output constraints alone produced the second-best discriminative score (0.1941), a meaningful improvement over the vanilla baseline (0.2813). However, the MAE increased from 0.2651 to 0.3029, indicating that while constraining outputs to sensor-valid ranges makes sequences look more realistic to a discriminator, it does not ensure that the underlying temporal dynamics are faithfully reproduced. The generator learns to stay within physical bounds but tends to overfit to the boundary region rather than generalizing the class distribution.</p>
        <p><bold>Dropout Only:</bold> Adding dropout without any physical constraints increased the discriminative score from 0.2813 to 0.3266, meaning synthetic sequences became easier to distinguish from real data. Dropout alone, without any guidance about valid sensor ranges, reduces the generator’s capacity to reproduce fine-grained signal characteristics. The MAE decreased slightly (0.2651 to 0.2524), consistent with dropout’s role as a regularizer that discourages memorization and improves generalization of temporal patterns.</p>
        <p><bold>Physics Only:</bold> The physics-augmented loss alone produced the lowest discriminative score in the entire ablation (0.0645), indicating that penalizing monotonicity violations and bound violations is the single most powerful driver of statistical realism in this dataset. The MAE also decreased relative to the baseline (0.2165). However, this configuration exhibited high variance and training instability in practice: without the sigmoid-clamping of hard output constraints to anchor the generator’s output range, the physics penalty alone is insufficient to stabilize training across runs. This motivates combining the physics loss with at least one structural modification.</p>
        <p><bold>Physics + Constrained:</bold> Combining the physics loss with hard output constraints improved the discriminative score substantially (0.1443) and produced a low MAE (0.2292). Relative to Physics Only, the discriminative score has increased, which reflects the trade-off introduced by sigmoid clamping: the hard constraints stabilize training but restrict the generator’s output distribution, slightly reducing its ability to match the full range of real sequences.</p>
        <p><bold>Physics + Dropout:</bold> Pairing the physics loss with dropout, but without hard output constraints, yielded a discriminative score of 0.2655 and the worst MAE among physics-containing configurations (0.2803). Without the sigmoid clamping to bound outputs, dropout alone is insufficient to prevent the generator from producing out-of-range values, which degrades both metrics relative to the full P-GAN configuration.</p>
        <p>Overall, the ablation demonstrates that all three modifications are complementary. Hard output constraints provide training stability and range validity; dropout prevents overfitting on the small minority-class training sets; and the physics-augmented loss directly encodes domain knowledge about drilling dynamics. The complete P-GAN, incorporating all three, achieves the best balance of discriminative realism and MAE, and avoids the instability observed in the Physics Only configuration.</p>
      </sec>
      <sec id="sec5dot3">
        <title>5.3. Effect of Synthetic Data on Classification</title>
        <p>5.3.1. Experimental Setup</p>
        <p>For the downstream classifier, we adopt the GRU-based model without modification from Blaney and Muknahallipatna [<xref ref-type="bibr" rid="B1">1</xref>], which evaluated several deep models for time-series individual data-instance classification on the same drill dataset and reported GRU as the best-performing baseline among the tested architectures. Consistent with that work, we train one-vs-rest (OvR) binary classifiers for each of the four drill regions (classes 1 - 4) using a univariate input (Depth in mm), window length <inline-formula><mml:math><mml:mrow><mml:mi> T </mml:mi><mml:mo> = </mml:mo><mml:mn> 100 </mml:mn></mml:mrow></mml:math></inline-formula> , batch size 128, and a decision threshold of 0.5.</p>
        <p>All OvR heads use the same optimizer and early stopping settings as the baseline in [<xref ref-type="bibr" rid="B1">1</xref>], with a batch size of 128. To isolate the effect of synthetic augmentation, we evaluate at a fixed decision threshold of 0.5 for every head and report Accuracy (Acc.), Precision (Prec.), Recall (Rec.), and F1 on the held-out test set. The univariate Depth-only input is justified by prior findings that bivariate (Depth + Force) did not improve accuracy relative to Depth alone on this dataset [<xref ref-type="bibr" rid="B1">1</xref>]. The results in <bold>Tables 3</bold><bold>-</bold><bold>7</bold> show the results in which synthetic data was added only to</p>
        <p><bold>Table 3</bold><bold>.</bold> Performance of RNN aggregated across runs. # Synth. = Number of Synthetic Samples, Acc. = Accuracy, Prec. = Precision, Rec. = Recall.</p>
        <table-wrap id="tbl3">
          <label>Table 3</label>
          <table>
            <tbody>
              <tr>
                <td>Class</td>
                <td># Synth.</td>
                <td>Acc.</td>
                <td>Prec.</td>
                <td>Rec.</td>
                <td>F1</td>
              </tr>
              <tr>
                <td>1</td>
                <td>0</td>
                <td>97.42%</td>
                <td>99.49%</td>
                <td>97.14%</td>
                <td>98.30%</td>
              </tr>
              <tr>
                <td>2</td>
                <td>0</td>
                <td>21.48%</td>
                <td>39.84%</td>
                <td>94.83%</td>
                <td>56.11%</td>
              </tr>
              <tr>
                <td>2</td>
                <td>150</td>
                <td>55.30%</td>
                <td>53.95%</td>
                <td>96.24%</td>
                <td>69.14%</td>
              </tr>
              <tr>
                <td>3</td>
                <td>0</td>
                <td>88.75%</td>
                <td>98.15%</td>
                <td>82.87%</td>
                <td>89.87%</td>
              </tr>
              <tr>
                <td>4</td>
                <td>0</td>
                <td>77.95%</td>
                <td>81.47%</td>
                <td>98.62%</td>
                <td>89.22%</td>
              </tr>
              <tr>
                <td>4</td>
                <td>150</td>
                <td>84.26%</td>
                <td>81.46%</td>
                <td>98.62%</td>
                <td>92.30%</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p><bold>Table 4</bold><bold>.</bold> Performance of CNN aggregated across runs. # Synth. = Number of Synthetic Samples, Acc. = Accuracy, Prec. = Precision, Rec. = Recall.</p>
        <table-wrap id="tbl4">
          <label>Table 4</label>
          <table>
            <tbody>
              <tr>
                <td>Class</td>
                <td># Synth.</td>
                <td>Acc.</td>
                <td>Prec.</td>
                <td>Rec.</td>
                <td>F1</td>
              </tr>
              <tr>
                <td>1</td>
                <td>0</td>
                <td>96.44%</td>
                <td>97.57%</td>
                <td>97.78%</td>
                <td>97.67%</td>
              </tr>
              <tr>
                <td>2</td>
                <td>0</td>
                <td>35.70%</td>
                <td>85.58%</td>
                <td>99.14%</td>
                <td>92.00%</td>
              </tr>
              <tr>
                <td>2</td>
                <td>150</td>
                <td>83.32%</td>
                <td>97.18%</td>
                <td>99.06%</td>
                <td>92.74%</td>
              </tr>
              <tr>
                <td>3</td>
                <td>0</td>
                <td>90.62%</td>
                <td>97.03%</td>
                <td>85.39%</td>
                <td>90.84%</td>
              </tr>
              <tr>
                <td>4</td>
                <td>0</td>
                <td>59.00%</td>
                <td>94.37%</td>
                <td>56.28%</td>
                <td>70.51%</td>
              </tr>
              <tr>
                <td>4</td>
                <td>150</td>
                <td>85.20%</td>
                <td>98.17%</td>
                <td>92.83%</td>
                <td>95.43%</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>the original dataset for cases in which classes 2 and 4 were trained.</p>
        <p>Next, the dataset was augmented with synthetic data for all training runs. A total of 300 synthetic sequences were added, 150 belonging to class 1, and the remaining 150 belonging to class 3.</p>
        <p><bold>Table 5</bold><bold>.</bold> Performance of RNN aggregated across runs all with synthetic data. # Synth. = Number of Synthetic Samples, Acc. = Accuracy, Prec. = Precision, Rec. = Recall.</p>
        <table-wrap id="tbl5">
          <label>Table 5</label>
          <table>
            <tbody>
              <tr>
                <td>Feature Set</td>
                <td>Class</td>
                <td>Acc.</td>
                <td>Prec.</td>
                <td>Rec.</td>
                <td>F1</td>
              </tr>
              <tr>
                <td rowspan="4">Bivariate</td>
                <td>1</td>
                <td>96.82%</td>
                <td>97.09%</td>
                <td>98.82%</td>
                <td>97.95%</td>
              </tr>
              <tr>
                <td>2</td>
                <td>37.74%</td>
                <td>1.00%</td>
                <td>92.81%</td>
                <td>96.27%</td>
              </tr>
              <tr>
                <td>3</td>
                <td>87.78%</td>
                <td>76.62%</td>
                <td>30.27%</td>
                <td>43.40%</td>
              </tr>
              <tr>
                <td>4</td>
                <td>92.36%</td>
                <td>41.31%</td>
                <td>97.92%</td>
                <td>58.10%</td>
              </tr>
              <tr>
                <td rowspan="4">Depth (Univariate)</td>
                <td>1</td>
                <td>97.41%</td>
                <td>97.61%</td>
                <td>99.13%</td>
                <td>98.36%</td>
              </tr>
              <tr>
                <td>2</td>
                <td>92.06%</td>
                <td>1.00%</td>
                <td>92.81%</td>
                <td>96.27%</td>
              </tr>
              <tr>
                <td>3</td>
                <td>89.47%</td>
                <td>96.18%</td>
                <td>83.98%</td>
                <td>89.67%</td>
              </tr>
              <tr>
                <td>4</td>
                <td>93.50%</td>
                <td>96.80%</td>
                <td>94.25%</td>
                <td>95.51%</td>
              </tr>
              <tr>
                <td rowspan="4">Force (Univariate)</td>
                <td>1</td>
                <td>85.10%</td>
                <td>1.00%</td>
                <td>75.03%</td>
                <td>85.74%</td>
              </tr>
              <tr>
                <td>2</td>
                <td>92.06%</td>
                <td>1.00%</td>
                <td>92.813%</td>
                <td>96.27%</td>
              </tr>
              <tr>
                <td>3</td>
                <td>51.77%</td>
                <td>99.99%</td>
                <td>50.82%</td>
                <td>67.39%</td>
              </tr>
              <tr>
                <td>4</td>
                <td>80.94%</td>
                <td>99.95%</td>
                <td>81.463%</td>
                <td>89.762%</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p><bold>Table 6</bold><bold>.</bold> Performance of CNN aggregated across runs with synthetic data. # Synth. = Number of Synthetic Samples, Acc. = Accuracy, Prec. = Precision, Rec. = Recall.</p>
        <table-wrap id="tbl6">
          <label>Table 6</label>
          <table>
            <tbody>
              <tr>
                <td>Feature Set</td>
                <td>Class</td>
                <td>Acc.</td>
                <td>Prec.</td>
                <td>Rec.</td>
                <td>F1</td>
              </tr>
              <tr>
                <td rowspan="4">Bivariate</td>
                <td>1</td>
                <td>90.40%</td>
                <td>94.02%</td>
                <td>99.29%</td>
                <td>96.59%</td>
              </tr>
              <tr>
                <td>2</td>
                <td>61.45%</td>
                <td>66.09%</td>
                <td>95.18%</td>
                <td>77.99%</td>
              </tr>
              <tr>
                <td>3</td>
                <td>83.78%</td>
                <td>87.62%</td>
                <td>79.86%</td>
                <td>83.56%</td>
              </tr>
              <tr>
                <td>4</td>
                <td>93.07%</td>
                <td>99.64%</td>
                <td>91.72%</td>
                <td>95.51%</td>
              </tr>
              <tr>
                <td rowspan="4">Depth (Univariate)</td>
                <td>1</td>
                <td>96.18%</td>
                <td>97.16%</td>
                <td>97.89%</td>
                <td>97.52%</td>
              </tr>
              <tr>
                <td>2</td>
                <td>77.74%</td>
                <td>84.26%</td>
                <td>99.78%</td>
                <td>91.37%</td>
              </tr>
              <tr>
                <td>3</td>
                <td>93.60%</td>
                <td>98.03%</td>
                <td>89.17%</td>
                <td>93.40%</td>
              </tr>
              <tr>
                <td>4</td>
                <td>78.28%</td>
                <td>87.47%</td>
                <td>92.01%</td>
                <td>89.68%</td>
              </tr>
              <tr>
                <td rowspan="4">Force (Univariate)</td>
                <td>1</td>
                <td>72.87%</td>
                <td>78.74%</td>
                <td>85.83%</td>
                <td>82.13%</td>
              </tr>
              <tr>
                <td>2</td>
                <td>84.22%</td>
                <td>97.13%</td>
                <td>92.75%</td>
                <td>94.89%</td>
              </tr>
              <tr>
                <td>3</td>
                <td>62.41%</td>
                <td>86.69%</td>
                <td>57.93%</td>
                <td>69.54%</td>
              </tr>
              <tr>
                <td>4</td>
                <td>66.48%</td>
                <td>80.97%</td>
                <td>80.70%</td>
                <td>80.83%</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p><bold>Table 7</bold><bold>.</bold> Performance of ResNet aggregated across runs with synthetic data. # Synth. = Number of Synthetic Samples, Acc. = Accuracy, Prec. = Precision, Rec. = Recall.</p>
        <table-wrap id="tbl7">
          <label>Table 7</label>
          <table>
            <tbody>
              <tr>
                <td>Feature Set</td>
                <td>Class</td>
                <td>Acc.</td>
                <td>Prec.</td>
                <td>Rec.</td>
                <td>F1</td>
              </tr>
              <tr>
                <td rowspan="4">Bivariate</td>
                <td>1</td>
                <td>95.39%</td>
                <td>99.97%</td>
                <td>79.27%</td>
                <td>88.42%</td>
              </tr>
              <tr>
                <td>2</td>
                <td>54.88%</td>
                <td>93.16%</td>
                <td>92.43%</td>
                <td>92.80%</td>
              </tr>
              <tr>
                <td>3</td>
                <td>72.03%</td>
                <td>99.23%</td>
                <td>51.52%</td>
                <td>67.83%</td>
              </tr>
              <tr>
                <td>4</td>
                <td>86.39%</td>
                <td>98.19%</td>
                <td>85.07%</td>
                <td>91.15%</td>
              </tr>
              <tr>
                <td rowspan="4">Depth (Univariate)</td>
                <td>1</td>
                <td>96.31%</td>
                <td>1.00%</td>
                <td>75.03%</td>
                <td>85.74%</td>
              </tr>
              <tr>
                <td>2</td>
                <td>62.92%</td>
                <td>95.81%</td>
                <td>97.51%</td>
                <td>96.65%</td>
              </tr>
              <tr>
                <td>3</td>
                <td>89.28%</td>
                <td>99.61%</td>
                <td>11.96%</td>
                <td>21.36%</td>
              </tr>
              <tr>
                <td>4</td>
                <td>92.39%</td>
                <td>98.61%</td>
                <td>93.35%</td>
                <td>95.91%</td>
              </tr>
              <tr>
                <td rowspan="4">Force (Univariate)</td>
                <td>1</td>
                <td>63.91%</td>
                <td>80.37%</td>
                <td>81.80%</td>
                <td>81.07%</td>
              </tr>
              <tr>
                <td>2</td>
                <td>68.37%</td>
                <td>88.65%</td>
                <td>92.62%</td>
                <td>90.60%</td>
              </tr>
              <tr>
                <td>3</td>
                <td>51.77%</td>
                <td>99.69%</td>
                <td>50.82%</td>
                <td>67.32%</td>
              </tr>
              <tr>
                <td>4</td>
                <td>76.89%</td>
                <td>96.80%</td>
                <td>81.38%</td>
                <td>88.42%</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>5.3.2. Data Splits and Augmentation Protocol</p>
        <p>Following [<xref ref-type="bibr" rid="B1">1</xref>], the original 2023 validation and test partitions are kept fixed to avoid leakage. Synthetic sequences are added only to the training fold of targeted classes. Unless otherwise noted, all synthetic sequences use the same window length (<inline-formula><mml:math><mml:mrow><mml:mi> T </mml:mi><mml:mo> = </mml:mo><mml:mn> 100 </mml:mn></mml:mrow></mml:math></inline-formula> ), normalization <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mi> μ </mml:mi><mml:mo> , </mml:mo><mml:mi> σ </mml:mi></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> , and preprocessing as the baseline, and respect the physical constraints described in the Method section. In the one-vs-rest (OvR) setup, class <inline-formula><mml:math><mml:mi> k </mml:mi></mml:math></inline-formula> receives synthetic positives when training the <italic>k</italic>th binary head; negatives are drawn from the union of the remaining (real) classes. Validation and test folds contain no synthetic data.</p>
        <p>5.3.3. Data Imbalance Addressed by Synthetic Data Augmentation</p>
        <p>The statistics of the data balance of the original dataset is shown in <bold>Table 8</bold> and the same analysis for the synthetically augmented dataset is shown in <bold>Table 9</bold>. Each table reports the per-class sample counts (# Samples) and the resulting percentage share</p>
        <disp-formula id="FD9">
          <mml:math display="inline">
            <mml:mrow>
              <mml:mtext>%Samples</mml:mtext>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>k</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:mfrac>
                <mml:mrow>
                  <mml:mo>#</mml:mo>
                  <mml:mtext>Samples</mml:mtext>
                  <mml:mtext>
                     
                  </mml:mtext>
                  <mml:mtext>in</mml:mtext>
                  <mml:mtext>
                     
                  </mml:mtext>
                  <mml:mtext>class</mml:mtext>
                  <mml:mtext>
                     
                  </mml:mtext>
                  <mml:mi>k</mml:mi>
                </mml:mrow>
                <mml:mrow>
                  <mml:mstyle displaystyle="true">
                    <mml:msub>
                      <mml:mo>∑</mml:mo>
                      <mml:mrow>
                        <mml:mi>c</mml:mi>
                        <mml:mo>∈</mml:mo>
                        <mml:mrow>
                          <mml:mo>{</mml:mo>
                          <mml:mrow>
                            <mml:mn>0</mml:mn>
                            <mml:mo>,</mml:mo>
                            <mml:mn>1</mml:mn>
                            <mml:mo>,</mml:mo>
                            <mml:mn>2</mml:mn>
                            <mml:mo>,</mml:mo>
                            <mml:mn>3</mml:mn>
                          </mml:mrow>
                          <mml:mo>}</mml:mo>
                        </mml:mrow>
                      </mml:mrow>
                    </mml:msub>
                    <mml:mrow>
                      <mml:mo>#</mml:mo>
                      <mml:mtext>Samples</mml:mtext>
                      <mml:mtext>
                         
                      </mml:mtext>
                      <mml:mtext>in</mml:mtext>
                      <mml:mtext>
                         
                      </mml:mtext>
                      <mml:mtext>class</mml:mtext>
                      <mml:mtext>
                         
                      </mml:mtext>
                      <mml:mi>c</mml:mi>
                    </mml:mrow>
                  </mml:mstyle>
                </mml:mrow>
              </mml:mfrac>
              <mml:mo>×</mml:mo>
              <mml:mn>100.</mml:mn>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p><bold>Table 8</bold> shows the baseline distribution before augmentation; <bold>Table 9</bold> shows the distribution after adding synthetic sequences <italic>only</italic> to the training fold and <italic>only</italic> for the targeted classes (2 and 4). Validation and test folds remain unchanged (no synthetic data), so their class balances are identical to the original. The number of synthetic sequences per minority class was selected based on downstream classifier performance. Preliminary experiments evaluated augmentation counts of 50, 100, 150, 200, and 300 sequences per minority class. Counts below 150 produced insufficient improvement in minority class F1, while counts above 150 consistently led to high precision paired with low recall in the OvR classifiers, indicating that the synthetic advantages began to dominate the training and pushed the decision boundary too aggressively. The value of 150 sequences per class was therefore selected as the point that maximizes F1 improvement without introducing this precision-recall imbalance. A systematic sensitivity analysis across a finer range of augmentation counts, with visualization of the precision-recall tradeoff curve, is identified as an area for future work.</p>
        <p><bold>Table 8</bold><bold>.</bold> Class sample data balance for original dataset.</p>
        <table-wrap id="tbl8">
          <label>Table 8</label>
          <table>
            <tbody>
              <tr>
                <td>Class</td>
                <td># Samples</td>
                <td>% Samples</td>
              </tr>
              <tr>
                <td>1</td>
                <td>396,885</td>
                <td>28.43%</td>
              </tr>
              <tr>
                <td>2</td>
                <td>190,946</td>
                <td>13.98%</td>
              </tr>
              <tr>
                <td>3</td>
                <td>493,849</td>
                <td>35.37%</td>
              </tr>
              <tr>
                <td>4</td>
                <td>284,415</td>
                <td>20.82%</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p><bold>Table 9</bold><bold>.</bold> Class sample data balance for dataset augmented with synthetic data.</p>
        <table-wrap id="tbl9">
          <label>Table 9</label>
          <table>
            <tbody>
              <tr>
                <td>Class</td>
                <td># Samples</td>
                <td>% Samples</td>
              </tr>
              <tr>
                <td>1</td>
                <td>396,885</td>
                <td>28.43%</td>
              </tr>
              <tr>
                <td>2</td>
                <td>205,946</td>
                <td>14.75%</td>
              </tr>
              <tr>
                <td>3</td>
                <td>493,849</td>
                <td>35.37%</td>
              </tr>
              <tr>
                <td>4</td>
                <td>299,415</td>
                <td>21.45%</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>As intended, the augmentation increases Classes 1 and 3 by +15,000 samples each (from 190,946 → 205,946 and 284,415 → 299,415, respectively), while Classes 1 and 3 are held fixed. In percentage terms, Class 2 rises from 13.98% to 14.75% (+0.77%) and Class 4 from 20.82% to 21.45% (+0.63%), narrowing their gaps to the majority class (Class 3 at 35.37%) without altering the relative prevalence of Classes 1 and 3. Overall, this shifts the training distribution toward a more balanced mix for the classes of interest, while preserving the integrity of the validation/test splits for unbiased evaluation.</p>
      </sec>
      <sec id="sec5dot4">
        <title>5.4. Analysis</title>
        <p>5.4.1. RNN</p>
        <p><bold>Table 3</bold> summarizes the GRU (RNN) outcomes. Classes 1 and 3 were augmented; classes 0 and 2 were not.</p>
        <p>For Class 2, adding 150 synthetic positives increases Acc. from 21.48% to 55.30% (+33.82 points) and F1 from 56.11% to 69.14% (+13.03). Precision rises from 39.84% to 53.95% (+14.11) while Recall remains high (94.83% → 96.24%, +1.41). This pattern indicates the synthetic sequences primarily reduce false positives without sacrificing sensitivity.</p>
        <p>For Class 4, 150 synthetic samples improve Acc. from 77.95% to 84.26% (+6.31) and F1 from 89.22% to 92.30% (+3.08). Recall is already saturated at 98.62% and remains unchanged, while precision is essentially stable (81.47% → 81.46%). Here, augmentation trims residual errors against the majority of negatives.</p>
        <p>Classes 1 and 3, trained only on real data, already achieve strong performance (Class 1 F1 98.30%; Class 3 F1 89.87%), suggesting limited necessity for augmentation with the currently available dataset.</p>
        <p>5.4.2. CNN</p>
        <p><bold>Table 4</bold> shows the 1D-CNN results under the same protocol.</p>
        <p>For Class 2, augmentation yields a large accuracy gain (35.70% → 83.32%, +47.62). Precision improves (85.58% → 97.18%), Recall remains near ceiling (99.14% → 99.06%), and F1 nudges upward (92.00% → 92.74%). The substantial increase in accuracy reflects fewer false positives in the OvR framing.</p>
        <p>For Class 4, augmentation produces the largest overall benefit: Accuracy climbs from 59.00% to 85.20% (+26.20), Recall from 56.28% to 92.83% (+36.55), Precision from 94.37% to 98.17%, and F1 from 70.51% to 95.43% (+24.92). Synthetic transitions likely broaden coverage of difficult boundary dynamics that previously drove false negatives.</p>
        <p>Classes 1 and 3 remain strong without augmentation (Class 1 F1 97.67%; Class 3 F1 90.84%), consistent with the RNN observations.</p>
        <p>5.4.3. Cross-Model Comparison and Takeaways</p>
        <p>Across both backbones, adding synthetic positives to the underrepresented heads (Classes 2 and 4) consistently improves F1 and overall accuracy, with the CNN showing larger gains, especially via recall recovery for Class 4. The RNN gains are steadier but smaller, largely through precision improvements for Class 2. When synthetic positives are too narrow or overly “clean”, OvR heads can become conservative (high precision, low recall). The physics-aware generation used here appears to expand coverage without producing implausible artifacts, which aligns with the observed recall gains.</p>
        <p>Operating point matters: a fixed 0.5 threshold is convenient for comparability, but per-class threshold tuning on validation data typically yields further improvements (e.g., maximizing F1 or meeting a minimum recall). We keep thresholds fixed to isolate the effects of augmentation.</p>
        <p>5.4.4. Error Analysis</p>
        <p>Residual errors concentrate near boundaries (e.g., wall entry/exit) where short, low-SNR fluctuations blur class transitions. Without augmentation, CNN Class 4 exhibits many false negatives; introducing synthetic transitions substantially recovers recall. For RNN Class 2, remaining errors are mostly false positives, suggesting partial overlap between genuine positives and specific negative contexts. Additional diversity in synthetic depth/force trajectories, or mild label smoothing for synthetic samples, may reduce overconfident spikes.</p>
        <p>In summary, physics-constrained synthetic augmentation improves minority-class recognition for both RNNs and CNNs while preserving strong performance in majority regimes. The largest gains occur where synthetic data expands the coverage of transitional dynamics (Class 4), producing substantial recall and F1 improvements, especially for the CNN. These findings support the use of domain-constrained synthetic data to remedy class imbalance in drill-depth time-series classification.</p>
      </sec>
    </sec>
    <sec id="sec6">
      <title>6. Limitations</title>
      <p>Although synthetic data generation methods, including GANs, diffusion models, and transformers, have demonstrated substantial promise in mitigating class imbalance and enhancing model performance, they are not without limitations. One of the primary challenges is ensuring that the generated synthetic data is highly representative of real-world data, particularly in complex domains such as medical applications. Despite the refined constraints and loss functions applied to the generative models, overfitting to specific patterns within the training data may occur, leading to synthetic sequences that do not fully capture the variability observed in real-world scenarios. Additionally, these models require significant computational resources and fine-tuning, especially when dealing with high-dimensional time series data. The need for large amounts of real data for effective model training also remains a challenge, as even state-of-the-art techniques may not generalize well when faced with significantly different real-world distributions. Furthermore, while synthetic data can augment existing datasets, it is not a perfect substitute for actual labeled data, especially in domains requiring high precision and expert validation.</p>
    </sec>
    <sec id="sec7">
      <title>7. Future Work</title>
      <p>Future research can build on this study by exploring more sophisticated hybrid models that combine the strengths of different generative approaches. For instance, integrating transformers with GANs and diffusion models could enable more robust modeling of complex temporal dependencies and reduce overfitting in certain configurations. Another promising direction involves the exploration of few-shot learning methods to reduce the need for extensive real data, making synthetic data generation more efficient and accessible. A closer examination of the quality of synthetic data, particularly through domain-specific validation by medical professionals, could lead to further refinements in ensuring the clinical applicability of the generated sequences. Finally, integrating real-time data augmentation during training could enable adaptive methods to handle changing distributions over time. A promising alternative direction is the use of physics-informed neural networks (PINNs), which embed the governing physical laws (e.g., drilling rate dynamics or torque constraints) directly into the neural network training. This could allow the model to enforce physical realism implicitly through differential equation solvers rather than relying on explicit penalty terms. Such models may generalize better with less data and reduce computational overhead associated with tuning complex loss functions.</p>
    </sec>
    <sec id="sec8">
      <title>8. Conclusion</title>
      <p>In this paper, we investigated the use of advanced generative models, including GANs, P-GANS, diffusion models, and transformer architectures, for augmenting imbalanced time series datasets in medical drilling applications. The results demonstrate that synthetic data generation can significantly enhance classification performance by balancing the class distribution and capturing the temporal dynamics inherent in the data. Modifications to SeriesGAN, such as the inclusion of dropout and physics-informed constraints, resulted in improved performance over the baseline model, with the drill dataset exhibiting comparable results to standard benchmarks. While promising, challenges such as overfitting and the need for substantial computational resources remain, highlighting areas for future improvements. Preliminary experiments that add physics-constrained synthetic sequences only to the training fold yield consistent qualitative gains in the one-vs-rest classifier, most notably for the minority/transitional regimes (Classes 2 and 4). The augmentation appears to curb over-confident false positives in Class 2 and recover boundary-related false negatives in Class 4, while leaving Classes 1 and 3 largely unchanged and preserving the integrity of the fixed validation/test splits. These trends motivate future work to scale the augmentation (e.g., mixing ratios and transition diversity), tune per-class operating points and calibration, and study robustness under domain shift so that the observed improvements translate into stable, clinically meaningful performance. Overall, the findings suggest that synthetic data generation offers a viable solution for addressing imbalanced datasets in critical applications like medical diagnostics. Moreover, this framework can be extended to broader domains such as construction drilling, blood flow modeling, or other biomedical signal generation tasks where physical laws govern system dynamics.</p>
    </sec>
    <sec id="sec9">
      <title>Acknowledgements</title>
      <p>We express our sincere thanks to the domain experts for providing help with labeling the datasets and insights about medical procedures.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <title>References</title>
      <ref id="B1">
        <label>1.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Blaney, J.A. and Muknahallipatna, S.S. (2024) An Evaluation of Deep Learning Models for Classifying Time Series Individual Data Instances. <italic>Journal</italic><italic>of</italic><italic>Computer</italic><italic>and</italic><italic>Communications</italic>, 12, 187-206. https://doi.org/10.4236/jcc.2024.1211014 <pub-id pub-id-type="doi">10.4236/jcc.2024.1211014</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.4236/jcc.2024.1211014">https://doi.org/10.4236/jcc.2024.1211014</ext-link></mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Blaney, J.A.</string-name>
              <string-name>Muknahallipatna, S.S.</string-name>
            </person-group>
            <year>2024</year>
            <article-title>An Evaluation of Deep Learning Models for Classifying Time Series Individual Data Instances</article-title>
            <source>Journal of Computer and Communications</source>
            <volume>12</volume>
            <pub-id pub-id-type="doi">10.4236/jcc.2024.1211014</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B2">
        <label>2.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Hochreiter, S. and Schmidhuber, J. (1997) Long Short-Term Memory. <italic>Neural</italic><italic>Computation</italic>, 9, 1735-1780. https://doi.org/10.1162/neco.1997.9.8.1735 <pub-id pub-id-type="doi">10.1162/neco.1997.9.8.1735</pub-id><pub-id pub-id-type="pmid">9377276</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1162/neco.1997.9.8.1735">https://doi.org/10.1162/neco.1997.9.8.1735</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Hochreiter, S.</string-name>
              <string-name>Schmidhuber, J.</string-name>
            </person-group>
            <year>1997</year>
            <article-title>Long Short-Term Memory</article-title>
            <source>Neural Computation</source>
            <volume>9</volume>
            <pub-id pub-id-type="doi">10.1162/neco.1997.9.8.1735</pub-id>
            <pub-id pub-id-type="pmid">9377276</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B3">
        <label>3.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Cho, K., van Merrienboer, B., Gulcehre, C., Bahdanau, D., Bougares, F., Schwenk, H. and Bengio, Y. (2014) Learning Phrase Representations Using RNN Encoder-Decoder for Statis-Tical Machine Translation. arXiv: 1406.1078.</mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Cho, K.</string-name>
              <string-name>Merrienboer, B.</string-name>
              <string-name>Gulcehre, C.</string-name>
              <string-name>Bahdanau, D.</string-name>
              <string-name>Bougares, F.</string-name>
              <string-name>Schwenk, H.</string-name>
              <string-name>Bengio, Y.</string-name>
            </person-group>
            <year>2014</year>
            <article-title>Learning Phrase Representations Using RNN Encoder-Decoder for Statis-Tical Machine Translation</article-title>
            <fpage>1406</fpage>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B4">
        <label>4.</label>
        <citation-alternatives>
          <mixed-citation publication-type="confproc">He, K.M., Zhang, X.Y., Ren, S.Q. and Sun, J. (2016) Deep Residual Learning for Image Recognition. 2016 <italic>IEEE Conference on Computer Vision and Pattern Recognition</italic>( <italic>CVPR</italic>), Las Vegas, 27-30 June 2016, 770-778. https://doi.org/10.1109/CVPR.2016.90 <pub-id pub-id-type="doi">10.1109/CVPR.2016.90</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/CVPR.2016.90">https://doi.org/10.1109/CVPR.2016.90</ext-link></mixed-citation>
          <element-citation publication-type="confproc">
            <person-group person-group-type="author">
              <string-name>He, K.M.</string-name>
              <string-name>Zhang, X.Y.</string-name>
              <string-name>Ren, S.Q.</string-name>
              <string-name>Sun, J.</string-name>
            </person-group>
            <year>2016</year>
            <article-title>Deep Residual Learning for Image Recognition</article-title>
            <source>2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR)</source>
            <volume>27</volume>
            <pub-id pub-id-type="doi">10.1109/CVPR.2016.90</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B5">
        <label>5.</label>
        <citation-alternatives>
          <mixed-citation publication-type="confproc">Szegedy, C., Liu, W., Jia, Y.Q., Sermanet, P., Reed, S., Anguelov, D., <italic>et al</italic>. (2015) Going Deeper with Convolutions. 2015 <italic>IEEE Conference on Computer Vision and Pattern Recognition</italic> ( <italic>CVPR</italic>), Boston, 7-12 June 2015, 1-9. https://doi.org/10.1109/cvpr.2015.7298594 <pub-id pub-id-type="doi">10.1109/cvpr.2015.7298594</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/cvpr.2015.7298594">https://doi.org/10.1109/cvpr.2015.7298594</ext-link></mixed-citation>
          <element-citation publication-type="confproc">
            <person-group person-group-type="author">
              <string-name>Szegedy, C.</string-name>
              <string-name>Liu, W.</string-name>
              <string-name>Jia, Y.Q.</string-name>
              <string-name>Sermanet, P.</string-name>
              <string-name>Reed, S.</string-name>
              <string-name>Anguelov, D.</string-name>
            </person-group>
            <year>2015</year>
            <article-title>Going Deeper with Convolutions</article-title>
            <source>2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR)</source>
            <volume>7</volume>
            <pub-id pub-id-type="doi">10.1109/cvpr.2015.7298594</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B6">
        <label>6.</label>
        <citation-alternatives>
          <mixed-citation publication-type="confproc">EskandariNasab, M., Hamdi, S.M. and Boubrahimi, S.F. (2024) SeriesGAN: Time Series Generation via Adversarial and Autoregressive Learning. 2024 <italic>IEEE International Conference on Big Data</italic> ( <italic>BigData</italic>), Washington, 15-18 December 2024, 860-869. https://doi.org/10.1109/bigdata62323.2024.10825115 <pub-id pub-id-type="doi">10.1109/bigdata62323.2024.10825115</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/bigdata62323.2024.10825115">https://doi.org/10.1109/bigdata62323.2024.10825115</ext-link></mixed-citation>
          <element-citation publication-type="confproc">
            <person-group person-group-type="author">
              <string-name>EskandariNasab, M.</string-name>
              <string-name>Hamdi, S.M.</string-name>
              <string-name>Boubrahimi, S.F.</string-name>
            </person-group>
            <year>2024</year>
            <article-title>SeriesGAN: Time Series Generation via Adversarial and Autoregressive Learning</article-title>
            <source>2024 IEEE International Conference on Big Data (BigData)</source>
            <volume>15</volume>
            <pub-id pub-id-type="doi">10.1109/bigdata62323.2024.10825115</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B7">
        <label>7.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Ismail Fawaz, H., Forestier, G., Weber, J., Idoumghar, L. and Muller, P. (2019) Deep Learning for Time Series Classification: A Review. <italic>Data</italic><italic>Mining</italic><italic>and</italic><italic>Knowledge</italic><italic>Discovery</italic>, 33, 917-963. https://doi.org/10.1007/s10618-019-00619-1 <pub-id pub-id-type="doi">10.1007/s10618-019-00619-1</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1007/s10618-019-00619-1">https://doi.org/10.1007/s10618-019-00619-1</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Fawaz, H.</string-name>
              <string-name>Forestier, G.</string-name>
              <string-name>Weber, J.</string-name>
              <string-name>Idoumghar, L.</string-name>
              <string-name>Muller, P.</string-name>
            </person-group>
            <year>2019</year>
            <article-title>Deep Learning for Time Series Classification: A Review</article-title>
            <source>Data Mining and Knowledge Discovery</source>
            <volume>33</volume>
            <pub-id pub-id-type="doi">10.1007/s10618-019-00619-1</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B8">
        <label>8.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Fawaz, H.I., Forestier, G., Weber, J., Idoumghar, L. and Muller, P.A. (2018) Data Augmentation Using Synthetic Data for Time Series Classification with Deep Residual Networks. arXiv:1808.02455.</mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Fawaz, H.I.</string-name>
              <string-name>Forestier, G.</string-name>
              <string-name>Weber, J.</string-name>
              <string-name>Idoumghar, L.</string-name>
              <string-name>Muller, P.A.</string-name>
            </person-group>
            <year>2018</year>
            <article-title>Data Augmentation Using Synthetic Data for Time Series Classification with Deep Residual Networks</article-title>
            <fpage>1808</fpage>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B9">
        <label>9.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Ismail Fawaz, H., Lucas, B., Forestier, G., Pelletier, C., Schmidt, D.F., Weber, J., <italic>et al</italic>. (2020) InceptionTime: Finding AlexNet for Time Series Classification. <italic>Data</italic><italic>Mining</italic><italic>and</italic><italic>Knowledge</italic><italic>Discovery</italic>, 34, 1936-1962. https://doi.org/10.1007/s10618-020-00710-y <pub-id pub-id-type="doi">10.1007/s10618-020-00710-y</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1007/s10618-020-00710-y">https://doi.org/10.1007/s10618-020-00710-y</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Fawaz, H.</string-name>
              <string-name>Lucas, B.</string-name>
              <string-name>Forestier, G.</string-name>
              <string-name>Pelletier, C.</string-name>
              <string-name>Schmidt, D.F.</string-name>
              <string-name>Weber, J.</string-name>
            </person-group>
            <year>2020</year>
            <article-title>InceptionTime: Finding AlexNet for Time Series Classification</article-title>
            <source>Data Mining and Knowledge Discovery</source>
            <volume>34</volume>
            <pub-id pub-id-type="doi">10.1007/s10618-020-00710-y</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B10">
        <label>10.</label>
        <citation-alternatives>
          <mixed-citation publication-type="confproc">Yoon, J.S., Jarrett, D. and Van der Schaar, M. (2019) Time-Series Generative Adversarial Networks. 33 <italic>rd Conference on Neural Information Processing Systems</italic> ( <italic>NeurIPS</italic> 2019), Vancouver, 8-14 December 2019, 5508-5518.</mixed-citation>
          <element-citation publication-type="confproc">
            <person-group person-group-type="author">
              <string-name>Yoon, J.S.</string-name>
              <string-name>Jarrett, D.</string-name>
              <string-name>Schaar, M.</string-name>
            </person-group>
            <year>2019</year>
            <article-title>Time-Series Generative Adversarial Networks</article-title>
            <source>33rd Conference on Neural Information Processing Systems (NeurIPS 2019)</source>
            <volume>8</volume>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B11">
        <label>11.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Arjovsky, M., Chintala, S. and Bottou, L. (2017) Wasserstein GAN. arXiv: 1701.07875.</mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Arjovsky, M.</string-name>
              <string-name>Chintala, S.</string-name>
              <string-name>Bottou, L.</string-name>
            </person-group>
            <year>2017</year>
            <article-title>Wasserstein GAN</article-title>
            <fpage>1701</fpage>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B12">
        <label>12.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Ni, H., Szpruch, L., Wiese, M., Liao, S. and Xiao, B. (2020) Conditional Sig-Wasserstein Gans for Time Series Generation. <italic>SSRN</italic><italic>Electronic</italic><italic>Jou</italic><italic>rnal</italic>, 34, 622-670. https://doi.org/10.2139/ssrn.3623086 <pub-id pub-id-type="doi">10.2139/ssrn.3623086</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.2139/ssrn.3623086">https://doi.org/10.2139/ssrn.3623086</ext-link></mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Ni, H.</string-name>
              <string-name>Szpruch, L.</string-name>
              <string-name>Wiese, M.</string-name>
              <string-name>Liao, S.</string-name>
              <string-name>Xiao, B.</string-name>
            </person-group>
            <year>2020</year>
            <article-title>Conditional Sig-Wasserstein Gans for Time Series Generation</article-title>
            <source>SSRN Electronic Journal</source>
            <volume>34</volume>
            <pub-id pub-id-type="doi">10.2139/ssrn.3623086</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B13">
        <label>13.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Lin, L.Q., Li, Z.K., Li, R.K., Li, X.L. and Gao, J.B. (2023) Diffusion Models for Time Series Applications: A Survey. <italic>Engineering Information Technology &amp; Electronic Engineering</italic>, 25, 19-41. https://doi.org/10.1631/FITEE.2300310 <pub-id pub-id-type="doi">10.1631/FITEE.2300310</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1631/FITEE.2300310">https://doi.org/10.1631/FITEE.2300310</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Lin, L.Q.</string-name>
              <string-name>Li, Z.K.</string-name>
              <string-name>Li, R.K.</string-name>
              <string-name>Li, X.L.</string-name>
              <string-name>Gao, J.B.</string-name>
            </person-group>
            <year>2023</year>
            <article-title>Diffusion Models for Time Series Applications: A Survey</article-title>
            <source>Engineering Information Technology &amp; Electronic Engineering</source>
            <volume>25</volume>
            <pub-id pub-id-type="doi">10.1631/FITEE.2300310</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B14">
        <label>14.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Coletta, A., Gopalakrishnan, S., Borrajo, D. and Vyetrenko, S. (2023) On the Constrained Time-Series Generation Problem. <italic>Advances</italic><italic>in</italic><italic>Neural</italic><italic>Information</italic><italic>Processing</italic><italic>Systems</italic> 36, New Orleans, 10-16 December 2023, 61048-61059. https://doi.org/10.52202/075280-2668 <pub-id pub-id-type="doi">10.52202/075280-2668</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.52202/075280-2668">https://doi.org/10.52202/075280-2668</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Coletta, A.</string-name>
              <string-name>Gopalakrishnan, S.</string-name>
              <string-name>Borrajo, D.</string-name>
              <string-name>Vyetrenko, S.</string-name>
            </person-group>
            <year>2023</year>
            <article-title>On the Constrained Time-Series Generation Problem</article-title>
            <source>Advances in Neural Information Processing Systems 36</source>
            <volume>10</volume>
            <pub-id pub-id-type="doi">10.52202/075280-2668</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B15">
        <label>15.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Sikder, M.F., Ramachandranpillai, R. and Heintz, F. (2024) Transfusion: Generating Long, High Fidelity Time Series Using Diffusion Models with Transformers. <italic>Machine</italic><italic>Learning with Applications</italic>, 20, Article ID: 100652. https://doi.org/10.1016/j.mlwa.2025.100652 <pub-id pub-id-type="doi">10.1016/j.mlwa.2025.100652</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1016/j.mlwa.2025.100652">https://doi.org/10.1016/j.mlwa.2025.100652</ext-link></mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Sikder, M.F.</string-name>
              <string-name>Ramachandranpillai, R.</string-name>
              <string-name>Heintz, F.</string-name>
              <string-name>Long, H</string-name>
            </person-group>
            <year>2024</year>
            <article-title>Transfusion: Generating Long, High Fidelity Time Series Using Diffusion Models with Transformers</article-title>
            <source>Machine Learning with Applications</source>
            <volume>20</volume>
            <fpage>100652</fpage>
            <elocation-id>ID</elocation-id>
            <pub-id pub-id-type="doi">10.1016/j.mlwa.2025.100652</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B16">
        <label>16.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Srinivasan, P. and Knottenbelt, W.J. (2022) Time-Series Transformer Generative Adversarial Networks. arXiv: 2205.11164.</mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Srinivasan, P.</string-name>
              <string-name>Knottenbelt, W.J.</string-name>
            </person-group>
            <year>2022</year>
            <article-title>Time-Series Transformer Generative Adversarial Networks</article-title>
            <fpage>2205</fpage>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B17">
        <label>17.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Kingma, D.P. and Welling, M. (20222) Auto-Encoding Variational Bayes. arXiv: 1312.6114.</mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Kingma, D.P.</string-name>
              <string-name>Welling, M.</string-name>
            </person-group>
            <fpage>1312</fpage>
          </element-citation>
        </citation-alternatives>
      </ref>
    </ref-list>
  </back>
</article>