Supported Graphing & Analysis Tools¶
Several graph types are supported in dFL in the basic version. However, in additional to the standard graphs, custom graphs may be easily integrated by writing simple python backends, using calls to, for example, matplotlib or seaborn.
Standard time series plots (default)¶
dFL natively supports time series plots (which is also the default graph type), of things like sensor data, simulation, or experimental signals. The plots are interactive, where the user can download, lasso zoom, zoom in/out, pan, and/or reset axis. In addition, the signals in the plot may be interactively activated/deactivated to see how different signals overlay onto other signals, etc.
Correlation Plots¶
Another plot style supported in dFL are correlation plots. Correlation plots come in three styles: Scatter plots, Heatmap plots, or pairwise grids. All plots are interactive, as above.
All plot styles support any of the three standard correlation methods, currently Pearson, Kendell, or Spearman.
Correlation Coefficients at a Glance¶
Pearson · Spearman · Kendall
Scope
This page explains the three classic bivariate correlation measures, shows how they compare, and gives quick guidance on when to choose each one. Follow the links under Further reading for deeper mathematical treatments.
1 · Quick definitions¶
| Coefficient | What it does | Core formula (population) |
|---|---|---|
| Pearson product–moment | Measures linear association via scaled covariance | \( \rho_P = \dfrac{\operatorname{cov}(X,Y)}{\sigma_X\sigma_Y} \) |
| Spearman rank | Pearson’s \(ρ_P\) after replacing each value by its rank; captures monotone trends | \( ρ_S = ρ_P(\operatorname{rank}(X),\operatorname{rank}(Y)) \) |
| Kendall rank | Looks at all pairs; proportion that are concordant minus discordant | \( τ = P\bigl((X_i - X_j)(Y_i - Y_j) > 0 \bigr) - P\bigl((X_i - X_j)(Y_i - Y_j) < 0 \bigr) \) |
2 · How they compare¶
| Aspect | Pearson | Spearman | Kendall |
|---|---|---|---|
| Captures | Straight-line fit | Any monotone curve (↑ or ↓) | Same as Spearman, expressed as a probability |
| Data level | Interval / ratio | Ordinal or continuous | Ordinal or continuous |
| Assumptions for inference | Approx. bivariate normal | None (rank-based) | None (rank-based) |
| Robustness to outliers | Low | Medium | High |
| Typical symbol | \(r\) (sample) | \(ρ_S\) | \(τ\) |
| Handles many ties | n/a | Needs correction | Variants \(τ_b, τ_c\) correct automatically |
3 · Rule-of-thumb for choosing¶
| If your data… | …then use |
|---|---|
| Look roughly linear and satisfy normality | Pearson |
| Show a clear but curved monotone trend (or are ranked/ordinal) | Spearman |
| Contain many ties, small sample size, or you want a probability-style interpretation | Kendall |
| Might have non-monotone dependence | Consider distance correlation, HSIC, or mutual information (outside this page) |
4 · Further reading¶
-
Akoglu H. “User’s guide to correlation coefficients.”Turkish J. Emerg. Med. 18 (3), 2018.
https://pmc.ncbi.nlm.nih.gov/articles/PMC6107969/ :contentReference[oaicite:0]{index=0} -
Hauke J., Kossowski T. “Comparison of values of Pearson’s and Spearman’s correlation coefficients on the same sets of data.”Quaestiones Geographicae 30 (2), 2011.
https://qg.web.amu.edu.pl/qg/archives/2011/QG302_087-093.pdf :contentReference[oaicite:1]{index=1} -
**Stepanov A. “On Correlation Coefficients.” arXiv 2405.16469, 2024.
https://arxiv.org/abs/2405.16469 :contentReference[oaicite:2]{index=2}
Each article provides progressively more depth: Akoglu is a concise tutorial, Hauke & Kossowski focus on empirical differences between Pearson and Spearman, and Stepanov offers a modern, theory-heavy survey including asymptotics and new generalisations.
The correlation plots can be accessed through the "Graph Type" dropdown. Once selected, the "Graph Parameters" dropdown menu has all options for each type of correlation plot.
Scatter Correlation Plots¶
In Scatter plots any two signals may be compared to each other, using any supported correlation method.
Heatmap Correlation Plots¶
In heatmaps, any collection of signals can be plotted against each other in a correlation matrix.
Pairwise Grid Correlation Plots¶
In the pairwise grid, again any collection of signals may be analyzed to see the relative scatter plots in a matrix, for visual compare and contrast.
Data Distribution Plots¶
Data distribution plots are also supported in dFL. Histograms and Kernel Density estimates (KDEs) can both be plotted over as many signals at a time as required. The bin count can be adjusted for histograms (note, the resolution is limited by the number of data points in your signal), and the KDE bandwidth adjusted for sensitivity. There are additional options to nroamlize frequencies, show/hide histogram bars, show/hide the KDE overlay, and show/hide the distribution statistics in the graph legend.
Data distribution plots can be accessed from the "Graph Type" dropdown menu under "Histogram". The "Histogram Parameters" dropdown then provides all options for the plots.
Basic Background on Histograms & Kernel Density Estimates (KDEs)¶
Scope
How to visualise / estimate univariate probability densities in practice, what a band-width (or bin-width) does, and where to read more.
1 · Snapshot definitions¶
| Estimator | Idea in one line | Key tuning param. |
|---|---|---|
| Histogram | Slice the range into equal-width bins and count observations per bin. | Bin width h (or number of bins k). |
| KDE | Place a smooth “bump” (kernel) on every data point and add them up. | Bandwidth h (width of each bump). |
2 · Choosing the width¶
Note that too small and h can lead to "spiky" plots that over-fits noise. Good h captures major modes & gaps, while too large h can wash out important structure.
Rules of thumb:
- Histograms – Scott’s \( h = 3.5\,\hat\sigma\,n^{-1/3} \) or Freedman–Diaconis \( h = 2\,\text{IQR}\,n^{-1/3} \); see Freedman & Diaconis, 1981
- KDEs – Silverman’s plug-in, cross-validation, or “solve-the-equation” plug-in; see Heidenreich et al., 2013
3 · When to use what¶
| Goal | Recommended tool |
|---|---|
| Quick visual check, large data, presentation-friendly | Histogram |
| Need smooth derivative, small/medium data, or formal density estimate | KDE |
| Both: publish plot + plug numbers into algorithms | Use both (histogram to pick range, KDE for numbers) |
4 · Further reading¶
- Freedman, D. & Diaconis, P. “On the Histogram as a Density Estimator.” Z. Wahrscheinlichkeitstheorie 57 (1981): 453–476. https://link.springer.com/content/pdf/10.1007/BF01025868.pdf
- Heidenreich, N-B. et al. “Bandwidth Selection for Kernel Density Estimation: A Review of Fully Automatic Selectors.” AStA Adv. Stat. Anal. 97 (2013): 403-433. https://link.springer.com/article/10.1007/s10182-013-0216-y
- Chen, Y-C. “A Tutorial on Kernel Density Estimation and Recent Advances.” arXiv 1704.03924 (2017). https://arxiv.org/abs/1704.03924
These papers cover (i) mathematical properties of histograms, (ii) modern bandwidth-selection theory for KDEs, and (iii) a concise software-oriented tutorial with code examples and recent developments such as confidence bands.
Statistical Analysis Plots¶
Another plot style natively supported in dFL are statistical analysis plots. These plots allow for visualizing and auto-labeling statistical anomalies in your data sets. These labeled anomolies can them be exported for training, etc.
The statistical Analysis plots can be accessed from the "Graph Type" dropdown menu, under "Stats". The "Statistical Parameters of First Signal from Selection" dropdown indicates the parameters applied to the first loaded signal in the graph, described below in detail. Note that the Statistical Analysis Plots also allow for statistics-based autolableing, as discussed in the Autolabeling portion of the documention.
Rolling Z-Score, CUSUM & Moving-Average Confidence Bands¶
There are three different analysis types supported: Z-score deviation, CUSUM charts, and Moving average confidence bands.
1 · Rolling Z-Score Deviation¶
| Concept | Description |
|---|---|
| What it does | Computes a z-score for each point using the mean ± σ inside a sliding window. Flag if ( |
| Parameters | window_size =n → how many past points define the baseline. sigma_threshold =k (e.g., 2, 3) → how far from the baseline before we raise an alert. |
| Typical defaults | n = 30…100, k = 3. |
| Strengths | Tiny code-footprint, constant O(1) memory, good first pass for streaming data. |
| Limits | Misses slow drifts; assumes local normality; threshold can be noisy for small n. |
When to use¶
Fast, local outlier detection — e.g., sensor spikes, API latency blips, log-rate bursts.
Further reading¶
- Braei & Wagner, 2020 —“Anomaly Detection in Univariate Time-Series: A Survey on the State-of-the-Art.” arXiv:2004.00433.* https://arxiv.org/abs/2004.00433
- Darban et al., 2023 —“Deep Learning for Time Series Anomaly Detection: A Survey.” arXiv:2211.05244.* https://arxiv.org/abs/2211.05244
2 · CUSUM (Cumulative-Sum) Control Chart¶
| Concept | Description |
|---|---|
| What it does | Tracks the cumulative sum of deviations from a target value. A sustained drift pushes the sum over a decision limit. |
| Parameters | k (reference value) – size of shift you care about (often 0.5 σ).h (decision interval) – alarm threshold for the cumulative sum.(Optional) window_size if you implement a finite-memory CUSUM. |
| Strengths | Detects small persistent shifts faster than Shewhart or rolling z. |
| Limits | More math to tune, assumes reasonably stable variance, sensitive to correct k choice. |
When to use¶
Early-warning for mean shifts in production lines, latency SLAs, or any KPI where small drifts matter more than single spikes.
Further reading¶
- Yu & Cheng, 2022 —“A Comprehensive Review and Comparison of CUSUM and Change-Point-Analysis Methods.” Multivariate Behavioral Research 57(1): 112-133.* https://www.tandfonline.com/doi/abs/10.1080/00273171.2020.1809981
- Li et al., 2025 —“Improved Adaptive CUSUM Control Chart for Industrial Process Monitoring.” Sci. Rep. (in press).* https://www.researchgate.net/publication/391707208_Improved_adaptive_CUSUM_control_chart_for_industrial_process_monitoring_under_measurement_error
3 · Moving-Average Confidence Intervals¶
| Concept | Description |
|---|---|
| What it does | Plots the rolling mean plus/minus a confidence band: \(\bar{x}_t \pm z_{\alpha/2}\,\sigma_t / \sqrt{n}\). Useful for trend visualisation with statistical context. |
| Parameters | window_size =n – length of the moving average.ci_level – e.g., 0.90, 0.95, 0.99 → determines the z-quantile. |
| Strengths | Smooths noise while showing statistical uncertainty; easy to explain to stakeholders. |
| Limits | Lags true shifts by ~ ½ n samples; assumes independence inside the window for the CI. |
When to use¶
Trend plots where you want “is the new point outside the expected band?” without switching mental gears to control-chart rules.
Further reading¶
- Abu-Shawiesh et al., 2021 —“Comparative Analysis of Robust Moving-Average Control Charts for Process Dispersion.” Thailand Statistician 19(2): 228-247.* https://www.researchgate.net/publication/350470469_A_comparative_analysis_of_robust_moving_average_control_charts_for_process_dispersion
Time-Frequency Plots¶
Another supported graph type and popular way of viewing time-varying data is via time-frequency plots. Many real-world signals (audio, vibration, plasma diagnostics, log rates, etc.,) change their spectral content over time. Time-frequency plots turn a 1-D waveform into a 2-D map---time on one axis, frequency on the other---so you can see when particular tones, modes or fault signatures appear. They are a first-line tool for anomaly detection, feature engineering and interactive troubleshooting.
The time-frequency plots can be accessed from the "Graph Type" dropdown menu, under "TimeFreq". The "Time-Frequency Parameters" dropdown is where all options are stored, described below in detail.
Pick the right lens¶
| Need | Best tool |
|---|---|
| Quick power-only overview | Spectrogram |
| Phase or complex filtering | STFT |
| Zoom-adaptive view of transients / chirps | Wavelet (CWT) |
1 · Spectrogram¶
A spectrogram slices the signal into overlapping windows, runs an FFT on each slice, and stacks the power spectra vertically.
| Parameter | What it means | Typical choices |
|---|---|---|
Window size (nperseg) |
Samples per slice ⇒ larger = better frequency resolution, worse time resolution | 256–4096 |
Overlap (noverlap) |
Shared samples between adjacent slices | 50–75 % |
| Window function | Tames spectral leakage | Hann, Hamming, Tukey, Bartlett, Blackman, Kaiser, Gaussian |
Scaling ('density' | 'spectrum') |
'density' ⇒ power / Hz (PSD); 'spectrum' ⇒ raw power |
'density' |
When to use: dashboards, large data sets, situations where a uniform time-frequency grid is sufficient.
API reference: link
2 · Short-Time Fourier Transform (STFT)¶
STFT returns the complex coefficients before squaring, so you keep phase information and can perfectly synthesize the signal back (ISTFT).
| Parameter | What it means | Typical choices |
|---|---|---|
Window size (nperseg) |
Same trade-off as spectrogram | 256–4096 |
| Window function | Same list as above; Hann default | — |
Overlap (noverlap) |
Higher overlap ⇒ smoother, lower variance | 50–75 % |
When to use: phase-sensitive work (modal tracking, audio effects), or whenever you need invertibility.
API reference: link
3 · Continuous Wavelet Transform (complex Morlet)¶
CWT convolves the signal with scaled, shifted wavelets. A complex Morlet gives a spectrogram-like output whose resolution adapts: narrow in time at high frequencies, narrow in frequency at low frequencies.
| Parameter | What it means | Typical choices |
|---|---|---|
Window size (scales) |
Inverse of pseudo-frequency; log-spaced 1 … 128 | |
| Overlap | Implicit: every sample contributes; down-sample the output if needed | |
| Morlet width w | Controls trade-off (larger w ⇒ sharper frequency, blurrier time) |
5–8 |
| Wavelet type | Complex Morlet family ('cmor1.5-1.0', 'cmorB-C') |
— |
When to use: non-stationary transients, chirps, or when different frequency bands need different time resolutions.
API reference:
• link (PyWavelets)
• link (SciPy)
Further exploration¶
- Practical parameter advice for spectrograms & STFTs in the SciPy docs.
- Wavelet scale–frequency relationships and Morlet parameterisation in the PyWavelets guide.
These sources include complete call signatures, mathematical definitions and code examples ready to drop into your pipeline.