| build_cluster_map | Build a fallback sector-to-cluster map |
| choose_var_lag | Select optimal VAR lag order with multiple criteria |
| compute_wedge | Construct the transformation wedge W = Phi - V = K * G' - p |
| deltaR2_ou | Incremental R-squared from X in OU model |
| diagnose_data | Diagnose and prepare data matrices |
| estimate_DFM | Estimate Dynamic Factor Model with VAR dynamics |
| estimate_factor_OU | Estimate Factor Ornstein-Uhlenbeck / AR(1) model (Stan if available) |
| make_X_innovations | Extract X innovations (reduced-form VAR residuals) |
| placebo_values | Aggregate-preserving placebo values (negative controls for gravitation) |
| plot_error_correction_panel | Plot error correction panel |
| read_cpi | Read CPI data from an Excel file |
| rescue_short_run_channel | Rescue short-run channel test |
| rotation_null_test | Null hypothesis test for X->Y factor coupling |
| row_norm1 | Normalize matrix rows to sum to one |
| run_complete_factor_analysis_robust | Complete factor-OU convergence analysis pipeline |
| run_convergence_robustness_tests | Run comprehensive robustness test suite |
| run_rotation_null_on_results | Run the coupling null test on complete analysis results |
| select_optimal_components_safe | Select optimal number of PLS components with cross-validation |
| test_cointegration_control | Classical cointegration control (Johansen trace or eigen) |
| test_jackknife_sectors | Delete-one-sector jackknife of the X->Y coupling |
| test_leave_cluster_out | Leave-cluster-out robustness of the X->Y coupling |
| test_permutation_robustness | Permutation-based robustness test for X->Y coupling |
| test_reweighting_robustness | Reweighting-based robustness test |
| to_num_commas | Convert localized number strings to numeric |
| visualize_factor_dynamics | Visualize factor dynamics comprehensively |
| visualize_factor_dynamics_simple | Simple factor dynamics visualization |
| wedge_stationarity | Per-sector and panel stationarity / mean-reversion of the wedge |