
SignalY Signal Extraction from Panel Data via Bayesian Sparse Regression and Spectral Decomposition SignalY is a comprehensive R toolkit for extracting latent signals from panel data through multivariate time series analysis. It addresses three fundamental problems in applied econometrics and signal processing: which variables matter (column selection), what is the underlying structure (series decomposition), and what is the persistence regime (unit root characterization). Performance Benchmarks (Recovery Tests) | Task | Method | Recovery Metric | |------|--------|----------------| | Factor structure (3 latent factors) | PCA / DFM | r > 0.95, exact factor count | | Sparse variable selection (5 of 50) | Horseshoe | F1 > 0.85, Precision > 0.90 | | Logarithmic trend recovery | EMD | r > 0.95 with true trend | | Multi-scale cycle extraction | Wavelet (D3+D4) | r > 0.70 with true cycle | | Stochastic trend + AR(2) cycle | HP-GC Bayesian | trend r > 0.90, cycle r > 0.50 | | Stationarity classification | Unit Root Battery | 4/4 correct on synthetic data | Key Features | Feature | Description | |---------|-------------| | Horseshoe Regression | Bayesian sparse selection via regularized Horseshoe priors (Piironen & Vehtari, 2017) with shrinkage profile diagnostics | | PCA with Bootstrap Significance | Principal components with block bootstrap confidence intervals and entropy-based topology analysis | | Dynamic Factor Models | Bai & Ng (2002) information criteria for automatic factor selection with VAR dynamics | | Wavelet Decomposition | MODWT via Daubechies wavelets with multi-resolution variance analysis (Percival & Walden, 2000) | | Empirical Mode Decomposition | Data-adaptive IMF extraction for non-stationary and non-linear signals (Huang et al., 1998) | | HP-GC Bayesian Filter | Grant & Chan (2017) unobserved-components Hodrick-Prescott with MCMC-estimated smoothing | | Unit Root Battery | ADF, Phillips-Perron, KPSS, and ERS tests with automated synthesis and persistence classification | | Integrated Orchestrator | signal_analysis() runs all methods in a single call with automated interpretation | Architecture SignalY is organized around three analytical layers that can be used independently or chained together: ┌─────────────────────────────────────────────────────────────────┐ │ signal_analysis() │ │ Master orchestrator with print/summary/plot │ ├──────────────┬──────────────────────┬───────────────────────────┤ │ COLUMN │ SERIES │ PERSISTENCE │ │ SELECTION │ DECOMPOSITION │ ANALYSIS │ │ │ │ │ │ fit_horseshoe│ filter_wavelet │ test_unit_root │ │ pca_bootstrap│ filter_emd │ ADF, PP, KPSS, ERS │ │ estimate_dfm │ filter_hpgc │ Automated synthesis │ │ │ filter_all │ │ ├──────────────┴──────────────────────┴───────────────────────────┤ │ UTILITIES │ │ apply_to_columns · compute_entropy · iplot · interpolate_na │ └─────────────────────────────────────────────────────────────────┘ Typical Workflow Scenarios Scenario A — Column Selection Only: You have a high-dimensional predictor matrix and need to identify which variables are structurally relevant. Use fit_horseshoe() for sparse Bayesian selection, pca_bootstrap() for factor structure, or estimate_dfm() for dynamic factors. Scenario B — Series Decomposition Only: You have a univariate time series and need to extract its trend, cycle, and residual components. Use filter_wavelet(), filter_emd(), or filter_hpgc(). Scenario C — Unit Root Analysis Only: You need to characterize the persistence properties of a series. Use test_unit_root() for a comprehensive battery of tests with automated synthesis. Scenario D — Mixed Workflow: Select relevant variables → construct a composite signal → decompose it → test stationarity of extracted components. Use signal_analysis() to orchestrate the full pipeline, or chain the individual functions. Quick Example library(SignalY) # Prepare data data <- data.frame(Y = as.vector(Y), X) # Run full analysis pipeline result <- signal_analysis( data = data, y_formula = "Y", methods = c("wavelet", "emd", "pca", "dfm", "unitroot"), verbose = TRUE ) # Inspect results print(result) summary(result) plot(result) Citation @software{SignalY, title = {SignalY: Signal Extraction from Panel Data via Bayesian Sparse Regression and Spectral Decomposition}, author = {Gómez Julián, José Mauricio}, year = {2026}, url = {https://github.com/IsadoreNabi/SignalY}, version = {1.1.1} } License MIT License. See LICENSE for details. See more in the Wiki page.
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
