2. Industrial data characteristics
Industrial AI models rarely fail because the algorithm is weak. They fail because the data violates the assumptions the algorithm silently makes. Before choosing a model family or a tuning strategy, you must characterize the data along five axes: temporal structure, dimensionality, class balance, distributional stability, and quality. Each axis constrains which models are viable and which hyperparameters actually matter.
Sensor Time Series: Autocorrelation and Sampling Reality
Sensor channels are not independent samples. A vibration signal sampled at 10 kHz on a bearing test rig exhibits strong autocorrelation over hundreds of samples; a temperature loop sampled at 1 Hz may show correlation over minutes. This matters because random k-fold cross-validation leaks future information into the training set. For any time-indexed channel, use forward-chaining or blocked splits with an embargo gap at least as long as the dominant autocorrelation length.
Sampling rate also dictates feature engineering. A 10 kHz accelerometer stream is usually reduced to windowed statistics (RMS, kurtosis, crest factor, spectral band energies) over 0.5–2 s windows with 50% overlap. A 1 Hz process tag is often used directly with lag features. If you feed raw high-rate samples into a gradient-boosted tree, you get thousands of weak, redundant features; if you downsample too aggressively, you destroy the impulsive signatures that indicate faults.
High-Dimensional Process Data: Correlation and Redundancy
A typical process historian exposes 500–5,000 tags per unit. Many are physically coupled: feed rate, reactor pressure, and outlet temperature move together. This creates two problems. First, distance-based models (k-NN, RBF SVM, Gaussian processes) degrade as dimensionality grows because distances concentrate. Second, linear models become unstable when predictors are collinear — coefficients swing wildly under small data perturbations.
Practical handling: compute a correlation or mutual-information matrix, cluster tags with |ρ| > 0.9, and retain one representative per cluster plus any tag with known causal relevance. Then apply PCA or partial least squares (PLS) if the retained dimension still exceeds roughly one-tenth of the number of independent operating periods. Tree ensembles tolerate redundancy better than linear models, but feature importance becomes unreliable when duplicates remain — always deduplicate before interpreting importance.
Class Imbalance: Rare Faults, Common Normal
In condition monitoring, normal operation may account for 99.5% of labeled windows while a specific fault class has 30 examples. Accuracy is meaningless here. Use precision-recall AUC or recall at a fixed false-alarm rate as the primary metric. For tuning, class weights or focal loss shift the decision threshold; resampling (SMOTE, undersampling) changes the effective prior. Be careful: SMOTE on time-series windows creates synthetic samples that violate temporal continuity and can inflate validation scores. Prefer window-level oversampling with jitter or, better, cost-sensitive learning.
Concept Drift: When the Past Stops Predicting the Future
Equipment degrades, feedstock changes, and sensors are recalibrated. A model trained on January data may lose 15–30% recall by June. Drift takes three forms: covariate shift (input distribution changes), prior shift (class frequencies change), and concept shift (the input-output mapping itself changes, e.g., after a maintenance overhaul).
Detection: monitor a drift statistic such as the Population Stability Index (PSI) or a two-sample Kolmogorov–Smirnov test on key features, computed weekly against a reference window. PSI < 0.1 is stable; 0.1–0.25 warrants investigation; > 0.25 triggers retraining. For tuning, drift means your validation set must be the most recent period, not a random holdout. Hyperparameters that control model plasticity — learning rate, tree depth, regularization strength — should be re-tuned after each significant drift event.
Data Quality: Gaps, Spikes, and Label Noise
Historian data arrives with gaps (communication loss), stuck values (frozen sensor), spikes (electrical interference), and timestamp misalignment across systems. Label noise is worse: maintenance records often mark a work order date, not the actual fault onset, introducing label lag of hours to days.
A minimal quality gate before modeling:
- Drop channels with >20% missing in the analysis window; impute the rest with forward-fill plus a missingness indicator.
- Flag stuck values as runs of identical readings longer than 10× the expected update interval.
- Clip spikes using a rolling median ± 6× MAD (median absolute deviation).
- Shift labels backward by the estimated label lag, or exclude ambiguous windows from training.
How These Characteristics Drive Model Selection
The table below summarizes the practical mapping from data characteristic to model and tuning implications.
| Data characteristic | Preferred model families | Tuning focus |
|---|---|---|
| Strong autocorrelation, high-rate sensor | 1D CNN, LSTM/GRU, temporal CNN | Window length, stride, receptive field |
| High-dimensional, collinear process tags | PLS, regularized linear, gradient-boosted trees | L1/L2 strength, max depth, feature subsampling |
| Severe class imbalance | Cost-sensitive trees, anomaly detection (autoencoder, isolation forest) | Class weights, threshold, focal loss γ |
| Concept drift | Online learning, sliding-window retraining, ensemble with drift detector | Window size, retrain cadence, learning rate |
| Noisy labels, gaps | Robust loss (Huber), label smoothing, semi-supervised | Loss robustness parameter, confidence threshold |
Worked Example: Bearing Fault Detection on a 10 kHz Channel
Consider a vibration channel sampled at 10 kHz with 0.5 s windows and 50% overlap. The dataset contains 12,000 normal windows and 180 outer-race fault windows. Autocorrelation time is approximately 0.04 s, so the embargo is set to 0.1 s. After computing RMS, kurtosis, crest factor, and five spectral band energies, you have 8 features per window. A gradient-boosted tree with scale_pos_weight ≈ 67 (12,000/180) is trained with forward-chaining splits. Validation uses PR-AUC. If PR-AUC drops below 0.7 on the most recent fold while training PR-AUC remains above 0.95, suspect drift or label lag and inspect the PSI on RMS and kurtosis.
Practical Checklist Before Any Tuning Run
- Plot the autocorrelation function for each high-rate channel; record τ and set the CV embargo to 2τ.
- Compute pairwise correlation or mutual information; collapse clusters above 0.9 into single representatives.
- Report the class ratio and choose PR-AUC or recall-at-FAR as the optimization metric.
- Run a PSI check on the top 10 features between the training window and the most recent 2 weeks.
- Apply the quality gate: missingness threshold, stuck-value detection, MAD spike clipping, label-lag correction.
- Only then select a model family and begin hyperparameter search, using forward-chaining splits throughout.
These steps are not optional hygiene. They determine whether your tuned model generalizes to the next operating period or merely memorizes the quirks of a historical dataset.