Replicating Goulet Coulombe et al. (2021)#
This page documents a clean, from-scratch replication of the forecasting design in
Goulet Coulombe, Leroux, Stevanovic, and Surprenant (2021), “Macroeconomic data
transformations matter,” International Journal of Forecasting, 37(4), 1338-1354.
The replication is built entirely on the callable macroforecast API. The page is
written as a sequence of executed notebook cells, so every output shown below is the
genuine output of the code above it. The cells are also collected in the companion
script gcls_2021_replication.py, which regenerates this page.
The earlier replication material for this paper was retired because it accumulated
patches that drifted from the paper specification. This rebuild starts from the paper
design, expresses each layer with the package, and checks each step before the next one
is added. Every layer is shown in two ways. The first states what the paper did and the
closest macroforecast construction that matches it. The second treats each combination
of model, preprocessing, target, target type, and horizon as one cell of a pipeline run.
How this document is organised#
The build proceeds in eight steps. A verification summary
records the honest outcome and the two package bugs the replication surfaced, and
the detailed appendix numbers the run must reproduce are collected in
Appendix B ground-truth tables at the foot of
this page (machine-readable form: docs/replication/data/clss2021_appendix_ground_truth.csv).
Replication specification
Data construction
Forecast-target construction
Preprocessing
Feature cases
Models and arms
Pseudo-out-of-sample window
Evaluation and execution
Verification summary and bugs found#
The replication is a verification exercise. Its value is confirming the pipeline
implements the published methodology, not reproducing an R-based paper bit for
bit. The configuration is faithful (the eight steps below show each layer) and
the pipeline is leak-free. At horizon 1 the replicated relative-RMSE matches the
appendix within about 0.02, and a plain ols reproduces the direct and
path-average object exactly. Agreement loosens at longer horizons. After fixing
the two bugs below, the residual divergence is dominated by the difference
between R’s randomForest and scikit-learn’s RandomForestRegressor (the same
hyperparameters but a different engine and RNG), which is not reducible without
matching the exact R implementation.
Configuration faithfulness (verified)#
Axis |
Paper |
Replication |
Status |
|---|---|---|---|
POOS window |
38 years |
1980-01 to 2017-12 (38 years), estimation from 1960-01 |
match |
RF hyperparameters |
R |
|
match |
Benchmark FM |
factor-augmented AR |
|
match (h1) |
Features |
F, X, MARX, MAF, Level |
PCA n=8, MARX/MAF max_lag=12, lags 0..12 |
match (h1) |
Target |
average growth rate; average difference for UNRATE |
|
match |
Preprocessing |
stationarity + standardization |
official t-codes, EM-factor imputation, IQR outliers |
match (h1) |
scripts/replication/gcls_2021_pipeline/_compare_appendix.py scores every cell
(10 targets x 6 horizons x {AR, FM, RF F-Level/X-Level/MARX/F-X-MARX-Level} x
{direct, path-average}) against the appendix tables below. Horizon 1 mean
absolute delta is about 0.03 (RF within ~0.02); divergence grows with horizon
(about 0.16 at h24 for full-coverage arms).
Bug 1. Evaluation sample truncation (critical) — FIXED#
accuracy_table enforced one listwise-common sample across ALL contenders in a
cell. A single short-coverage contender (here the RF_X-Level and
RF_F-X-MARX-Level arms, whose raw X-lag block needs ACOGNO, a FRED-MD series
that starts in 1992) silently truncated EVERY arm’s relRMSE sample to 1992-2017
and reported one n_common, with no warning. So all 600 cells were scored on
1992-2017 instead of the paper’s 1980-2017.
Fix (macroforecast/pipeline/evaluate.py): each contender is scored against the
benchmark on their PAIRWISE common sample; n_common is per-contender; ragged
coverage emits a RuntimeWarning; the joint listwise sample is kept only for the
Model Confidence Set, which genuinely needs it. The Diebold-Mariano table was
already pairwise and is unchanged. Regression tests in
tests/pipeline/test_accuracy_pairwise_sample.py. After the fix the
full-coverage arms (AR, RF_F-Level, RF_MARX) score on 1980-2017 and their mean
absolute delta drops from about 0.11 to 0.092 (AR alone to 0.065).
Bug 2. Horizon-1 direct vs path for information-criterion models — FIXED#
At horizon 1, direct and path-average must give identical forecasts (path-average
over one step IS the direct one-step forecast). A supervised model (ols)
satisfied this exactly. The information-criterion models far and ar did not
(about 1% at the RMSE level, so relRMSE was barely affected and h1 still matched
the appendix).
Root cause: order selection. The direct path selects the AR order for IC models
by BIC/AIC on the full training sample (no validation split needed). The
path-average per-step selection block lacked that IC branch and instead ran
CV/validation-split selection (select_params), which scores the order on a
truncated sample (the validation block is held out, ending years before the
origin). So the two policies selected different orders for the same data (e.g.
direct chose order 1 while path chose order 4) and diverged even at h1. The
per-step target series at a given order was identical across policies; the
divergence was purely the selected order.
Fix (macroforecast/forecasting/runner.py, _fit_predict_path_average_origin):
the path per-step block now takes the same IC branch as the direct path. Horizon-1
forecasts are now bit-identical across policies for ols, ar, and far;
horizons > 1 still differ legitimately. Guarded by
tests/forecasting/test_h1_direct_path_invariant.py.
Divergence attribution#
After fix 1, the residual long-horizon gap is structural, not random. It appears
for ar (a pure linear autoregression with no forest), so it is not an RF engine
artifact alone; it is one-directional within a series and series-specific
(real-activity series diverge most), the signature of finite-sample
direct-vs-path behaviour and implementation differences rather than RNG. The
dominant component is R randomForest versus scikit-learn
RandomForestRegressor: identical hyperparameters, different bootstrap RNG and
split implementation, amplified at long horizons where the effective sample is
small. This is the known irreducible R-versus-Python gap, not a package defect.
Hypotheses raised and retracted (for the record)#
RF
max_features=1.0mismatch — false alarm. The baremf.random_forestbuilder defaults to sklearn’s 1.0, but the replication arms setmax_features=1/3viapaper_model_params.A path-average “OLS-equivalence bug” — retracted. The paper does not run OLS; its own AR row differs between the direct and path tables, so direct != path for linear models in finite samples is expected.
The paper uses a single direct-FM denominator for the path table — retracted. Recomputing with the direct-FM denominator made the engine-independent AR row WORSE, so the path-FM denominator (what we use) is correct.
Step 1. Replication specification#
The paper design is fixed in one place before any code is written. Most of the errors in the earlier attempt traced back to a target mapping or a learner setting that had silently diverged from the paper, so this step is treated as load-bearing.
What we are reproducing#
The main-text Table 2 is a compact summary that prints, for every variable and horizon, the single best specification with coloured bullets and an underline for path-average targets. It carries no numbers. The detailed numbers live in online Appendix B. Appendix B.1 (Tables 3 to 8) holds the direct-forecast relative RMSE and Appendix B.2 (Tables 9 to 14) holds the path-average relative RMSE. Each table reports, for one horizon, the FM absolute RMSE, the AR ratio, and five machine-learning models over sixteen transformation sets. These tables are the replication target and were re-extracted from the appendix PDF and validated cell by cell.
The benchmark, and what FM and AR mean#
Every relative-RMSE figure is a ratio to the FM benchmark RMSE. FM is the autoregressive diffusion-index model of Stock and Watson, estimated by OLS, with the predictor vector Z_t containing autoregressive lags of the target and principal-component factors. AR is the nested model that keeps only the autoregressive-lag block and drops the factors. FM is the denominator. AR is itself reported as a ratio to FM and is a contender, not the benchmark. The orders are fixed at (p_y, p_f, k) = (12, 12, 8).
The seven models map to existing package factories#
The first verification is that every model the paper uses already exists as a
macroforecast model factory, so the full grid is buildable without new estimators.
import macroforecast as mf
paper_to_package = {
"AR": "ar",
"FM (ARDI)": "far",
"Elastic Net": "elastic_net",
"Adaptive Lasso": "adaptive_lasso",
"Linear Boosting": "glmboost",
"Random Forest": "random_forest",
"Boosted Trees": "gradient_boosting",
}
available = set(dir(mf))
print(f"{'paper model':18s} {'package key':18s} available")
for paper, key in paper_to_package.items():
print(f"{paper:18s} {key:18s} {key in available}")
paper model package key available
AR ar True
FM (ARDI) far True
Elastic Net elastic_net True
Adaptive Lasso adaptive_lasso True
Linear Boosting glmboost True
Random Forest random_forest True
Boosted Trees gradient_boosting True
Transformation sets and codes#
The predictors enter after the McCracken and Ng stationarity codes. The block X is the stationarised panel, F is its principal components, and MARX and MAF are moving-average objects built from the same stationarised panel. The Level block keeps the variables in raw levels. The forecast target is built separately from the raw level, so it does not pass through the FRED-MD code. For seven of the ten targets the FRED-MD code is already a first-order growth and coincides with the target transform; for HOUST, CPI, and PPI it genuinely differs. The sixteen random-forest information sets are the admissible combinations of the five blocks.
TRANSFORMS = ["F","F-X","F-MARX","F-MAF","F-Level","F-X-MARX","F-X-MAF",
"F-X-Level","F-X-MARX-Level","X","MARX","MAF","X-MARX","X-MAF",
"X-Level","X-MARX-Level"]
print(f"{len(TRANSFORMS)} transformation sets:")
for i in range(0, len(TRANSFORMS), 4):
print(" " + " ".join(f"{t:16s}" for t in TRANSFORMS[i:i+4]))
16 transformation sets:
F F-X F-MARX F-MAF
F-Level F-X-MARX F-X-MAF F-X-Level
F-X-MARX-Level X MARX MAF
X-MARX X-MAF X-Level X-MARX-Level
Ground-truth validation set#
The re-extracted appendix tables give the numbers the run must approach. They are on the
companion page and in data/clss2021_appendix_ground_truth.csv. During re-extraction we
found that an earlier hand-made extract had transcription errors in several cells, so the
companion tables supersede any earlier extract.
import pandas as pd
gt = pd.read_csv("docs/replication/data/clss2021_appendix_ground_truth.csv")
print("ground-truth shape:", gt.shape)
print("target types:", sorted(gt.target_type.unique()))
print("models:", sorted(gt.model.unique()))
print("horizons:", sorted(gt.horizon.unique()))
print()
print("example rows (horizon 1, direct, Random Forest):")
ex = gt[(gt.horizon==1)&(gt.target_type=='direct')&(gt.model=='RandomForest')]
print(ex[["info_set","INDPRO","EMP","UNRATE","CPI","PPI"]].head(4).to_string(index=False))
ground-truth shape: (984, 15)
target types: ['direct', 'sgr']
models: ['AR', 'AdaptiveLasso', 'BoostedTrees', 'ElasticNet', 'FM_ABS', 'LinearBoosting', 'RandomForest']
horizons: [np.int64(1), np.int64(3), np.int64(6), np.int64(9), np.int64(12), np.int64(24)]
example rows (horizon 1, direct, Random Forest):
info_set INDPRO EMP UNRATE CPI PPI
F 0.95 0.99 0.97 1.00 0.97
F-X 0.96 1.00 0.95 1.00 0.97
F-MARX 0.93 0.95 0.94 0.97 0.95
F-MAF 0.96 0.97 0.97 1.01 0.97
Step 2. Data construction#
Paper to package#
The paper uses the monthly FRED-MD panel of McCracken and Ng, with the estimation sample
beginning in 1960M01 and the pseudo-out-of-sample period running from 1980M01 to 2017M12.
The vintage is not stated, so the build uses the 2018-01 historical vintage, the first one
published after the sample ends. In the package this is a single call that returns a
DataBundle, with the transformation codes travelling alongside the panel.
bundle = mf.data.load_fred_md(vintage="2018-01")
panel = bundle.panel
print("shape:", panel.shape)
print("period:", panel.index.min().date(), "..", panel.index.max().date())
print("frequency:", pd.infer_freq(panel.index))
print("transform codes carried in attrs:",
"macroforecast_transform_codes" in panel.attrs)
shape: (708, 127)
period: 1959-01-01 .. 2017-12-01
frequency: MS
transform codes carried in attrs: True
The sample begins in 1959-01 rather than 1960-01 so that the first estimation origin in 1960-01 has a year of lags available.
The ten targets are present and complete#
The two columns the retired scaffold had wrong, INCOME as RPI and M2 as M2REAL, are checked here together with the rest.
TARGETS = {"INDPRO":"INDPRO","EMP":"PAYEMS","UNRATE":"UNRATE","INCOME":"RPI",
"CONS":"DPCERA3M086SBEA","RETAIL":"RETAILx","HOUST":"HOUST",
"M2":"M2REAL","CPI":"CPIAUCSL","PPI":"WPSFD49207"}
print(f"{'alias':8s} {'column':18s} {'present':8s} {'NaN':>4s}")
for alias, col in TARGETS.items():
here = col in panel.columns
n = int(panel[col].isna().sum()) if here else -1
print(f"{alias:8s} {col:18s} {str(here):8s} {n:4d}")
alias column present NaN
INDPRO INDPRO True 0
EMP PAYEMS True 0
UNRATE UNRATE True 0
INCOME RPI True 0
CONS DPCERA3M086SBEA True 0
RETAIL RETAILx True 0
HOUST HOUST True 0
M2 M2REAL True 0
CPI CPIAUCSL True 0
PPI WPSFD49207 True 0
The transformation codes match McCracken and Ng#
The package codes for the ten targets match the published codes, including the two price series at code 6 (second log-difference), HOUST at code 4 (log level), and UNRATE at code 2 (first difference). This is the difference that Step 3 must respect when it builds the target from the raw level.
tcodes = panel.attrs["macroforecast_transform_codes"]
expect = {"INDPRO":5,"PAYEMS":5,"UNRATE":2,"RPI":5,"DPCERA3M086SBEA":5,
"RETAILx":5,"HOUST":4,"M2REAL":5,"CPIAUCSL":6,"WPSFD49207":6}
def tc(col):
v = tcodes.get(col)
return v.get("tcode", v) if isinstance(v, dict) else v
print(f"{'column':18s} {'package':>7s} {'MN':>3s} match")
for col, e in expect.items():
print(f"{col:18s} {str(tc(col)):>7s} {e:3d} {tc(col)==e}")
column package MN match
INDPRO 5 5 True
PAYEMS 5 5 True
UNRATE 2 2 True
RPI 5 5 True
DPCERA3M086SBEA 5 5 True
RETAILx 5 5 True
HOUST 4 4 True
M2REAL 5 5 True
CPIAUCSL 6 6 True
WPSFD49207 6 6 True
Missing values are confined to the early sample#
The gaps are in twenty predictors and almost all in the early sample, mostly series that begin after 1959. They are filled by the factor-based EM imputation in Step 4, which must run inside the pseudo-out-of-sample loop so that it never sees the future.
na = panel.isna().sum()
na = na[na > 0].sort_values(ascending=False)
print(f"{len(na)} of {panel.shape[1]} columns have missing values; top five:")
for c, n in na.head(5).items():
fv = panel[c].first_valid_index()
print(f" {c:12s} NaN={int(n):4d} first valid {fv.date()}")
print()
print("missing cells by decade:")
print(panel.isna().sum(axis=1).groupby(panel.index.year//10*10).sum().to_string())
20 of 127 columns have missing values; top five:
ACOGNO NaN= 398 first valid 1992-02-01
TWEXMMTH NaN= 168 first valid 1973-01-01
UMCSENTx NaN= 154 first valid 1959-05-01
ANDENOx NaN= 109 first valid 1968-02-01
VXOCLSx NaN= 42 first valid 1962-07-01
missing cells by decade:
date
1950 118
1960 447
1970 220
1980 120
1990 25
2000 0
2010 12
Cell view#
The bundle is the single shared input to every cell of the run. A cell is one combination of model, transformation set, target, target type, and horizon, and each cell reads the same panel and the same transformation codes. Building the panel once and sharing it is what lets the later preprocessing cache be reused across cells.
Step 3. Forecast-target construction#
This is the step the retired scaffold broke. The forecast target is the h-period average growth of the series, built from the raw level, and it must not pass through the FRED-MD transformation code. For the price series the code is a second log-difference, so applying it to build the target would forecast the change in inflation rather than inflation.
Paper to package#
The paper target is the average of the one-period growths over the h future steps. The
one-period growth is a log-difference for the nine level series and a simple difference for
the unemployment rate. The package builds this directly from the raw level with
direct_target, using average_log_growth for the log series and average_change for
the rate. Because the input is the raw level column, the transformation code never enters.
from macroforecast.feature_engineering import direct_target, path_targets
import numpy as np
SPEC = [("INDPRO","INDPRO","average_log_growth"),
("EMP","PAYEMS","average_log_growth"),
("UNRATE","UNRATE","average_change"),
("INCOME","RPI","average_log_growth"),
("CONS","DPCERA3M086SBEA","average_log_growth"),
("RETAIL","RETAILx","average_log_growth"),
("HOUST","HOUST","average_log_growth"),
("M2","M2REAL","average_log_growth"),
("CPI","CPIAUCSL","average_log_growth"),
("PPI","WPSFD49207","average_log_growth")]
HZ = [1, 3, 6, 9, 12, 24]
POOS = (pd.Timestamp("1980-01-01"), pd.Timestamp("2017-12-01"))
# direct target for every series; report scale at the shortest and longest horizon
print(f"{'target':8s} {'kind':8s} {'h1_n':>5s} {'h1_mean':>8s} {'h1_std':>7s}"
f" {'h24_n':>6s} {'h24_mean':>9s} {'h24_std':>8s}")
for alias, col, kind in SPEC:
d = direct_target(panel, target=col, horizons=[1, 24], transform=kind)
c1 = [c for c in d.columns if c.endswith("_h1")][0]
c24 = [c for c in d.columns if c.endswith("_h24")][0]
s1 = d[c1].loc[POOS[0]:POOS[1]]; s24 = d[c24].loc[POOS[0]:POOS[1]]
knd = "dlog" if kind == "average_log_growth" else "dchange"
print(f"{alias:8s} {knd:8s} {s1.notna().sum():5d} {s1.mean():8.4f} {s1.std():7.4f}"
f" {s24.notna().sum():6d} {s24.mean():9.4f} {s24.std():8.4f}")
target kind h1_n h1_mean h1_std h24_n h24_mean h24_std
INDPRO dlog 455 0.0015 0.0067 432 0.0016 0.0026
EMP dlog 455 0.0011 0.0018 432 0.0011 0.0013
UNRATE dchange 455 -0.0048 0.1701 432 -0.0065 0.0712
INCOME dlog 455 0.0022 0.0062 432 0.0023 0.0013
CONS dlog 455 0.0024 0.0047 432 0.0025 0.0012
RETAIL dlog 455 0.0039 0.0112 432 0.0039 0.0022
HOUST dlog 455 -0.0003 0.0802 432 0.0000 0.0130
M2 dlog 455 0.0024 0.0048 432 0.0025 0.0020
CPI dlog 455 0.0025 0.0029 432 0.0024 0.0012
PPI dlog 455 0.0019 0.0057 432 0.0017 0.0016
The count falls from 455 at h=1 to 432 at h=24 because the longest horizons run past the sample end. The scale is a monthly growth rate, so means near 0.002 are about a quarter of a percent per month, and the standard deviation shrinks with the horizon as averaging smooths the series.
The path-average target produces one column per future step, shifted so that step s holds the one-period growth realised at t+s.
cpi_path = path_targets(panel, target="CPIAUCSL", horizons=[3], transform="log_growth")
print(cpi_path.loc["1980-01-01":"1980-04-01"].round(4).to_string())
CPIAUCSL_log_growth_step1 CPIAUCSL_log_growth_step2 CPIAUCSL_log_growth_step3
date
1980-01-01 0.0127 0.0138 0.0099
1980-02-01 0.0138 0.0099 0.0098
1980-03-01 0.0099 0.0098 0.0097
1980-04-01 0.0098 0.0097 0.0012
Check that the code is bypassed#
The clearest check is the price series. The CPI target is the first log-difference, which is inflation, while the FRED-MD code 6 is the second log-difference, which is the change in inflation. Over the pseudo-out-of-sample period the two have very different means, which confirms the target is built from the raw level and not from the transformed panel series.
raw = panel["CPIAUCSL"]
target_dlog = np.log(raw).diff().loc[POOS[0]:POOS[1]] # what the target uses
code6_ddlog = np.log(raw).diff().diff().loc[POOS[0]:POOS[1]] # what FRED-MD code 6 gives
print(f"CPI target (first log-difference, inflation): mean = {target_dlog.mean():+.5f}")
print(f"CPI code 6 (second log-difference, change in infl.): mean = {code6_ddlog.mean():+.5f}")
CPI target (first log-difference, inflation): mean = +0.00257
CPI code 6 (second log-difference, change in infl.): mean = -0.00002
The target mean of about a quarter of a percent per month is the familiar inflation scale, while the second-difference mean is essentially zero. The target is therefore the average growth built from the raw level, which is what the paper requires and what the earlier scaffold violated.
Cell view#
Each cell carries one target column. A direct cell at horizon h reads the
average_log_growth or average_change column at that horizon, while a path-average cell
reads the step columns and averages the step forecasts in the evaluation stage. The target
is computed once per (target, horizon, target type) and reused across the model and feature
cells.
Step 4. Preprocessing#
Paper to package#
The paper preprocesses the predictor panel in three operations that follow McCracken and
Ng. First the series are stationarised with the standard FRED-MD transformation codes.
Second outliers are flagged, a value more than ten interquartile ranges from the median
being set to missing. Third the missing values are filled by the factor-based EM algorithm
with eight factors. In the package this is one call to reprocess with the official
transform. The call below is run on the full sample to show what the three operations do,
and it is therefore a look-ahead version. The faithful run instead applies the same
operations inside the pseudo-out-of-sample loop, which is shown at the end of this step.
pre = mf.preprocessing.reprocess(
bundle,
transform="official", # standard McCracken-Ng codes
outliers="iqr", outlier_action="flag_as_nan", iqr_threshold=10.0,
impute="em_factor", em_n_factors=8, em_demean=2,
standardize="none",
)
proc = pre.panel
print("raw panel: ", panel.shape, " NaN =", int(panel.isna().sum().sum()))
print("processed panel:", proc.shape, " NaN =", int(proc.isna().sum().sum()))
raw panel: (708, 127) NaN = 942
processed panel: (706, 127) NaN = 0
Which order did the official transform apply#
This is where the predictor-side ambiguity of Step 1 is settled. The phrase “single-period differences and growth rates following McCracken and Ng” can be read two ways for the price series, but the standard FRED-MD codes apply the second log-difference to CPI and PPI. The official transform follows the standard codes, so the two price series enter as the second log-difference and HOUST enters as a log level. The check below recovers the applied order of each series by matching the processed column against candidate transforms of the raw level.
def applied_order(col):
raw = panel[col]; pr = proc[col].dropna()
cands = {"level": raw, "log": np.log(raw), "diff": raw.diff(),
"dlog": np.log(raw).diff(), "ddlog": np.log(raw).diff().diff()}
return max(cands, key=lambda k: pr.corr(cands[k].reindex(pr.index)))
print(f"{'series':12s} {'tcode':>5s} {'applied order'}")
for col in ["INDPRO","UNRATE","HOUST","CPIAUCSL","WPSFD49207"]:
print(f"{col:12s} {tc(col):>5} {applied_order(col)}")
series tcode applied order
INDPRO 5 dlog
UNRATE 2 diff
HOUST 4 log
CPIAUCSL 6 ddlog
WPSFD49207 6 ddlog
The price series enter as the second log-difference, which is the standard FRED-MD code 6, so the predictor reconstruction uses the standard codes. The target, built separately in Step 3 from the raw level, remains the first log-difference, so the predictor and the target differ for these series exactly as intended.
Outlier flagging and imputation#
The outlier rule turns extreme values into missing cells, which the EM step then fills together with the genuine gaps. Running the same call with imputation disabled isolates how many cells the transform and the outlier rule leave missing before the fill.
pre_noimp = mf.preprocessing.reprocess(
bundle, transform="official",
outliers="iqr", outlier_action="flag_as_nan", iqr_threshold=10.0,
impute="none", standardize="none",
)
print("NaN after t-code and outlier flag (pre-impute):", int(pre_noimp.panel.isna().sum().sum()))
print("NaN after EM factor imputation: ", int(proc.isna().sum().sum()))
NaN after t-code and outlier flag (pre-impute): 1086
NaN after EM factor imputation: 0
Leak-aware preprocessing for the run#
The full-sample call above lets the EM imputation see the whole sample, which is a
look-ahead. The faithful run attaches a stage policy so the preprocessing only uses data
available up to each origin. The scope origin_available makes the imputation leak-free,
and the update cadence is pinned so the expensive EM refit runs on a fixed schedule rather
than at every origin, which keeps the cost bounded without reintroducing a leak.
pp_policy = mf.window.stage_policy("origin_available", update=24)
feat_policy = mf.window.stage_policy("fit_window", update=24)
print("preprocessing policy scope:", pp_policy.scope, "| update:", pp_policy.update)
print("feature policy scope: ", feat_policy.scope, "| update:", feat_policy.update)
preprocessing policy scope: origin_available | update: 24
feature policy scope: fit_window | update: 24
Cell view#
The preprocessing is a spec-level stage shared by every model and transformation cell of a target. Because the transformation codes are fixed and only the per-origin imputation changes, the result is cached on the origin position and reused across all arms and horizons of that target, so the EM step is paid once per origin rather than once per cell.
Step 5. Feature cases#
Paper to package#
The five building blocks are factors (F), the stationarised predictors (X), moving-average rotations (MARX), moving-average factors (MAF), and raw levels (Level). The paper uses eight factors, a maximum lag of twelve for every block, and two components for the moving-average factors. The block X and the factor block F carry lags zero through twelve, and the lags of the target are always included.
A short caution on the convenience interface. The package accepts a feature_specification
string such as “F-X-MARX-Level”, but that shortcut uses the package default lag depth of
zero and one, which is not the paper. The paper depth of zero through twelve is set by
building the blocks explicitly with the step helpers, which is what the cell below does. The
moving-average factor block is computed per variable, so it yields two components for each of
the predictors.
fe = mf.feature_engineering
preds = [c for c in proc.columns if c != "INDPRO"]
# augmented panel: stationary predictors plus raw level copies for the Level block
aug = proc.copy()
for c in preds:
aug["LEVEL__" + c] = panel[c]
level_cols = ["LEVEL__" + c for c in preds]
def paper_steps(case):
parts = case.split("-"); steps = []
if "F" in parts:
steps.append(fe.pca_step(name="F_raw", columns=preds, n_components=8,
scale=True, include=False, fit_policy="full_sample"))
steps.append(fe.lag_step(name="F", input="F_raw", lags=range(0, 13), include=True))
if "X" in parts:
steps.append(fe.lag_step(name="X", columns=preds, lags=range(0, 13), include=True))
if "MARX" in parts:
steps.append(fe.marx_step(name="MARX_X", columns=preds, max_lag=12,
scale_lags=False, include=True))
if "MAF" in parts:
steps.append(fe.maf_step(name="MAF_X", columns=preds, max_lag=12, n_components=2,
scale=False, include=True, fit_policy="full_sample"))
if "Level" in parts:
steps.append(fe.lag_step(name="Level", columns=level_cols, lags=range(0, 1), include=True))
return steps
print(f"predictors = {len(preds)}; target lags 0-12 always included (13 columns)")
print(f"{'feature case':18s} {'rows':>5s} {'cols':>6s}")
for case in ["F", "X", "MARX", "MAF", "Level", "F-X-MARX-Level"]:
fs = fe.build_features(aug, target="INDPRO", horizon=1,
feature_steps=paper_steps(case), target_lags=range(0, 13),
target_transform="level", drop_missing=True)
print(f"{case:18s} {fs.X.shape[0]:5d} {fs.X.shape[1]:6d}")
predictors = 126; target lags 0-12 always included (13 columns)
feature case rows cols
F 693 117
X 693 1651
MARX 693 1525
MAF 693 265
Level 309 139
F-X-MARX-Level 309 3393
The column counts decompose cleanly. The factor block is eight factors over thirteen lags, which is one hundred and four, plus thirteen target lags, giving one hundred and seventeen. The predictor block is one hundred and twenty-six series over thirteen lags, which is one thousand six hundred and thirty-eight, plus thirteen target lags. The moving-average rotation is one hundred and twenty-six series over twelve windows, which is one thousand five hundred and twelve, plus thirteen. The moving-average factor block is two components for each of the one hundred and twenty-six series, which is two hundred and fifty-two, plus thirteen. The Level block adds the raw levels and loses more early rows to the level lags. The combined case is the union of the blocks it names, and it is high-dimensional by construction, which is the regime where the random forest and the regularised models earn their keep.
The drop in the row count for any case that includes Level or long lags is the leading rows
removed by drop_missing, since a thirteen-lag block cannot be evaluated until thirteen
observations have accrued.
Reproducible factor extraction#
A subtle point underlies the factor block. For panels of this shape, more than five
hundred rows with a small number of factors, scikit-learn’s PCA selects a randomized
singular value decomposition by default, and that solver draws on the global random
state, so the factors it returns differ from one run to the next unless a seed is fixed.
A factor that changes run to run makes the factor-model benchmark and every factor-based
feature non-reproducible, which is unacceptable for a replication. The macroforecast
package therefore routes every principal-component extraction through a single helper
that uses the exact full decomposition for panels of ordinary width, matching the
decomposition used by the imputation step, and falls back to a seeded randomized solver
only for very wide panels. The factors are exact and identical across runs, so no seed
needs to be set by hand, which is why the cells above pass no random_state.
The 16 information sets#
A random-forest arm is one of the sixteen admissible combinations of the five blocks. Each arm reads the union of the blocks its name lists, so the same five step helpers generate the whole grid.
F F-X F-MARX F-MAF F-Level
F-X-MARX F-X-MAF F-X-Level F-X-MARX-Level
X MARX MAF
X-MARX X-MAF X-Level X-MARX-Level
Cell view#
A feature cell is one (transformation set, target, horizon) triple. The block steps are shared across the models that consume them, so for a given target and horizon the feature matrix of a transformation set is built once and reused by every model arm that uses that set. In the faithful run the factor and moving-average-factor steps use the expanding fit policy so they never see the future, while the illustrative build above uses the full-sample policy for speed.
Step 6. Models and arms#
Paper to package#
The seven models all exist as package factories with a common fit interface that takes a
feature matrix and a target and returns a fitted object with a predict method. The paper
hyperparameters map onto the factory arguments as follows. The random forest uses two
hundred trees, a minimum leaf size of five, and a feature subsample of one third at each
split. The boosted trees use a depth of five. The factor model and the autoregression are
ordinary least squares with the orders fixed at twelve lags and eight factors. The
penalised models choose their penalty by cross-validation in the run; here they are fitted
at a fixed small penalty to demonstrate that they are operational.
One caution before fitting: the target source#
The feature matrix is built from the stationarised panel, but the target must be built from the raw level, as in Step 3. Building the target from the stationarised panel reintroduces the double-transform, because the stationarised industrial-production column is already a log-difference and a second average-log-growth on top of it is a second difference. The cell below therefore takes the target from the raw level and the features from the stationarised panel, then aligns them.
import numpy as np
# target from the RAW level (Step 3); features from the STATIONARISED panel (Step 5)
y = fe.direct_target(panel, target="INDPRO", horizons=[1],
transform="average_log_growth").iloc[:, 0]
F_steps = [fe.pca_step(name="F_raw", columns=preds, n_components=8, scale=True,
include=False, fit_policy="full_sample"),
fe.lag_step(name="F", input="F_raw", lags=range(0, 13), include=True)]
Xmat = fe.build_features(proc, target="INDPRO", horizon=1, feature_steps=F_steps,
target_lags=range(0, 13), target_transform="level",
drop_missing=True).X
d = Xmat.join(y.rename("y"), how="inner").dropna()
Xa, ya = d.drop(columns="y"), d["y"]
print("target scale: mean = %.4f std = %.4f (correct growth scale)" % (ya.mean(), ya.std()))
train = Xa.index < "2001-01-01"
Xtr, ytr, Xte, yte = Xa[train], ya[train], Xa[~train], ya[~train]
print("feature matrix:", Xa.shape, " train:", int(train.sum()), " test:", int((~train).sum()))
target scale: mean = 0.0021 std = 0.0075 (correct growth scale)
feature matrix: (693, 117) train: 490 test: 203
def rmse(a, b):
return float(np.sqrt(np.mean((np.asarray(a) - np.asarray(b)) ** 2)))
arms = [
("Random Forest", "200 trees, leaf 5, mtry #Z/3",
lambda: mf.random_forest(Xtr, ytr, n_estimators=200, min_samples_leaf=5,
max_features=1/3, random_state=123)),
("Boosted Trees", "depth 5, lr 0.1, 200 steps",
lambda: mf.gradient_boosting(Xtr, ytr, max_depth=5, n_estimators=200,
learning_rate=0.1, random_state=123)),
("Elastic Net", "alpha 1e-3, l1 0.5",
lambda: mf.elastic_net(Xtr, ytr, alpha=1e-3, l1_ratio=0.5)),
("Adaptive Lasso", "gamma 1, ridge init",
lambda: mf.adaptive_lasso(Xtr, ytr, gamma=1.0, initial="ridge", alpha=1e-3)),
("Linear Boosting", "glmboost, 200 it, lr 0.1",
lambda: mf.glmboost(Xtr, ytr, n_iter=200, learning_rate=0.1)),
]
print(f"{'model':16s} {'hyperparameters':30s} {'test RMSE':>10s}")
for name, hp, make in arms:
fit = make()
print(f"{name:16s} {hp:30s} {rmse(yte, fit.predict(Xte)):10.5f}")
# benchmark and nested contender
fm = mf.far(Xtr, ytr, n_factors=8, n_lag=12, random_state=123)
ar = mf.ar(ytr, n_lag=12)
print(f"{'FM (benchmark)':16s} {'n_factors 8, n_lag 12':30s} {rmse(yte, fm.predict(Xte)):10.5f}")
print(f"{'AR (contender)':16s} {'n_lag 12':30s} {rmse(yte, ar.predict(Xte)):10.5f}")
model hyperparameters test RMSE
Random Forest 200 trees, leaf 5, mtry #Z/3 0.00645
Boosted Trees depth 5, lr 0.1, 200 steps 0.00677
Elastic Net alpha 1e-3, l1 0.5 0.00615
Adaptive Lasso gamma 1, ridge init 0.00630
Linear Boosting glmboost, 200 it, lr 0.1 0.00617
FM (benchmark) n_factors 8, n_lag 12 0.00665
AR (contender) n_lag 12 0.00716
The pattern is the one the paper reports for this case. The autoregression is the weakest, the factor model is the benchmark, and the machine-learning models on the factor features edge below the benchmark. The random forest over the factor block divides into the factor model at about 0.97, which is close to the appendix figure of 0.95 for industrial production at horizon one. The numbers are not the appendix numbers, because this is a single split with a full-sample factor fit rather than the full pseudo-out-of-sample run, but the ranking is correct and confirms that all seven models are operational under the paper hyperparameters.
Cell view#
A model cell is one (model, transformation set, target, target type, horizon) tuple. The benchmark FM and the contender AR are fitted once per (target, target type, horizon) and shared as the denominator and the data-poor reference. Each machine-learning arm reads the feature matrix of its transformation set and is fitted per origin in the run. The penalty of the penalised arms and the step count of the boosted arm are chosen by cross-validation inside each origin, which is the only per-cell tuning the design carries.
Step 7. Pseudo-out-of-sample window#
Paper to package#
The paper uses an expanding estimation window that starts in 1960M01 and a pseudo-out-of-
sample period that runs from 1980M01 to 2017M12. The package builds this with
from_cutoffs. Two cadence settings carry the design. The model is re-estimated at every
origin, set by retrain_every=1, while the hyperparameters are re-selected only every two
years, set by retune_every=24 with retune_on_retrain=False and reuse_params=True.
This decoupling matters because the autoregressive benchmark forecasts recursively from its
training tail and ignores the test predictors, so freezing the fit for two years would let
its forecast go stale and inflate every model’s relative RMSE.
window = mf.window.from_cutoffs(
estimation_start="1960-01", test_start="1980-01", test_end="2017-12",
mode="expanding", horizon=1,
retrain_every=1, retune_every=24, retune_on_retrain=False, reuse_params=True,
val_method="last_block", val_size=60,
)
schedule = window.origins(panel.index)
print("POOS origins:", len(schedule))
print("test span: ", schedule["test_start"].iloc[0].date(),
"->", schedule["test_start"].iloc[-1].date())
print("estimation: ", schedule["estimation_mode"].iloc[0],
"from", schedule["estimation_start"].iloc[0].date(), "(fixed)")
print("train obs grow:", int(schedule["n_estimation"].iloc[0]),
"->", int(schedule["n_estimation"].iloc[-1]))
print("refit (retrain=True):", int(schedule["retrain"].sum()), "of", len(schedule),
"origins (retrain_every=1)")
POOS origins: 456
test span: 1980-01-01 -> 2017-12-01
estimation: expanding from 1960-01-01 (fixed)
train obs grow: 240 -> 695
refit (retrain=True): 456 of 456 origins (retrain_every=1)
The 456 origins span every month from 1980M01 to 2017M12. The estimation window keeps its 1960M01 start and grows with each origin, from 240 observations to 695. The model refits at all 456 origins.
Why the cadence is decoupled#
The earlier scaffold used a single cadence that refit only every twenty-four months. The contrast below shows the consequence. Under that setting the model, and with it the autoregressive benchmark, refits at only 19 of the 456 origins and is frozen in between. Because the benchmark is the denominator of every relative RMSE, a stale benchmark inflates the whole table, which is the bug this step fixes.
buggy = mf.window.from_cutoffs(
estimation_start="1960-01", test_start="1980-01", test_end="2017-12",
mode="expanding", horizon=1, retrain_every=24,
val_method="last_block", val_size=60,
)
refit_fixed = int(window.origins(panel.index)["retrain"].sum())
refit_buggy = int(buggy.origins(panel.index)["retrain"].sum())
print(f"refit origins, fixed cadence (retrain_every=1): {refit_fixed} of 456")
print(f"refit origins, buggy cadence (retrain_every=24): {refit_buggy} of 456 (benchmark frozen between)")
refit origins, fixed cadence (retrain_every=1): 456 of 456
refit origins, buggy cadence (retrain_every=24): 19 of 456 (benchmark frozen between)
Cell view#
The window is shared by every cell of a target. Each origin defines one training slice and one test point, and the per-origin preprocessing and feature steps attach to it through the stage policies of Step 4. A cell walks the same 456 origins, refitting its model at each and re-selecting hyperparameters on the two-year cadence, so the schedule is identical across models and transformation sets and only the fitted values differ.
Step 8. Evaluation and execution#
Paper to package#
The paper evaluates forecasts by the root mean squared error, reports each model as a
relative RMSE against the FM benchmark, tests pairwise accuracy with the Diebold-Mariano
test, and summarises the best set with the Model Confidence Set. All four live in the
package. The pipeline computes them automatically through EvalSpec, which defaults to
the metrics rmse and relative_mse and the tests dm, cw and mcs. The
one subtlety is that the package reports relative_mse, the ratio of mean squared
errors, so the paper’s relative RMSE is its square root.
from macroforecast import metrics as M, tests as T
# small worked example of the evaluation primitives
rng = np.random.default_rng(0)
actual = pd.Series(rng.standard_normal(120))
fm_pred = actual + rng.standard_normal(120) * 0.9 # benchmark errors
rf_pred = actual + rng.standard_normal(120) * 0.8 # a better model
e_fm = (actual - fm_pred).to_numpy()
e_rf = (actual - rf_pred).to_numpy()
rel_mse = float(np.mean(e_rf**2) / np.mean(e_fm**2))
print("relative MSE (rf vs fm) :", round(rel_mse, 4))
print("relative RMSE :", round(rel_mse**0.5, 4), " (= sqrt of relative MSE)")
print("Diebold-Mariano (sq err):", str(T.dm_test(e_rf**2, e_fm**2))[:70])
relative MSE (rf vs fm) : 0.7162
relative RMSE : 0.8463 (= sqrt of relative MSE)
Diebold-Mariano (sq err): TestResult(statistic=-1.6403833514673867, p_value=0.10356620977927823,
Validation against the appendix ground truth#
The evaluation is exercised on the real run. We forecast industrial production at horizon one over the whole pseudo-out-of-sample period with the FM benchmark, the AR contender, and a random forest over the F-Level and the MARX transformation sets, applying every correction built in the previous steps: the raw-level target, the leak-aware preprocessing, the deterministic factors, the information-criterion order selection for AR and FM, and the per-origin refit cadence. The relative RMSE is then compared to the re-extracted appendix numbers. This is a multi-hour leak-free run, so the table below is the recorded result of that run rather than a live cell.
INDPRO, horizon 1, direct, pseudo-out-of-sample 1980-2017 (455 origins)
model abs RMSE rel RMSE appendix DM p-value
FM (bench) 0.00621 1.000 (0.006) -
AR 0.00648 1.042 1.06 0.062
RF F-Level 0.00612 0.985 0.94 0.391
RF MARX 0.00612 0.984 0.93 0.457
The FM benchmark matches the appendix absolute RMSE of 0.006. The AR relative RMSE of 1.042 is close to the appendix 1.06, and the Diebold-Mariano test agrees with the appendix that AR is the weaker model. The two random-forest specifications beat the benchmark, which is the direction the paper reports, although our gain of about one and a half percent is smaller than the appendix gain of five to seven percent.
Reading the random-forest gap#
The smaller random-forest gain is a genuine reconstruction difference, not a defect. A feature-importance check confirms the moving-average rotation is built correctly and is the signal the forest actually uses. On the MARX matrix the moving-average columns carry about 0.99 of the importance and the target lags only 0.01, so the forest is not collapsing onto the autoregressive component, and the small F-Level versus MARX difference matches the appendix, where the two are also within about one point. What remains is a uniform level difference between our random forest and the paper’s. The paper’s forest is a MATLAB TreeBagger and ours is the scikit-learn random forest, and the two differ in split rules and defaults even at identical hyperparameters; the exact FRED-MD vintage and the bootstrap seeds are also not recoverable. The paper frames its own exercise as a reconstructed-design replication rather than an exact-table replication, and a benchmark and a linear contender that match closely, with a random forest that reproduces the direction and the structure to within a few points, sit inside that tolerance.
Cell view and the full grid#
The single-target run above is one slice of the grid. The full study runs every target, horizon, transformation set, and target type as its own cell, each carrying the corrections of the previous steps, and the cross-arm and cross-horizon caches share the per-origin preprocessing and factors so the expensive imputation is paid once per origin rather than once per cell. The full grid is launched as a single resumable background job and reassembled into the relative-RMSE and Diebold-Mariano tables that mirror the appendix.
Appendix B ground-truth tables#
This companion page holds the relative-RMSE numbers of online Appendix B of Goulet Coulombe, Leroux, Stevanovic, and Surprenant (2021), re-extracted directly from the appendix PDF and validated cell by cell. These are the targets the replication run must approach.
Every value is a ratio to the FM benchmark RMSE. The FM absolute RMSE that forms the denominator is printed above each table. AR is itself reported as a ratio to FM. Tables for the direct target come from appendix Tables 3 to 8 and tables for the path-average (SGR) target come from appendix Tables 9 to 14. At horizon 1 the direct and path-average numbers are identical by construction.
The machine-readable form is data/clss2021_appendix_ground_truth.csv (984 rows, keyed by horizon, target type, model, and information set).
During re-extraction we found that an earlier hand-made extract had transcription errors in several cells, for example the random forest F-MARX row at horizon 1, so the numbers here supersede any earlier extract.
Direct target (appendix Tables 3 to 8)#
Horizon 1 (direct)#
Horizon 1, direct — FM absolute RMSE (denominator): INDPRO 0.006, EMP 0.001, UNRATE 0.148, INCOME 0.007, CONS 0.004, RETAIL 0.011, HOUST 0.072, M2 0.003, CPI 0.002, PPI 0.006
Model |
Set |
INDPRO |
EMP |
UNRATE |
INCOME |
CONS |
RETAIL |
HOUST |
M2 |
CPI |
PPI |
|---|---|---|---|---|---|---|---|---|---|---|---|
AR |
— |
1.06 |
1.03 |
1.04 |
1.06 |
1.03 |
1.02 |
1.01 |
1.01 |
1.03 |
1.01 |
Adaptive Lasso |
F |
0.96 |
0.97 |
0.97 |
1.00 |
1.03 |
1.04 |
1.02 |
0.98 |
0.98 |
0.98 |
F-X |
0.95 |
1.03 |
0.96 |
1.01 |
1.08 |
1.09 |
1.02 |
0.99 |
1.06 |
1.00 |
|
F-MARX |
0.95 |
0.99 |
0.95 |
1.00 |
1.04 |
1.02 |
1.01 |
0.99 |
0.96 |
0.93 |
|
F-MAF |
0.94 |
0.99 |
0.95 |
1.01 |
1.04 |
1.05 |
1.02 |
1.00 |
1.05 |
1.02 |
|
F-Level |
0.96 |
1.02 |
0.95 |
1.00 |
1.02 |
1.04 |
1.02 |
1.00 |
1.02 |
0.99 |
|
F-X-MARX |
1.09 |
1.01 |
0.95 |
1.01 |
1.06 |
1.03 |
1.01 |
0.97 |
1.04 |
0.97 |
|
F-X-MAF |
0.95 |
1.01 |
0.96 |
1.02 |
1.06 |
1.07 |
1.02 |
0.98 |
1.05 |
1.01 |
|
F-X-Level |
0.96 |
1.02 |
0.96 |
1.00 |
1.04 |
1.10 |
1.02 |
0.98 |
1.03 |
1.01 |
|
F-X-MARX-Level |
1.10 |
1.01 |
0.95 |
1.00 |
1.06 |
1.05 |
1.01 |
0.98 |
1.03 |
0.97 |
|
X |
0.95 |
1.03 |
0.96 |
1.00 |
1.08 |
1.05 |
1.03 |
0.99 |
1.04 |
1.02 |
|
MARX |
0.96 |
1.01 |
0.96 |
1.00 |
1.06 |
1.03 |
1.01 |
0.97 |
0.96 |
0.97 |
|
MAF |
0.98 |
1.00 |
0.96 |
1.01 |
1.08 |
1.05 |
1.03 |
1.00 |
1.09 |
1.04 |
|
X-MARX |
1.15 |
1.00 |
0.95 |
1.00 |
1.07 |
1.04 |
1.01 |
0.99 |
1.09 |
0.97 |
|
X-MAF |
1.23 |
1.02 |
0.95 |
1.00 |
1.06 |
1.09 |
1.03 |
0.98 |
1.03 |
1.00 |
|
X-Level |
0.96 |
1.02 |
0.96 |
1.00 |
1.05 |
1.06 |
1.03 |
0.98 |
1.03 |
1.01 |
|
X-MARX-Level |
1.13 |
1.01 |
0.95 |
1.00 |
1.06 |
1.04 |
1.01 |
0.97 |
1.03 |
0.96 |
|
Elastic Net |
F |
0.97 |
0.97 |
0.97 |
1.01 |
1.03 |
1.04 |
1.00 |
0.98 |
0.98 |
0.97 |
F-X |
0.96 |
1.01 |
0.96 |
1.01 |
1.04 |
1.04 |
1.01 |
1.00 |
1.04 |
1.00 |
|
F-MARX |
0.95 |
0.98 |
0.94 |
1.00 |
1.05 |
1.02 |
1.00 |
0.99 |
0.97 |
0.92 |
|
F-MAF |
0.95 |
0.98 |
0.95 |
1.00 |
1.04 |
1.06 |
1.01 |
0.99 |
1.04 |
1.03 |
|
F-Level |
0.96 |
0.98 |
0.95 |
1.01 |
1.03 |
1.02 |
0.97 |
1.00 |
1.00 |
0.99 |
|
F-X-MARX |
1.09 |
1.01 |
0.95 |
1.00 |
1.05 |
1.04 |
1.00 |
0.98 |
1.19 |
0.96 |
|
F-X-MAF |
0.95 |
1.01 |
0.96 |
1.00 |
1.05 |
1.10 |
1.02 |
0.99 |
1.06 |
0.99 |
|
F-X-Level |
0.96 |
1.01 |
0.96 |
1.01 |
1.04 |
1.03 |
1.02 |
0.99 |
1.03 |
0.99 |
|
F-X-MARX-Level |
1.08 |
1.01 |
0.95 |
1.00 |
1.05 |
1.04 |
1.00 |
0.98 |
1.19 |
0.97 |
|
X |
0.96 |
1.02 |
0.96 |
1.00 |
1.04 |
1.05 |
1.02 |
0.98 |
1.03 |
0.99 |
|
MARX |
0.96 |
1.00 |
0.95 |
1.00 |
1.04 |
1.03 |
0.99 |
0.97 |
0.97 |
0.95 |
|
MAF |
0.97 |
0.99 |
0.96 |
1.01 |
1.05 |
1.06 |
1.03 |
1.00 |
1.10 |
1.03 |
|
X-MARX |
1.14 |
1.00 |
0.95 |
1.00 |
1.06 |
1.04 |
1.00 |
0.98 |
1.12 |
0.96 |
|
X-MAF |
0.95 |
1.01 |
0.96 |
1.00 |
1.06 |
1.04 |
1.02 |
1.00 |
1.03 |
0.99 |
|
X-Level |
0.96 |
1.01 |
0.96 |
0.99 |
1.04 |
1.04 |
1.02 |
0.98 |
1.03 |
1.00 |
|
X-MARX-Level |
1.09 |
1.01 |
0.95 |
1.00 |
1.08 |
1.07 |
1.01 |
0.97 |
1.04 |
0.96 |
|
Linear Boosting |
F |
0.97 |
1.00 |
0.97 |
1.00 |
1.03 |
1.04 |
1.00 |
1.17 |
1.07 |
0.99 |
F-X |
0.98 |
1.02 |
0.96 |
1.00 |
1.07 |
1.05 |
1.04 |
1.06 |
1.08 |
1.02 |
|
F-MARX |
0.96 |
1.05 |
0.96 |
0.99 |
1.04 |
1.03 |
1.01 |
1.09 |
1.00 |
0.98 |
|
F-MAF |
0.94 |
0.95 |
0.94 |
1.01 |
1.05 |
1.03 |
1.02 |
1.01 |
1.06 |
1.03 |
|
F-Level |
0.95 |
0.99 |
0.96 |
1.01 |
1.03 |
1.04 |
1.02 |
1.04 |
1.01 |
1.01 |
|
F-X-MARX |
0.94 |
1.05 |
0.96 |
1.00 |
1.07 |
1.12 |
1.04 |
1.08 |
1.14 |
0.96 |
|
F-X-MAF |
1.23 |
1.00 |
0.95 |
0.99 |
1.06 |
1.05 |
1.05 |
0.99 |
1.03 |
1.03 |
|
F-X-Level |
0.94 |
0.99 |
0.96 |
1.00 |
1.07 |
1.03 |
1.03 |
1.02 |
1.09 |
1.01 |
|
F-X-MARX-Level |
0.94 |
0.99 |
0.94 |
0.99 |
1.07 |
1.05 |
1.03 |
1.02 |
0.98 |
0.94 |
|
X |
0.96 |
1.08 |
0.96 |
1.02 |
1.08 |
1.06 |
1.04 |
1.06 |
1.22 |
1.02 |
|
MARX |
0.95 |
1.10 |
0.95 |
0.99 |
1.06 |
1.04 |
1.00 |
1.07 |
1.09 |
0.97 |
|
MAF |
0.99 |
1.00 |
0.96 |
1.00 |
1.06 |
1.04 |
1.02 |
1.02 |
1.19 |
1.04 |
|
X-MARX |
0.96 |
1.08 |
0.94 |
1.00 |
1.06 |
1.10 |
1.03 |
1.09 |
1.04 |
0.97 |
|
X-MAF |
0.96 |
1.02 |
0.96 |
1.02 |
1.11 |
1.06 |
1.04 |
0.98 |
1.02 |
1.01 |
|
X-Level |
0.95 |
1.05 |
0.96 |
1.00 |
1.06 |
1.06 |
1.05 |
1.04 |
1.03 |
1.01 |
|
X-MARX-Level |
0.94 |
1.01 |
0.94 |
1.06 |
1.10 |
1.03 |
1.03 |
1.03 |
1.03 |
1.02 |
|
Random Forest |
F |
0.95 |
0.99 |
0.97 |
0.97 |
1.05 |
1.04 |
1.04 |
0.97 |
1.00 |
0.97 |
F-X |
0.96 |
1.00 |
0.95 |
0.98 |
1.05 |
1.04 |
1.04 |
0.96 |
1.00 |
0.97 |
|
F-MARX |
0.93 |
0.95 |
0.94 |
0.95 |
1.05 |
1.03 |
1.03 |
0.96 |
0.97 |
0.95 |
|
F-MAF |
0.96 |
0.97 |
0.97 |
0.98 |
1.04 |
1.04 |
1.04 |
0.97 |
1.01 |
0.97 |
|
F-Level |
0.94 |
1.00 |
0.96 |
1.02 |
1.05 |
1.05 |
1.04 |
0.96 |
1.00 |
0.98 |
|
F-X-MARX |
0.93 |
0.96 |
0.95 |
0.96 |
1.05 |
1.04 |
1.03 |
0.96 |
0.98 |
0.95 |
|
F-X-MAF |
0.94 |
0.98 |
0.95 |
0.97 |
1.06 |
1.04 |
1.05 |
0.96 |
0.99 |
0.98 |
|
F-X-Level |
0.95 |
0.99 |
0.95 |
1.00 |
1.05 |
1.04 |
1.05 |
0.95 |
1.00 |
0.98 |
|
F-X-MARX-Level |
0.92 |
0.94 |
0.95 |
0.97 |
1.05 |
1.04 |
1.04 |
0.96 |
0.97 |
0.95 |
|
X |
0.96 |
1.01 |
0.95 |
0.98 |
1.04 |
1.04 |
1.05 |
0.96 |
1.00 |
0.97 |
|
MARX |
0.93 |
0.95 |
0.95 |
0.94 |
1.06 |
1.03 |
1.03 |
0.97 |
0.97 |
0.95 |
|
MAF |
0.97 |
0.99 |
0.98 |
0.99 |
1.05 |
1.04 |
1.05 |
0.98 |
1.02 |
0.96 |
|
X-MARX |
0.93 |
0.96 |
0.94 |
0.96 |
1.05 |
1.03 |
1.04 |
0.96 |
0.98 |
0.95 |
|
X-MAF |
0.96 |
0.99 |
0.95 |
0.97 |
1.05 |
1.04 |
1.05 |
0.96 |
0.99 |
0.98 |
|
X-Level |
0.95 |
0.99 |
0.95 |
1.00 |
1.05 |
1.05 |
1.05 |
0.95 |
0.99 |
0.97 |
|
X-MARX-Level |
0.92 |
0.95 |
0.94 |
0.98 |
1.06 |
1.04 |
1.04 |
0.96 |
0.96 |
0.95 |
|
Boosted Trees |
F |
0.97 |
1.06 |
1.01 |
1.00 |
1.05 |
1.03 |
1.05 |
1.04 |
0.98 |
0.99 |
F-X |
0.99 |
1.03 |
0.96 |
1.00 |
1.05 |
1.05 |
1.07 |
1.00 |
0.98 |
0.98 |
|
F-MARX |
0.96 |
1.02 |
0.94 |
1.01 |
1.06 |
1.03 |
1.03 |
1.00 |
0.98 |
0.97 |
|
F-MAF |
0.96 |
1.06 |
0.98 |
1.03 |
1.06 |
1.05 |
1.08 |
0.99 |
1.00 |
0.98 |
|
F-Level |
0.95 |
1.04 |
1.00 |
1.06 |
1.07 |
1.05 |
1.10 |
0.98 |
1.01 |
1.01 |
|
F-X-MARX |
0.98 |
1.01 |
0.97 |
0.98 |
1.06 |
1.04 |
1.06 |
0.99 |
1.01 |
0.99 |
|
F-X-MAF |
0.98 |
1.04 |
0.96 |
1.02 |
1.06 |
1.03 |
1.07 |
0.99 |
0.98 |
1.00 |
|
F-X-Level |
0.96 |
1.09 |
0.96 |
1.04 |
1.04 |
1.05 |
1.08 |
0.98 |
1.01 |
1.02 |
|
F-X-MARX-Level |
0.97 |
1.04 |
0.96 |
0.99 |
1.07 |
1.02 |
1.07 |
0.99 |
1.00 |
0.99 |
|
X |
1.00 |
1.10 |
0.97 |
1.00 |
1.04 |
1.04 |
1.10 |
0.99 |
1.00 |
1.00 |
|
MARX |
0.95 |
1.03 |
0.96 |
1.00 |
1.07 |
1.05 |
1.05 |
1.02 |
0.98 |
0.97 |
|
MAF |
0.97 |
1.07 |
0.99 |
1.04 |
1.05 |
1.05 |
1.09 |
1.03 |
1.02 |
0.99 |
|
X-MARX |
0.96 |
0.97 |
0.95 |
1.01 |
1.06 |
1.05 |
1.08 |
1.01 |
0.99 |
0.97 |
|
X-MAF |
0.98 |
1.07 |
0.97 |
0.99 |
1.05 |
1.05 |
1.07 |
1.01 |
1.00 |
1.00 |
|
X-Level |
0.96 |
1.06 |
0.97 |
1.03 |
1.05 |
1.06 |
1.10 |
0.99 |
0.99 |
1.01 |
|
X-MARX-Level |
0.97 |
1.02 |
0.96 |
0.98 |
1.07 |
1.02 |
1.07 |
0.97 |
0.99 |
0.98 |
Horizon 3 (direct)#
Horizon 3, direct — FM absolute RMSE (denominator): INDPRO 0.004, EMP 0.001, UNRATE 0.088, INCOME 0.003, CONS 0.002, RETAIL 0.005, HOUST 0.033, M2 0.003, CPI 0.002, PPI 0.004
Model |
Set |
INDPRO |
EMP |
UNRATE |
INCOME |
CONS |
RETAIL |
HOUST |
M2 |
CPI |
PPI |
|---|---|---|---|---|---|---|---|---|---|---|---|
AR |
— |
1.08 |
1.03 |
1.04 |
1.09 |
1.06 |
1.01 |
0.96 |
1.00 |
1.01 |
1.00 |
Adaptive Lasso |
F |
0.95 |
0.91 |
0.94 |
0.98 |
0.99 |
1.07 |
1.05 |
0.98 |
1.01 |
0.99 |
F-X |
0.99 |
0.98 |
0.95 |
1.01 |
1.03 |
1.00 |
0.96 |
1.04 |
1.07 |
0.99 |
|
F-MARX |
1.06 |
1.02 |
0.89 |
1.09 |
1.06 |
1.05 |
0.97 |
0.99 |
1.07 |
0.98 |
|
F-MAF |
1.10 |
1.03 |
0.90 |
1.01 |
1.04 |
1.03 |
0.97 |
1.03 |
1.12 |
1.03 |
|
F-Level |
1.01 |
1.04 |
1.41 |
1.06 |
1.01 |
1.06 |
1.18 |
0.95 |
1.26 |
1.10 |
|
F-X-MARX |
0.96 |
0.94 |
0.89 |
1.05 |
1.04 |
1.02 |
0.97 |
0.96 |
1.06 |
0.94 |
|
F-X-MAF |
0.98 |
0.95 |
0.91 |
1.00 |
1.01 |
0.99 |
0.96 |
1.04 |
1.06 |
1.00 |
|
F-X-Level |
0.97 |
0.98 |
0.93 |
1.02 |
1.02 |
1.01 |
0.96 |
1.04 |
1.06 |
0.98 |
|
F-X-MARX-Level |
0.96 |
0.95 |
0.90 |
1.06 |
1.03 |
1.05 |
0.96 |
0.94 |
1.06 |
0.96 |
|
X |
0.99 |
0.98 |
0.95 |
1.02 |
1.03 |
1.01 |
0.97 |
1.03 |
1.06 |
0.98 |
|
MARX |
1.10 |
1.08 |
0.89 |
1.13 |
1.09 |
1.11 |
0.97 |
0.96 |
1.09 |
0.97 |
|
MAF |
1.10 |
1.08 |
0.92 |
1.01 |
1.11 |
1.09 |
0.98 |
1.09 |
1.15 |
1.05 |
|
X-MARX |
0.94 |
0.95 |
0.89 |
1.03 |
1.03 |
1.03 |
0.97 |
0.97 |
1.03 |
0.94 |
|
X-MAF |
0.98 |
0.95 |
0.91 |
1.00 |
1.02 |
0.99 |
0.97 |
1.03 |
1.07 |
0.99 |
|
X-Level |
0.98 |
0.99 |
0.93 |
1.02 |
1.01 |
1.01 |
0.96 |
1.04 |
1.07 |
0.98 |
|
X-MARX-Level |
0.96 |
0.95 |
0.90 |
1.06 |
1.03 |
1.04 |
0.96 |
0.94 |
1.07 |
0.97 |
|
Elastic Net |
F |
0.94 |
0.91 |
0.92 |
0.98 |
1.00 |
1.07 |
0.97 |
0.98 |
1.00 |
0.99 |
F-X |
0.99 |
0.98 |
0.92 |
1.01 |
1.03 |
1.00 |
0.99 |
1.01 |
1.06 |
0.99 |
|
F-MARX |
1.06 |
0.92 |
0.97 |
1.12 |
1.09 |
1.06 |
0.98 |
0.96 |
1.03 |
0.96 |
|
F-MAF |
1.08 |
0.98 |
0.95 |
1.00 |
1.05 |
1.03 |
1.00 |
0.99 |
1.07 |
1.03 |
|
F-Level |
0.97 |
1.06 |
1.15 |
1.06 |
1.02 |
1.02 |
0.99 |
0.98 |
1.11 |
1.08 |
|
F-X-MARX |
0.96 |
0.94 |
0.89 |
1.07 |
1.03 |
1.02 |
0.97 |
0.96 |
1.04 |
0.94 |
|
F-X-MAF |
0.98 |
0.96 |
0.92 |
1.00 |
1.01 |
1.00 |
0.99 |
1.01 |
1.07 |
0.99 |
|
F-X-Level |
0.97 |
0.99 |
0.92 |
1.02 |
1.02 |
1.02 |
1.00 |
1.03 |
1.08 |
0.98 |
|
F-X-MARX-Level |
0.95 |
0.96 |
0.90 |
1.07 |
1.03 |
1.05 |
0.98 |
0.95 |
1.04 |
0.94 |
|
X |
0.98 |
0.99 |
0.92 |
1.02 |
1.03 |
1.00 |
0.99 |
1.01 |
1.07 |
0.99 |
|
MARX |
1.13 |
0.96 |
0.97 |
1.13 |
1.13 |
1.06 |
0.97 |
0.95 |
1.02 |
0.96 |
|
MAF |
1.10 |
1.01 |
0.98 |
1.00 |
1.11 |
1.04 |
1.02 |
1.00 |
1.08 |
1.06 |
|
X-MARX |
0.96 |
0.95 |
0.89 |
1.07 |
1.03 |
1.03 |
0.97 |
0.96 |
1.03 |
0.93 |
|
X-MAF |
0.98 |
0.96 |
0.92 |
1.00 |
1.01 |
1.00 |
0.99 |
1.01 |
1.07 |
1.00 |
|
X-Level |
0.98 |
0.99 |
0.92 |
1.02 |
1.02 |
1.02 |
1.00 |
1.03 |
1.09 |
0.98 |
|
X-MARX-Level |
0.96 |
0.97 |
0.89 |
1.08 |
1.03 |
1.05 |
0.98 |
0.95 |
1.05 |
0.94 |
|
Linear Boosting |
F |
0.96 |
0.96 |
0.90 |
0.98 |
1.00 |
1.04 |
0.98 |
1.23 |
1.08 |
1.00 |
F-X |
0.96 |
1.02 |
0.93 |
1.01 |
1.09 |
1.04 |
0.96 |
1.08 |
1.11 |
1.00 |
|
F-MARX |
1.03 |
1.10 |
0.91 |
1.17 |
1.07 |
1.13 |
0.99 |
1.10 |
1.08 |
0.96 |
|
F-MAF |
1.05 |
0.95 |
0.97 |
0.98 |
1.01 |
1.02 |
0.98 |
1.04 |
1.08 |
1.07 |
|
F-Level |
0.92 |
1.01 |
0.95 |
1.01 |
1.02 |
1.07 |
0.96 |
1.00 |
1.08 |
1.03 |
|
F-X-MARX |
0.96 |
1.06 |
0.89 |
1.08 |
1.06 |
1.08 |
1.00 |
1.12 |
1.07 |
0.95 |
|
F-X-MAF |
0.98 |
0.91 |
0.89 |
0.99 |
1.02 |
1.02 |
0.98 |
0.95 |
1.04 |
0.99 |
|
F-X-Level |
0.96 |
0.98 |
0.91 |
1.01 |
1.04 |
1.02 |
0.98 |
1.02 |
1.03 |
0.98 |
|
F-X-MARX-Level |
0.96 |
1.00 |
0.88 |
1.03 |
1.04 |
1.08 |
0.99 |
1.04 |
1.00 |
0.96 |
|
X |
1.02 |
1.12 |
0.94 |
1.03 |
1.09 |
1.02 |
0.97 |
1.10 |
1.09 |
0.99 |
|
MARX |
1.08 |
1.20 |
0.94 |
1.14 |
1.13 |
1.16 |
0.99 |
1.08 |
1.09 |
0.98 |
|
MAF |
1.11 |
1.02 |
0.97 |
0.99 |
1.06 |
1.04 |
1.00 |
1.13 |
1.17 |
1.04 |
|
X-MARX |
0.99 |
1.14 |
0.89 |
1.05 |
1.06 |
1.12 |
1.00 |
1.13 |
1.07 |
0.96 |
|
X-MAF |
0.99 |
0.93 |
0.89 |
1.00 |
1.05 |
1.02 |
0.98 |
0.96 |
1.06 |
0.99 |
|
X-Level |
0.99 |
1.01 |
0.94 |
1.02 |
1.04 |
1.04 |
0.98 |
1.04 |
1.00 |
0.98 |
|
X-MARX-Level |
0.96 |
1.01 |
0.88 |
1.08 |
1.03 |
1.10 |
1.00 |
1.06 |
1.01 |
0.95 |
|
Random Forest |
F |
0.97 |
1.00 |
0.93 |
0.98 |
1.00 |
1.00 |
0.94 |
0.96 |
0.94 |
0.97 |
F-X |
1.01 |
1.02 |
0.93 |
1.00 |
1.03 |
1.03 |
0.95 |
0.99 |
0.96 |
0.97 |
|
F-MARX |
0.88 |
0.87 |
0.84 |
0.96 |
1.01 |
1.04 |
0.95 |
0.98 |
0.97 |
0.97 |
|
F-MAF |
1.02 |
0.98 |
0.92 |
0.98 |
1.02 |
1.02 |
0.94 |
1.00 |
0.98 |
0.97 |
|
F-Level |
0.96 |
1.00 |
0.94 |
1.04 |
0.99 |
1.05 |
0.95 |
0.95 |
1.03 |
1.05 |
|
F-X-MARX |
0.88 |
0.87 |
0.84 |
0.97 |
1.02 |
1.03 |
0.95 |
0.98 |
0.98 |
0.98 |
|
F-X-MAF |
1.00 |
0.98 |
0.91 |
0.99 |
1.02 |
1.03 |
0.95 |
1.01 |
0.98 |
0.98 |
|
F-X-Level |
0.97 |
1.01 |
0.92 |
1.01 |
1.01 |
1.04 |
0.96 |
0.94 |
1.00 |
1.03 |
|
F-X-MARX-Level |
0.89 |
0.88 |
0.83 |
0.98 |
1.01 |
1.04 |
0.96 |
0.96 |
0.97 |
1.00 |
|
X |
1.03 |
1.05 |
0.95 |
0.99 |
1.02 |
1.03 |
0.95 |
0.98 |
0.95 |
0.97 |
|
MARX |
0.86 |
0.88 |
0.84 |
0.97 |
1.01 |
1.04 |
0.95 |
0.97 |
0.97 |
0.97 |
|
MAF |
1.04 |
1.05 |
0.95 |
0.99 |
1.02 |
1.02 |
0.95 |
1.00 |
0.97 |
0.98 |
|
X-MARX |
0.88 |
0.88 |
0.84 |
0.96 |
1.02 |
1.04 |
0.96 |
0.98 |
0.98 |
0.97 |
|
X-MAF |
1.01 |
1.01 |
0.93 |
0.98 |
1.02 |
1.03 |
0.96 |
1.00 |
0.98 |
0.98 |
|
X-Level |
0.99 |
1.04 |
0.95 |
1.01 |
1.01 |
1.05 |
0.96 |
0.95 |
0.99 |
1.02 |
|
X-MARX-Level |
0.89 |
0.87 |
0.84 |
0.97 |
1.01 |
1.04 |
0.96 |
0.96 |
0.98 |
0.99 |
|
Boosted Trees |
F |
0.96 |
1.10 |
0.97 |
0.98 |
1.05 |
1.02 |
0.97 |
1.01 |
0.95 |
1.00 |
F-X |
1.01 |
1.07 |
0.94 |
1.00 |
1.04 |
1.06 |
0.96 |
1.06 |
0.98 |
1.00 |
|
F-MARX |
0.90 |
0.98 |
0.86 |
0.97 |
1.03 |
1.05 |
0.95 |
0.99 |
0.99 |
1.00 |
|
F-MAF |
0.98 |
1.12 |
0.96 |
1.01 |
1.09 |
1.06 |
0.95 |
1.01 |
0.95 |
0.98 |
|
F-Level |
0.96 |
1.05 |
0.97 |
1.12 |
1.01 |
1.05 |
1.03 |
0.99 |
1.05 |
1.07 |
|
F-X-MARX |
0.91 |
0.96 |
0.86 |
0.97 |
1.04 |
1.05 |
0.94 |
1.00 |
1.00 |
0.99 |
|
F-X-MAF |
1.01 |
1.07 |
0.92 |
0.99 |
1.04 |
1.06 |
0.93 |
1.02 |
1.00 |
1.00 |
|
F-X-Level |
0.98 |
1.07 |
0.92 |
0.99 |
1.06 |
1.11 |
0.98 |
0.99 |
1.05 |
1.08 |
|
F-X-MARX-Level |
0.90 |
0.94 |
0.86 |
0.99 |
1.05 |
1.01 |
0.92 |
0.97 |
1.04 |
1.01 |
|
X |
1.02 |
1.08 |
0.91 |
1.01 |
1.04 |
1.06 |
0.95 |
1.05 |
1.01 |
1.02 |
|
MARX |
0.92 |
0.90 |
0.87 |
0.98 |
1.05 |
1.09 |
0.96 |
1.04 |
0.99 |
0.97 |
|
MAF |
1.04 |
1.16 |
0.97 |
1.00 |
1.12 |
1.07 |
0.98 |
1.03 |
0.98 |
0.98 |
|
X-MARX |
0.91 |
0.97 |
0.86 |
0.99 |
1.04 |
1.04 |
0.98 |
1.05 |
1.02 |
0.98 |
|
X-MAF |
1.02 |
1.03 |
0.92 |
1.02 |
1.03 |
1.08 |
0.97 |
1.00 |
1.02 |
1.02 |
|
X-Level |
1.02 |
1.08 |
0.96 |
1.04 |
1.04 |
1.12 |
0.95 |
0.98 |
1.00 |
1.08 |
|
X-MARX-Level |
0.91 |
0.97 |
0.84 |
0.99 |
1.06 |
1.03 |
0.94 |
0.97 |
1.02 |
1.03 |
Horizon 6 (direct)#
Horizon 6, direct — FM absolute RMSE (denominator): INDPRO 0.004, EMP 0.001, UNRATE 0.077, INCOME 0.002, CONS 0.002, RETAIL 0.004, HOUST 0.024, M2 0.002, CPI 0.002, PPI 0.004
Model |
Set |
INDPRO |
EMP |
UNRATE |
INCOME |
CONS |
RETAIL |
HOUST |
M2 |
CPI |
PPI |
|---|---|---|---|---|---|---|---|---|---|---|---|
AR |
— |
1.03 |
1.07 |
1.09 |
1.04 |
0.92 |
0.98 |
0.94 |
0.94 |
0.96 |
0.95 |
Adaptive Lasso |
F |
0.94 |
0.93 |
0.95 |
0.96 |
0.97 |
1.05 |
1.03 |
0.96 |
0.99 |
1.00 |
F-X |
0.96 |
0.97 |
0.99 |
1.01 |
0.99 |
0.95 |
0.91 |
0.96 |
1.00 |
0.99 |
|
F-MARX |
1.01 |
1.04 |
0.94 |
1.05 |
1.00 |
0.92 |
1.05 |
1.02 |
1.09 |
1.11 |
|
F-MAF |
1.17 |
1.16 |
0.94 |
1.09 |
1.04 |
1.09 |
1.48 |
1.06 |
1.12 |
1.16 |
|
F-Level |
1.08 |
1.10 |
1.52 |
1.08 |
0.95 |
1.07 |
1.38 |
0.92 |
1.39 |
1.09 |
|
F-X-MARX |
0.98 |
1.03 |
0.94 |
0.97 |
1.00 |
0.95 |
0.90 |
1.00 |
1.04 |
1.02 |
|
F-X-MAF |
0.97 |
0.97 |
0.92 |
0.97 |
0.98 |
0.98 |
0.91 |
0.95 |
1.01 |
1.00 |
|
F-X-Level |
0.99 |
0.97 |
1.02 |
1.01 |
1.01 |
0.96 |
0.90 |
0.90 |
1.26 |
1.06 |
|
F-X-MARX-Level |
1.05 |
1.00 |
0.97 |
0.97 |
1.00 |
0.97 |
0.89 |
0.95 |
1.29 |
1.11 |
|
X |
0.97 |
0.98 |
0.99 |
1.01 |
0.99 |
0.95 |
0.91 |
0.96 |
1.00 |
1.00 |
|
MARX |
1.03 |
1.12 |
1.04 |
1.06 |
1.09 |
0.92 |
1.08 |
1.05 |
1.08 |
1.06 |
|
MAF |
1.29 |
1.24 |
1.45 |
1.12 |
1.16 |
1.18 |
1.44 |
1.11 |
1.22 |
1.18 |
|
X-MARX |
0.99 |
0.98 |
0.94 |
0.96 |
1.00 |
0.95 |
0.90 |
0.99 |
1.03 |
1.00 |
|
X-MAF |
0.97 |
0.97 |
0.93 |
0.98 |
0.99 |
0.98 |
0.91 |
0.94 |
1.02 |
0.99 |
|
X-Level |
0.99 |
0.97 |
1.03 |
1.02 |
1.00 |
0.97 |
0.90 |
0.90 |
1.26 |
1.06 |
|
X-MARX-Level |
1.05 |
1.00 |
0.97 |
0.96 |
1.00 |
0.97 |
0.89 |
0.95 |
1.33 |
1.10 |
|
Elastic Net |
F |
0.93 |
0.95 |
0.90 |
0.96 |
0.98 |
1.03 |
0.95 |
0.97 |
1.00 |
1.00 |
F-X |
0.97 |
0.98 |
0.95 |
1.01 |
0.99 |
0.95 |
0.95 |
0.96 |
0.98 |
0.99 |
|
F-MARX |
1.00 |
0.95 |
1.06 |
0.96 |
0.98 |
0.93 |
1.00 |
0.94 |
1.01 |
0.97 |
|
F-MAF |
1.10 |
1.02 |
1.11 |
1.03 |
0.99 |
1.09 |
1.04 |
0.98 |
1.05 |
1.15 |
|
F-Level |
1.12 |
1.17 |
1.50 |
1.02 |
0.99 |
1.10 |
1.17 |
0.88 |
1.37 |
1.04 |
|
F-X-MARX |
0.98 |
0.98 |
0.98 |
0.96 |
0.99 |
0.94 |
0.96 |
0.99 |
1.02 |
1.01 |
|
F-X-MAF |
0.95 |
0.99 |
0.93 |
0.98 |
0.98 |
0.98 |
1.01 |
0.94 |
0.99 |
1.01 |
|
F-X-Level |
0.97 |
0.96 |
1.00 |
1.01 |
1.01 |
1.00 |
1.01 |
0.90 |
1.29 |
1.03 |
|
F-X-MARX-Level |
1.05 |
0.98 |
1.01 |
0.97 |
1.00 |
0.97 |
0.99 |
0.93 |
1.22 |
1.10 |
|
X |
0.97 |
0.98 |
0.95 |
1.01 |
0.99 |
0.96 |
0.95 |
0.95 |
0.99 |
0.99 |
|
MARX |
1.02 |
1.25 |
1.08 |
0.98 |
1.00 |
0.96 |
1.04 |
0.95 |
1.13 |
1.01 |
|
MAF |
1.14 |
1.03 |
1.27 |
1.04 |
1.04 |
1.08 |
1.18 |
0.98 |
1.11 |
1.17 |
|
X-MARX |
0.98 |
0.96 |
0.98 |
0.97 |
0.99 |
0.95 |
0.96 |
0.97 |
1.02 |
0.99 |
|
X-MAF |
0.95 |
0.99 |
0.93 |
0.99 |
0.99 |
0.97 |
1.01 |
0.94 |
0.99 |
1.00 |
|
X-Level |
0.97 |
0.96 |
1.01 |
1.02 |
1.00 |
0.96 |
1.01 |
0.90 |
1.29 |
1.03 |
|
X-MARX-Level |
1.05 |
0.98 |
1.00 |
0.97 |
1.01 |
0.98 |
0.99 |
0.93 |
1.22 |
1.10 |
|
Linear Boosting |
F |
0.92 |
0.97 |
0.91 |
0.97 |
0.97 |
1.04 |
0.96 |
1.20 |
1.12 |
1.02 |
F-X |
0.98 |
1.02 |
0.95 |
1.02 |
1.05 |
1.01 |
0.95 |
1.07 |
1.05 |
0.99 |
|
F-MARX |
1.06 |
1.13 |
1.04 |
1.05 |
1.10 |
1.01 |
1.00 |
1.12 |
1.06 |
1.01 |
|
F-MAF |
1.17 |
1.21 |
1.06 |
1.05 |
0.99 |
1.09 |
1.03 |
1.06 |
1.16 |
1.15 |
|
F-Level |
1.02 |
1.10 |
1.09 |
0.99 |
0.96 |
1.01 |
1.00 |
0.97 |
1.41 |
1.09 |
|
F-X-MARX |
1.05 |
1.13 |
0.97 |
1.03 |
1.07 |
1.03 |
0.96 |
1.16 |
1.07 |
0.98 |
|
F-X-MAF |
0.96 |
0.96 |
0.90 |
0.95 |
0.98 |
0.96 |
0.99 |
0.95 |
1.06 |
1.00 |
|
F-X-Level |
0.92 |
0.97 |
0.93 |
0.99 |
0.98 |
0.96 |
0.97 |
1.00 |
1.05 |
0.95 |
|
F-X-MARX-Level |
0.99 |
1.02 |
0.98 |
0.97 |
1.00 |
0.98 |
0.96 |
1.04 |
1.06 |
0.97 |
|
X |
0.99 |
1.11 |
1.00 |
1.01 |
1.09 |
1.01 |
0.93 |
1.07 |
1.06 |
0.97 |
|
MARX |
1.10 |
1.19 |
1.05 |
1.07 |
1.16 |
1.05 |
1.01 |
1.13 |
1.08 |
1.00 |
|
MAF |
1.24 |
1.32 |
1.13 |
1.13 |
1.13 |
1.13 |
1.08 |
1.11 |
1.27 |
1.20 |
|
X-MARX |
1.04 |
1.18 |
0.98 |
1.04 |
1.09 |
1.03 |
0.96 |
1.14 |
1.07 |
0.96 |
|
X-MAF |
0.96 |
0.98 |
0.90 |
0.96 |
0.99 |
0.97 |
0.98 |
0.94 |
1.06 |
1.02 |
|
X-Level |
0.95 |
0.99 |
0.96 |
0.99 |
0.98 |
0.97 |
0.95 |
0.99 |
1.05 |
0.96 |
|
X-MARX-Level |
0.99 |
1.01 |
0.97 |
0.97 |
1.00 |
0.99 |
0.99 |
1.05 |
1.05 |
0.99 |
|
Random Forest |
F |
0.95 |
1.03 |
0.95 |
0.97 |
0.93 |
0.98 |
0.89 |
0.92 |
0.83 |
0.89 |
F-X |
1.05 |
1.12 |
0.99 |
1.00 |
0.96 |
1.00 |
0.88 |
1.00 |
0.87 |
0.92 |
|
F-MARX |
1.03 |
0.92 |
0.92 |
0.95 |
0.96 |
1.05 |
0.89 |
1.01 |
0.89 |
0.93 |
|
F-MAF |
1.02 |
1.05 |
0.95 |
0.96 |
0.94 |
0.96 |
0.89 |
0.99 |
0.88 |
0.92 |
|
F-Level |
1.07 |
1.14 |
1.07 |
1.08 |
0.92 |
1.02 |
0.91 |
0.84 |
0.92 |
1.00 |
|
F-X-MARX |
1.02 |
0.93 |
0.92 |
0.95 |
0.96 |
1.04 |
0.89 |
1.03 |
0.89 |
0.93 |
|
F-X-MAF |
1.01 |
1.07 |
0.98 |
0.96 |
0.96 |
0.99 |
0.89 |
1.02 |
0.90 |
0.93 |
|
F-X-Level |
1.04 |
1.12 |
1.04 |
1.03 |
0.91 |
1.01 |
0.89 |
0.89 |
0.91 |
0.99 |
|
F-X-MARX-Level |
1.01 |
0.93 |
0.93 |
0.96 |
0.94 |
1.02 |
0.88 |
0.91 |
0.91 |
0.96 |
|
X |
1.05 |
1.15 |
1.02 |
0.99 |
0.96 |
1.00 |
0.88 |
1.01 |
0.87 |
0.92 |
|
MARX |
1.02 |
0.92 |
0.92 |
0.95 |
0.95 |
1.05 |
0.88 |
1.02 |
0.89 |
0.93 |
|
MAF |
1.02 |
1.09 |
0.99 |
0.96 |
0.95 |
0.96 |
0.89 |
1.00 |
0.88 |
0.91 |
|
X-MARX |
1.03 |
0.93 |
0.93 |
0.95 |
0.97 |
1.05 |
0.88 |
1.02 |
0.90 |
0.92 |
|
X-MAF |
1.02 |
1.09 |
0.99 |
0.96 |
0.96 |
0.99 |
0.89 |
1.02 |
0.89 |
0.93 |
|
X-Level |
1.04 |
1.16 |
1.05 |
1.02 |
0.91 |
1.01 |
0.89 |
0.89 |
0.91 |
0.99 |
|
X-MARX-Level |
1.02 |
0.93 |
0.94 |
0.96 |
0.93 |
1.02 |
0.88 |
0.91 |
0.91 |
0.96 |
|
Boosted Trees |
F |
0.97 |
1.06 |
1.01 |
0.99 |
1.00 |
1.01 |
0.96 |
0.96 |
0.86 |
0.97 |
F-X |
1.06 |
1.08 |
0.99 |
0.99 |
0.98 |
0.95 |
0.89 |
1.03 |
0.93 |
0.94 |
|
F-MARX |
1.02 |
1.05 |
0.99 |
0.99 |
0.95 |
0.98 |
0.88 |
0.99 |
0.91 |
0.90 |
|
F-MAF |
0.97 |
1.18 |
0.97 |
0.96 |
1.03 |
0.94 |
0.93 |
1.03 |
0.86 |
0.95 |
|
F-Level |
1.09 |
1.26 |
1.14 |
1.10 |
0.94 |
0.97 |
0.92 |
0.86 |
0.97 |
1.01 |
|
F-X-MARX |
1.02 |
1.02 |
0.94 |
0.99 |
0.99 |
1.00 |
0.94 |
1.03 |
0.92 |
0.93 |
|
F-X-MAF |
1.05 |
1.11 |
1.02 |
0.99 |
0.95 |
1.00 |
0.87 |
1.00 |
0.94 |
0.94 |
|
F-X-Level |
1.12 |
1.17 |
1.07 |
1.01 |
0.92 |
1.17 |
0.91 |
0.93 |
1.00 |
1.05 |
|
F-X-MARX-Level |
1.02 |
1.03 |
0.93 |
0.98 |
0.96 |
0.96 |
0.91 |
0.91 |
0.96 |
0.98 |
|
X |
1.07 |
1.11 |
1.04 |
1.00 |
0.98 |
0.98 |
0.88 |
1.05 |
0.90 |
0.96 |
|
MARX |
1.00 |
1.07 |
0.98 |
1.00 |
1.00 |
1.06 |
0.93 |
1.06 |
0.90 |
0.91 |
|
MAF |
1.08 |
1.20 |
0.99 |
0.99 |
1.06 |
0.97 |
0.89 |
1.00 |
0.87 |
0.95 |
|
X-MARX |
1.05 |
1.06 |
0.93 |
0.99 |
0.98 |
0.99 |
0.90 |
1.07 |
0.85 |
0.91 |
|
X-MAF |
1.06 |
1.13 |
1.02 |
1.04 |
0.94 |
1.00 |
0.88 |
1.01 |
0.96 |
0.95 |
|
X-Level |
1.05 |
1.16 |
1.12 |
1.02 |
0.92 |
1.17 |
0.88 |
0.89 |
0.94 |
1.08 |
|
X-MARX-Level |
1.01 |
1.04 |
0.95 |
1.02 |
0.95 |
1.06 |
0.91 |
0.91 |
0.96 |
0.99 |
Horizon 9 (direct)#
Horizon 9, direct — FM absolute RMSE (denominator): INDPRO 0.004, EMP 0.001, UNRATE 0.076, INCOME 0.002, CONS 0.002, RETAIL 0.004, HOUST 0.021, M2 0.002, CPI 0.002, PPI 0.003
Model |
Set |
INDPRO |
EMP |
UNRATE |
INCOME |
CONS |
RETAIL |
HOUST |
M2 |
CPI |
PPI |
|---|---|---|---|---|---|---|---|---|---|---|---|
AR |
— |
1.01 |
1.07 |
1.11 |
1.02 |
0.90 |
0.96 |
0.92 |
0.92 |
1.02 |
0.94 |
Adaptive Lasso |
F |
0.95 |
0.95 |
0.96 |
0.97 |
0.96 |
1.03 |
1.04 |
0.96 |
1.00 |
0.99 |
F-X |
0.97 |
1.00 |
1.04 |
1.02 |
1.01 |
0.92 |
1.01 |
0.95 |
1.02 |
1.02 |
|
F-MARX |
1.07 |
1.14 |
1.00 |
1.10 |
1.07 |
0.97 |
1.23 |
1.03 |
1.05 |
1.07 |
|
F-MAF |
1.28 |
1.27 |
1.13 |
1.15 |
1.21 |
1.16 |
1.44 |
1.01 |
1.31 |
1.19 |
|
F-Level |
1.10 |
1.33 |
1.63 |
1.13 |
1.07 |
1.11 |
1.44 |
0.93 |
1.48 |
1.06 |
|
F-X-MARX |
1.02 |
1.06 |
1.00 |
0.99 |
1.03 |
0.91 |
0.89 |
1.00 |
1.02 |
1.01 |
|
F-X-MAF |
1.00 |
1.04 |
0.99 |
0.99 |
1.00 |
0.93 |
1.03 |
0.94 |
1.06 |
1.02 |
|
F-X-Level |
1.04 |
1.15 |
1.14 |
1.09 |
1.02 |
1.00 |
1.04 |
0.91 |
1.44 |
1.06 |
|
F-X-MARX-Level |
1.18 |
1.14 |
1.10 |
1.01 |
1.02 |
1.01 |
0.87 |
0.97 |
1.39 |
1.15 |
|
X |
0.96 |
1.01 |
1.05 |
1.03 |
1.01 |
0.91 |
1.01 |
0.96 |
1.02 |
1.01 |
|
MARX |
1.10 |
1.14 |
1.04 |
1.07 |
1.19 |
0.98 |
1.34 |
1.08 |
1.07 |
1.10 |
|
MAF |
1.34 |
1.38 |
1.82 |
1.16 |
1.22 |
1.18 |
1.40 |
1.05 |
1.28 |
1.20 |
|
X-MARX |
1.01 |
1.02 |
0.99 |
0.99 |
1.03 |
0.91 |
0.89 |
0.97 |
1.05 |
0.99 |
|
X-MAF |
0.99 |
1.05 |
0.98 |
0.98 |
1.00 |
0.93 |
1.03 |
0.94 |
1.05 |
1.02 |
|
X-Level |
1.05 |
1.12 |
1.16 |
1.09 |
1.02 |
0.99 |
1.02 |
0.91 |
1.44 |
1.07 |
|
X-MARX-Level |
1.16 |
1.15 |
1.10 |
1.01 |
1.02 |
1.02 |
0.87 |
0.97 |
1.40 |
1.14 |
|
Elastic Net |
F |
0.94 |
0.98 |
0.93 |
0.96 |
0.97 |
1.02 |
0.96 |
0.97 |
0.98 |
0.99 |
F-X |
0.97 |
1.01 |
0.99 |
1.02 |
1.01 |
0.91 |
1.01 |
0.94 |
0.99 |
1.01 |
|
F-MARX |
1.05 |
1.03 |
1.14 |
0.99 |
0.96 |
0.93 |
1.06 |
0.99 |
1.08 |
0.99 |
|
F-MAF |
1.17 |
1.06 |
1.32 |
1.07 |
1.02 |
1.13 |
1.18 |
0.94 |
1.10 |
1.16 |
|
F-Level |
1.16 |
1.33 |
1.58 |
1.05 |
1.03 |
1.02 |
1.29 |
0.90 |
1.42 |
1.05 |
|
F-X-MARX |
1.02 |
1.04 |
1.04 |
0.97 |
1.01 |
0.91 |
1.00 |
0.95 |
0.99 |
1.00 |
|
F-X-MAF |
1.00 |
1.03 |
0.98 |
0.99 |
1.00 |
0.93 |
1.05 |
0.94 |
1.02 |
1.03 |
|
F-X-Level |
1.06 |
1.06 |
1.06 |
1.09 |
1.04 |
0.99 |
1.02 |
0.91 |
1.38 |
1.07 |
|
F-X-MARX-Level |
1.11 |
1.07 |
1.18 |
1.01 |
1.02 |
1.00 |
1.05 |
0.88 |
1.37 |
1.11 |
|
X |
0.98 |
1.02 |
1.00 |
1.02 |
1.01 |
0.91 |
1.01 |
0.94 |
0.99 |
1.01 |
|
MARX |
1.05 |
1.26 |
1.16 |
1.01 |
1.04 |
0.97 |
1.08 |
1.09 |
1.32 |
1.02 |
|
MAF |
1.22 |
1.06 |
1.74 |
1.07 |
1.04 |
1.12 |
1.23 |
0.93 |
1.19 |
1.19 |
|
X-MARX |
1.01 |
1.01 |
1.04 |
0.97 |
1.00 |
0.91 |
1.00 |
0.95 |
1.01 |
0.98 |
|
X-MAF |
1.00 |
1.03 |
0.98 |
0.99 |
1.01 |
0.93 |
1.05 |
0.94 |
1.03 |
1.03 |
|
X-Level |
1.05 |
1.06 |
1.05 |
1.10 |
1.03 |
0.98 |
1.02 |
0.92 |
1.37 |
1.12 |
|
X-MARX-Level |
1.11 |
1.07 |
1.18 |
1.01 |
1.02 |
1.00 |
1.05 |
0.87 |
1.36 |
1.11 |
|
Linear Boosting |
F |
0.95 |
0.96 |
0.95 |
0.96 |
0.97 |
1.00 |
0.96 |
1.20 |
1.33 |
1.05 |
F-X |
1.01 |
1.07 |
1.00 |
1.01 |
1.05 |
1.03 |
0.92 |
1.08 |
1.12 |
0.99 |
|
F-MARX |
1.05 |
1.13 |
1.07 |
1.03 |
1.08 |
1.04 |
1.04 |
1.13 |
1.23 |
1.03 |
|
F-MAF |
1.22 |
1.33 |
1.30 |
1.14 |
1.20 |
1.11 |
1.19 |
1.03 |
1.28 |
1.22 |
|
F-Level |
1.12 |
1.26 |
1.20 |
1.05 |
1.06 |
0.99 |
1.08 |
0.99 |
1.48 |
1.06 |
|
F-X-MARX |
1.05 |
1.14 |
1.03 |
0.99 |
1.06 |
1.03 |
0.96 |
1.16 |
1.20 |
1.01 |
|
F-X-MAF |
1.00 |
0.98 |
0.97 |
0.98 |
0.98 |
0.93 |
0.98 |
0.97 |
1.12 |
1.04 |
|
F-X-Level |
0.97 |
1.00 |
1.00 |
1.00 |
0.95 |
1.00 |
1.02 |
1.02 |
1.14 |
0.97 |
|
F-X-MARX-Level |
1.01 |
1.01 |
1.04 |
0.94 |
0.99 |
0.93 |
0.99 |
1.07 |
1.08 |
0.97 |
|
X |
1.01 |
1.13 |
1.02 |
1.00 |
1.05 |
1.01 |
0.92 |
1.05 |
1.14 |
0.99 |
|
MARX |
1.11 |
1.17 |
1.08 |
1.02 |
1.14 |
1.10 |
1.02 |
1.10 |
1.19 |
1.03 |
|
MAF |
1.35 |
1.46 |
1.35 |
1.20 |
1.31 |
1.21 |
1.23 |
1.07 |
1.29 |
1.18 |
|
X-MARX |
1.05 |
1.18 |
1.05 |
0.99 |
1.07 |
1.05 |
0.97 |
1.13 |
1.20 |
1.00 |
|
X-MAF |
1.00 |
0.99 |
0.96 |
0.97 |
0.99 |
0.93 |
0.98 |
0.95 |
1.08 |
1.05 |
|
X-Level |
0.96 |
0.98 |
1.02 |
0.99 |
0.94 |
0.97 |
0.95 |
1.01 |
1.18 |
0.99 |
|
X-MARX-Level |
1.00 |
1.01 |
1.03 |
0.96 |
0.96 |
0.94 |
0.96 |
1.09 |
1.12 |
1.00 |
|
Random Forest |
F |
0.95 |
1.05 |
0.96 |
0.97 |
0.94 |
0.95 |
0.84 |
0.87 |
0.84 |
0.85 |
F-X |
1.03 |
1.11 |
1.00 |
1.02 |
0.95 |
0.93 |
0.86 |
1.00 |
0.92 |
0.91 |
|
F-MARX |
1.03 |
1.01 |
0.99 |
0.96 |
0.99 |
0.96 |
0.88 |
1.04 |
0.93 |
0.90 |
|
F-MAF |
0.95 |
1.08 |
0.94 |
0.97 |
0.96 |
0.92 |
0.88 |
1.00 |
0.92 |
0.90 |
|
F-Level |
1.13 |
1.24 |
1.26 |
1.19 |
0.93 |
1.04 |
0.91 |
0.77 |
0.91 |
0.92 |
|
F-X-MARX |
1.03 |
1.02 |
1.00 |
0.96 |
0.99 |
0.95 |
0.87 |
1.05 |
0.92 |
0.90 |
|
F-X-MAF |
0.99 |
1.08 |
0.97 |
0.97 |
0.97 |
0.93 |
0.88 |
1.02 |
0.93 |
0.93 |
|
F-X-Level |
1.04 |
1.14 |
1.08 |
1.10 |
0.89 |
1.00 |
0.87 |
0.84 |
0.94 |
0.96 |
|
F-X-MARX-Level |
1.00 |
1.03 |
1.03 |
0.98 |
0.93 |
1.00 |
0.87 |
0.87 |
0.95 |
0.95 |
|
X |
1.03 |
1.12 |
1.02 |
1.03 |
0.95 |
0.92 |
0.86 |
0.99 |
0.91 |
0.92 |
|
MARX |
1.03 |
1.02 |
1.00 |
0.95 |
0.99 |
0.96 |
0.86 |
1.04 |
0.93 |
0.90 |
|
MAF |
0.96 |
1.09 |
0.95 |
0.98 |
0.96 |
0.93 |
0.89 |
1.00 |
0.92 |
0.90 |
|
X-MARX |
1.03 |
1.02 |
1.00 |
0.96 |
0.99 |
0.94 |
0.87 |
1.05 |
0.92 |
0.90 |
|
X-MAF |
0.99 |
1.09 |
0.98 |
0.97 |
0.97 |
0.93 |
0.89 |
1.02 |
0.93 |
0.93 |
|
X-Level |
1.04 |
1.15 |
1.10 |
1.09 |
0.89 |
1.00 |
0.87 |
0.83 |
0.94 |
0.96 |
|
X-MARX-Level |
0.99 |
1.02 |
1.04 |
0.98 |
0.93 |
1.00 |
0.86 |
0.88 |
0.95 |
0.95 |
|
Boosted Trees |
F |
0.97 |
1.11 |
0.98 |
0.99 |
0.98 |
0.99 |
0.87 |
0.91 |
0.90 |
0.91 |
F-X |
1.04 |
1.13 |
1.02 |
1.00 |
1.00 |
0.93 |
0.88 |
1.01 |
0.93 |
0.91 |
|
F-MARX |
1.05 |
1.14 |
1.04 |
0.99 |
0.99 |
0.93 |
0.89 |
0.95 |
0.94 |
0.86 |
|
F-MAF |
1.00 |
1.14 |
0.99 |
1.01 |
1.05 |
0.97 |
0.82 |
0.99 |
0.89 |
0.94 |
|
F-Level |
1.06 |
1.39 |
1.29 |
1.19 |
1.00 |
1.00 |
0.96 |
0.79 |
1.00 |
0.92 |
|
F-X-MARX |
1.03 |
1.09 |
1.06 |
0.98 |
1.00 |
0.94 |
0.91 |
1.02 |
0.95 |
0.87 |
|
F-X-MAF |
1.00 |
1.09 |
1.00 |
0.99 |
0.98 |
0.94 |
0.94 |
1.00 |
0.95 |
0.92 |
|
F-X-Level |
1.18 |
1.25 |
1.17 |
1.03 |
0.89 |
0.95 |
0.92 |
0.84 |
0.97 |
0.99 |
|
F-X-MARX-Level |
1.02 |
1.16 |
1.06 |
0.98 |
0.97 |
0.88 |
0.90 |
0.89 |
1.05 |
0.93 |
|
X |
1.06 |
1.13 |
1.04 |
1.01 |
0.99 |
0.93 |
0.87 |
1.03 |
0.95 |
0.91 |
|
MARX |
1.02 |
1.17 |
1.01 |
0.99 |
1.01 |
0.97 |
0.91 |
1.01 |
0.94 |
0.86 |
|
MAF |
1.06 |
1.15 |
0.95 |
1.02 |
1.05 |
0.94 |
0.87 |
0.97 |
0.89 |
0.91 |
|
X-MARX |
1.00 |
1.10 |
1.03 |
0.96 |
1.00 |
0.93 |
0.90 |
1.07 |
0.90 |
0.86 |
|
X-MAF |
1.05 |
1.21 |
1.03 |
1.04 |
1.00 |
0.94 |
0.92 |
1.03 |
0.97 |
0.91 |
|
X-Level |
1.01 |
1.16 |
1.15 |
1.07 |
0.92 |
1.07 |
0.85 |
0.87 |
0.94 |
1.02 |
|
X-MARX-Level |
1.00 |
1.13 |
1.07 |
1.01 |
0.96 |
0.89 |
0.87 |
0.91 |
1.02 |
0.98 |
Horizon 12 (direct)#
Horizon 12, direct — FM absolute RMSE (denominator): INDPRO 0.003, EMP 0.001, UNRATE 0.077, INCOME 0.002, CONS 0.002, RETAIL 0.003, HOUST 0.019, M2 0.002, CPI 0.001, PPI 0.003
Model |
Set |
INDPRO |
EMP |
UNRATE |
INCOME |
CONS |
RETAIL |
HOUST |
M2 |
CPI |
PPI |
|---|---|---|---|---|---|---|---|---|---|---|---|
AR |
— |
1.01 |
1.06 |
1.10 |
1.02 |
0.95 |
0.95 |
0.92 |
0.92 |
1.06 |
0.97 |
Adaptive Lasso |
F |
0.96 |
0.96 |
0.95 |
0.97 |
0.96 |
1.02 |
0.97 |
0.99 |
1.01 |
1.05 |
F-X |
0.99 |
1.01 |
1.03 |
1.05 |
1.05 |
0.92 |
1.00 |
0.96 |
1.05 |
1.06 |
|
F-MARX |
1.20 |
1.07 |
1.02 |
1.05 |
1.14 |
1.14 |
1.15 |
1.01 |
1.12 |
1.13 |
|
F-MAF |
1.32 |
1.19 |
1.41 |
1.21 |
1.22 |
1.16 |
1.40 |
0.99 |
1.19 |
1.21 |
|
F-Level |
1.14 |
1.20 |
1.41 |
1.20 |
1.16 |
1.08 |
1.24 |
0.97 |
1.35 |
1.18 |
|
F-X-MARX |
1.05 |
1.04 |
0.97 |
1.02 |
1.08 |
1.02 |
0.93 |
0.94 |
1.08 |
1.04 |
|
F-X-MAF |
1.05 |
1.05 |
0.97 |
1.03 |
1.06 |
0.96 |
1.02 |
0.92 |
1.08 |
1.04 |
|
F-X-Level |
1.24 |
1.12 |
1.09 |
1.13 |
1.09 |
0.94 |
1.04 |
0.92 |
1.34 |
1.16 |
|
F-X-MARX-Level |
1.18 |
1.17 |
1.04 |
1.09 |
1.05 |
0.91 |
0.89 |
0.94 |
1.42 |
1.08 |
|
X |
0.99 |
1.01 |
1.04 |
1.05 |
1.05 |
0.92 |
0.99 |
0.96 |
1.08 |
1.06 |
|
MARX |
1.24 |
1.17 |
1.24 |
1.10 |
1.18 |
1.16 |
1.25 |
1.00 |
1.15 |
1.16 |
|
MAF |
1.33 |
1.27 |
1.77 |
1.21 |
1.22 |
1.21 |
1.40 |
1.00 |
1.18 |
1.24 |
|
X-MARX |
1.02 |
1.01 |
0.97 |
1.03 |
1.05 |
0.95 |
0.96 |
0.92 |
1.08 |
1.03 |
|
X-MAF |
1.04 |
1.05 |
0.97 |
1.05 |
1.05 |
0.96 |
0.99 |
0.94 |
1.09 |
1.07 |
|
X-Level |
1.22 |
1.11 |
1.09 |
1.12 |
1.09 |
0.94 |
1.04 |
0.92 |
1.41 |
1.18 |
|
X-MARX-Level |
1.18 |
1.23 |
1.02 |
1.10 |
1.07 |
0.92 |
0.89 |
0.94 |
1.44 |
1.13 |
|
Elastic Net |
F |
0.95 |
0.99 |
0.92 |
0.98 |
0.97 |
1.02 |
0.97 |
0.99 |
0.98 |
1.02 |
F-X |
0.99 |
1.02 |
1.00 |
1.05 |
1.04 |
0.93 |
0.99 |
0.95 |
1.03 |
1.06 |
|
F-MARX |
1.11 |
1.03 |
1.15 |
1.01 |
1.00 |
1.09 |
0.98 |
0.94 |
1.11 |
1.01 |
|
F-MAF |
1.23 |
1.03 |
1.52 |
1.11 |
1.00 |
1.12 |
1.18 |
0.94 |
1.15 |
1.22 |
|
F-Level |
1.16 |
1.28 |
1.41 |
1.22 |
1.14 |
1.11 |
1.23 |
0.92 |
1.38 |
1.20 |
|
F-X-MARX |
1.07 |
1.04 |
1.06 |
1.01 |
1.03 |
1.04 |
0.93 |
0.92 |
1.02 |
1.04 |
|
F-X-MAF |
1.04 |
1.06 |
1.03 |
1.06 |
1.04 |
0.97 |
1.01 |
0.92 |
1.05 |
1.06 |
|
F-X-Level |
1.17 |
1.11 |
1.10 |
1.11 |
1.07 |
0.94 |
1.06 |
0.93 |
1.16 |
1.13 |
|
F-X-MARX-Level |
1.14 |
1.06 |
1.17 |
1.06 |
1.03 |
0.91 |
1.00 |
0.91 |
1.17 |
1.14 |
|
X |
0.99 |
1.02 |
1.01 |
1.05 |
1.04 |
0.93 |
0.99 |
0.95 |
1.04 |
1.06 |
|
MARX |
1.19 |
1.35 |
1.20 |
1.14 |
1.16 |
1.10 |
1.05 |
1.18 |
1.26 |
1.15 |
|
MAF |
1.24 |
1.26 |
1.72 |
1.22 |
1.02 |
1.11 |
1.22 |
1.02 |
1.17 |
1.22 |
|
X-MARX |
1.03 |
1.03 |
1.06 |
1.01 |
1.03 |
1.03 |
0.93 |
0.91 |
1.03 |
1.03 |
|
X-MAF |
1.04 |
1.06 |
1.04 |
1.06 |
1.04 |
0.97 |
1.01 |
0.92 |
1.05 |
1.07 |
|
X-Level |
1.17 |
1.12 |
1.08 |
1.11 |
1.06 |
0.94 |
1.05 |
0.92 |
1.17 |
1.13 |
|
X-MARX-Level |
1.14 |
1.06 |
1.19 |
1.06 |
1.03 |
0.90 |
1.00 |
0.91 |
1.17 |
1.14 |
|
Linear Boosting |
F |
0.95 |
0.98 |
0.93 |
0.97 |
0.96 |
1.02 |
0.97 |
1.21 |
1.45 |
1.14 |
F-X |
1.06 |
1.06 |
1.00 |
1.05 |
1.05 |
1.03 |
0.91 |
1.07 |
1.17 |
1.08 |
|
F-MARX |
1.10 |
1.08 |
1.07 |
1.01 |
1.12 |
1.13 |
0.94 |
1.17 |
1.29 |
1.08 |
|
F-MAF |
1.27 |
1.28 |
1.28 |
1.18 |
1.23 |
1.19 |
1.17 |
1.04 |
1.23 |
1.23 |
|
F-Level |
1.20 |
1.17 |
1.18 |
1.28 |
1.17 |
0.98 |
1.09 |
0.96 |
1.28 |
1.28 |
|
F-X-MARX |
1.08 |
1.10 |
0.99 |
1.00 |
1.06 |
1.04 |
0.93 |
1.12 |
1.31 |
1.07 |
|
F-X-MAF |
1.04 |
0.99 |
1.01 |
1.06 |
1.03 |
0.94 |
0.97 |
0.96 |
1.20 |
1.10 |
|
F-X-Level |
0.96 |
0.94 |
1.03 |
1.01 |
0.94 |
0.97 |
0.97 |
1.04 |
1.28 |
1.10 |
|
F-X-MARX-Level |
1.02 |
0.98 |
0.99 |
0.96 |
1.01 |
0.91 |
0.91 |
1.08 |
1.17 |
1.04 |
|
X |
1.04 |
1.08 |
1.02 |
1.03 |
1.08 |
1.02 |
0.90 |
1.06 |
1.22 |
1.05 |
|
MARX |
1.15 |
1.12 |
1.09 |
1.00 |
1.14 |
1.12 |
1.00 |
1.10 |
1.28 |
1.08 |
|
MAF |
1.28 |
1.36 |
1.36 |
1.24 |
1.32 |
1.25 |
1.22 |
1.06 |
1.32 |
1.20 |
|
X-MARX |
1.06 |
1.12 |
1.00 |
1.00 |
1.06 |
1.05 |
0.91 |
1.11 |
1.31 |
1.06 |
|
X-MAF |
1.06 |
0.99 |
1.01 |
1.04 |
1.03 |
0.99 |
0.98 |
0.94 |
1.22 |
1.12 |
|
X-Level |
0.96 |
0.94 |
1.03 |
1.01 |
0.95 |
0.92 |
0.93 |
1.06 |
1.29 |
1.08 |
|
X-MARX-Level |
1.03 |
0.96 |
1.01 |
0.97 |
1.00 |
0.93 |
0.91 |
1.07 |
1.13 |
1.03 |
|
Random Forest |
F |
0.96 |
1.02 |
0.92 |
0.97 |
0.92 |
0.94 |
0.84 |
0.89 |
0.85 |
0.86 |
F-X |
0.98 |
1.05 |
0.97 |
1.01 |
0.94 |
0.89 |
0.87 |
1.01 |
1.00 |
0.98 |
|
F-MARX |
0.98 |
1.01 |
0.97 |
0.97 |
0.99 |
0.93 |
0.93 |
1.05 |
1.03 |
1.00 |
|
F-MAF |
0.92 |
1.01 |
0.90 |
0.98 |
0.97 |
0.89 |
0.90 |
1.03 |
0.99 |
0.97 |
|
F-Level |
1.14 |
1.30 |
1.39 |
1.26 |
0.92 |
1.09 |
0.91 |
0.74 |
0.98 |
0.91 |
|
F-X-MARX |
0.98 |
1.02 |
0.96 |
0.97 |
1.01 |
0.91 |
0.94 |
1.08 |
0.98 |
0.99 |
|
F-X-MAF |
0.96 |
1.03 |
0.93 |
0.98 |
0.96 |
0.89 |
0.90 |
1.04 |
0.99 |
0.97 |
|
F-X-Level |
1.00 |
1.08 |
1.11 |
1.13 |
0.88 |
1.04 |
0.87 |
0.84 |
1.05 |
0.98 |
|
F-X-MARX-Level |
0.95 |
1.06 |
1.01 |
1.02 |
0.91 |
1.03 |
0.90 |
0.89 |
1.09 |
1.02 |
|
X |
0.99 |
1.05 |
0.98 |
1.01 |
0.94 |
0.89 |
0.87 |
1.01 |
0.99 |
0.97 |
|
MARX |
0.98 |
1.02 |
0.96 |
0.97 |
1.00 |
0.93 |
0.93 |
1.06 |
1.02 |
1.00 |
|
MAF |
0.92 |
1.01 |
0.90 |
0.98 |
0.97 |
0.89 |
0.90 |
1.02 |
0.99 |
0.97 |
|
X-MARX |
0.98 |
1.02 |
0.96 |
0.97 |
1.00 |
0.92 |
0.93 |
1.08 |
0.98 |
0.99 |
|
X-MAF |
0.96 |
1.03 |
0.94 |
0.97 |
0.96 |
0.88 |
0.91 |
1.04 |
0.99 |
0.97 |
|
X-Level |
1.00 |
1.08 |
1.12 |
1.14 |
0.88 |
1.03 |
0.87 |
0.83 |
1.04 |
0.99 |
|
X-MARX-Level |
0.95 |
1.07 |
1.01 |
1.02 |
0.91 |
1.04 |
0.90 |
0.89 |
1.08 |
1.02 |
|
Boosted Trees |
F |
0.97 |
1.06 |
0.98 |
1.01 |
0.95 |
0.94 |
0.87 |
0.93 |
0.92 |
0.91 |
F-X |
0.99 |
1.11 |
0.96 |
1.02 |
1.06 |
0.90 |
0.91 |
1.03 |
0.98 |
0.93 |
|
F-MARX |
1.00 |
1.05 |
1.02 |
1.01 |
1.01 |
0.93 |
0.94 |
1.04 |
0.97 |
0.95 |
|
F-MAF |
0.98 |
1.04 |
0.89 |
1.03 |
1.03 |
0.94 |
0.89 |
1.04 |
0.90 |
0.98 |
|
F-Level |
1.09 |
1.32 |
1.30 |
1.21 |
0.98 |
1.08 |
1.06 |
0.74 |
1.05 |
0.93 |
|
F-X-MARX |
0.98 |
1.11 |
1.02 |
1.01 |
1.03 |
0.95 |
0.93 |
1.04 |
0.99 |
0.90 |
|
F-X-MAF |
0.93 |
1.03 |
0.95 |
1.03 |
1.02 |
0.92 |
0.94 |
1.03 |
0.99 |
0.95 |
|
F-X-Level |
1.16 |
1.17 |
1.16 |
1.11 |
0.85 |
0.88 |
1.00 |
0.83 |
1.04 |
0.95 |
|
F-X-MARX-Level |
1.03 |
1.14 |
1.06 |
1.05 |
0.99 |
0.97 |
0.91 |
0.93 |
1.09 |
1.00 |
|
X |
1.01 |
1.06 |
1.00 |
1.03 |
1.02 |
0.94 |
0.88 |
1.05 |
1.03 |
0.93 |
|
MARX |
1.00 |
1.09 |
0.98 |
0.99 |
1.08 |
0.95 |
0.92 |
1.06 |
0.95 |
0.89 |
|
MAF |
0.98 |
1.11 |
0.91 |
1.01 |
1.08 |
0.93 |
0.91 |
1.07 |
0.88 |
0.97 |
|
X-MARX |
0.98 |
1.11 |
0.97 |
0.98 |
1.02 |
0.90 |
0.91 |
1.10 |
1.01 |
0.93 |
|
X-MAF |
1.01 |
1.07 |
0.97 |
1.03 |
1.00 |
0.95 |
0.94 |
1.04 |
1.02 |
0.93 |
|
X-Level |
1.03 |
1.20 |
1.19 |
1.12 |
0.91 |
0.95 |
0.90 |
0.85 |
1.02 |
0.99 |
|
X-MARX-Level |
0.97 |
1.08 |
1.03 |
1.07 |
0.95 |
0.90 |
0.90 |
0.92 |
1.13 |
0.99 |
Horizon 24 (direct)#
Horizon 24, direct — FM absolute RMSE (denominator): INDPRO 0.003, EMP 0.001, UNRATE 0.068, INCOME 0.002, CONS 0.002, RETAIL 0.003, HOUST 0.014, M2 0.002, CPI 0.002, PPI 0.003
Model |
Set |
INDPRO |
EMP |
UNRATE |
INCOME |
CONS |
RETAIL |
HOUST |
M2 |
CPI |
PPI |
|---|---|---|---|---|---|---|---|---|---|---|---|
AR |
— |
0.98 |
1.03 |
1.08 |
0.98 |
0.85 |
0.93 |
0.92 |
0.90 |
0.95 |
0.87 |
Adaptive Lasso |
F |
0.93 |
0.95 |
0.93 |
0.98 |
0.91 |
1.00 |
0.94 |
0.99 |
1.21 |
1.06 |
F-X |
1.08 |
0.98 |
0.95 |
1.11 |
1.11 |
0.89 |
0.95 |
1.08 |
1.07 |
0.88 |
|
F-MARX |
1.22 |
1.13 |
1.17 |
1.12 |
1.08 |
1.06 |
1.17 |
1.00 |
1.05 |
1.01 |
|
F-MAF |
1.33 |
1.19 |
1.03 |
1.31 |
1.23 |
0.98 |
1.30 |
1.03 |
1.20 |
0.98 |
|
F-Level |
1.21 |
1.18 |
1.42 |
1.36 |
1.19 |
1.13 |
1.28 |
1.19 |
1.48 |
1.41 |
|
F-X-MARX |
1.10 |
1.03 |
0.93 |
1.19 |
1.12 |
0.97 |
0.95 |
1.03 |
1.02 |
0.99 |
|
F-X-MAF |
1.12 |
1.00 |
0.95 |
1.19 |
1.09 |
0.96 |
0.94 |
1.05 |
1.10 |
0.88 |
|
F-X-Level |
1.12 |
1.17 |
1.05 |
1.30 |
1.23 |
0.93 |
1.07 |
1.01 |
1.28 |
1.20 |
|
F-X-MARX-Level |
1.11 |
1.15 |
1.02 |
1.30 |
1.17 |
1.01 |
1.18 |
1.02 |
1.06 |
1.14 |
|
X |
1.08 |
0.99 |
0.95 |
1.12 |
1.12 |
0.89 |
0.95 |
1.07 |
1.09 |
0.87 |
|
MARX |
1.31 |
1.13 |
1.26 |
1.20 |
1.15 |
1.02 |
1.28 |
1.00 |
1.00 |
1.11 |
|
MAF |
1.32 |
1.19 |
1.58 |
1.32 |
1.25 |
0.99 |
1.30 |
1.04 |
1.08 |
0.99 |
|
X-MARX |
1.09 |
1.04 |
0.94 |
1.18 |
1.10 |
0.97 |
1.07 |
1.01 |
1.00 |
0.94 |
|
X-MAF |
1.12 |
1.01 |
0.95 |
1.17 |
1.11 |
0.96 |
0.95 |
1.06 |
1.03 |
0.88 |
|
X-Level |
1.12 |
1.16 |
1.05 |
1.31 |
1.22 |
0.93 |
1.06 |
1.02 |
1.30 |
1.21 |
|
X-MARX-Level |
1.10 |
1.15 |
1.02 |
1.31 |
1.17 |
1.01 |
1.18 |
1.02 |
1.06 |
1.14 |
|
Elastic Net |
F |
0.94 |
0.98 |
0.92 |
0.97 |
0.90 |
0.99 |
0.93 |
0.98 |
1.44 |
1.02 |
F-X |
1.07 |
1.00 |
0.98 |
1.10 |
1.07 |
0.89 |
0.94 |
1.08 |
1.07 |
0.86 |
|
F-MARX |
1.00 |
1.02 |
1.19 |
1.08 |
0.97 |
0.98 |
0.99 |
1.05 |
0.95 |
0.99 |
|
F-MAF |
1.15 |
1.11 |
1.22 |
1.16 |
1.05 |
0.98 |
1.07 |
1.02 |
1.34 |
0.96 |
|
F-Level |
1.18 |
1.23 |
1.42 |
1.39 |
1.32 |
1.14 |
1.22 |
1.15 |
1.81 |
1.43 |
|
F-X-MARX |
1.03 |
0.95 |
1.04 |
1.06 |
1.06 |
0.93 |
0.93 |
1.09 |
0.97 |
0.86 |
|
F-X-MAF |
1.11 |
0.98 |
1.01 |
1.09 |
1.05 |
0.94 |
0.94 |
1.06 |
1.08 |
0.87 |
|
F-X-Level |
1.02 |
1.00 |
1.13 |
1.25 |
1.11 |
0.83 |
1.07 |
1.05 |
1.39 |
1.28 |
|
F-X-MARX-Level |
1.01 |
0.97 |
0.98 |
1.15 |
1.08 |
0.87 |
1.02 |
1.12 |
1.23 |
1.25 |
|
X |
1.07 |
0.99 |
0.98 |
1.10 |
1.07 |
0.89 |
0.94 |
1.08 |
1.07 |
0.87 |
|
MARX |
1.33 |
1.27 |
1.21 |
1.29 |
1.20 |
1.03 |
1.02 |
1.07 |
1.42 |
1.18 |
|
MAF |
1.27 |
1.24 |
1.44 |
1.21 |
1.25 |
1.01 |
1.08 |
1.05 |
1.30 |
1.00 |
|
X-MARX |
1.05 |
0.96 |
1.04 |
1.06 |
1.05 |
0.93 |
0.95 |
1.07 |
0.98 |
0.83 |
|
X-MAF |
1.11 |
0.98 |
1.02 |
1.09 |
1.05 |
0.94 |
0.95 |
1.06 |
1.08 |
0.87 |
|
X-Level |
1.03 |
1.00 |
1.12 |
1.25 |
1.11 |
0.85 |
1.07 |
1.05 |
1.42 |
1.28 |
|
X-MARX-Level |
1.02 |
0.97 |
0.98 |
1.15 |
1.08 |
0.88 |
1.02 |
1.12 |
1.24 |
1.25 |
|
Linear Boosting |
F |
0.93 |
0.94 |
0.95 |
0.97 |
0.90 |
1.02 |
0.92 |
1.11 |
1.32 |
1.11 |
F-X |
1.00 |
1.04 |
0.94 |
1.00 |
0.93 |
1.00 |
0.84 |
1.09 |
1.10 |
1.03 |
|
F-MARX |
1.11 |
1.07 |
0.97 |
1.03 |
0.96 |
1.13 |
0.90 |
1.11 |
1.40 |
1.08 |
|
F-MAF |
1.30 |
1.21 |
1.17 |
1.31 |
1.27 |
1.03 |
0.99 |
1.11 |
1.16 |
1.04 |
|
F-Level |
1.27 |
1.14 |
1.18 |
1.60 |
1.30 |
1.08 |
1.21 |
1.06 |
1.55 |
1.38 |
|
F-X-MARX |
1.03 |
1.02 |
0.93 |
0.99 |
0.92 |
0.99 |
0.86 |
1.11 |
1.34 |
1.11 |
|
F-X-MAF |
1.07 |
1.01 |
1.00 |
1.18 |
1.07 |
0.97 |
0.92 |
1.06 |
1.06 |
0.94 |
|
F-X-Level |
0.96 |
0.95 |
0.94 |
1.00 |
0.95 |
0.94 |
0.91 |
1.03 |
1.42 |
1.16 |
|
F-X-MARX-Level |
1.01 |
0.90 |
0.91 |
0.99 |
0.89 |
0.95 |
0.95 |
1.04 |
1.07 |
1.03 |
|
X |
1.03 |
1.06 |
0.96 |
1.02 |
0.91 |
0.98 |
0.88 |
1.07 |
1.22 |
1.06 |
|
MARX |
1.12 |
1.10 |
1.03 |
1.08 |
0.98 |
1.04 |
0.98 |
1.07 |
1.45 |
1.15 |
|
MAF |
1.36 |
1.26 |
1.21 |
1.32 |
1.32 |
0.98 |
1.04 |
1.11 |
1.10 |
1.06 |
|
X-MARX |
1.04 |
1.03 |
0.93 |
0.98 |
0.90 |
0.97 |
0.95 |
1.08 |
1.32 |
1.05 |
|
X-MAF |
1.09 |
1.02 |
1.00 |
1.19 |
1.09 |
0.98 |
0.93 |
1.07 |
1.07 |
0.94 |
|
X-Level |
0.95 |
0.91 |
0.92 |
1.01 |
0.95 |
0.89 |
1.04 |
1.04 |
1.49 |
1.30 |
|
X-MARX-Level |
1.01 |
0.89 |
0.90 |
0.98 |
0.88 |
0.93 |
0.99 |
1.04 |
1.15 |
1.08 |
|
Random Forest |
F |
0.93 |
0.97 |
0.86 |
0.93 |
0.86 |
0.90 |
0.77 |
0.88 |
0.81 |
0.82 |
F-X |
0.89 |
0.92 |
0.90 |
0.96 |
0.91 |
0.86 |
0.77 |
1.04 |
1.04 |
0.94 |
|
F-MARX |
0.97 |
0.97 |
0.89 |
1.01 |
0.94 |
0.87 |
0.87 |
1.13 |
1.14 |
1.11 |
|
F-MAF |
0.94 |
0.91 |
0.87 |
1.01 |
0.90 |
0.82 |
0.85 |
1.04 |
1.22 |
1.04 |
|
F-Level |
0.87 |
1.26 |
1.26 |
1.16 |
0.82 |
0.96 |
0.92 |
0.82 |
1.10 |
0.84 |
|
F-X-MARX |
0.95 |
0.98 |
0.89 |
0.98 |
0.91 |
0.87 |
0.82 |
1.16 |
1.09 |
1.08 |
|
F-X-MAF |
0.89 |
0.90 |
0.86 |
0.99 |
0.91 |
0.83 |
0.80 |
1.06 |
1.13 |
1.00 |
|
F-X-Level |
0.87 |
1.09 |
1.13 |
1.12 |
0.86 |
0.93 |
0.92 |
0.94 |
1.13 |
0.94 |
|
F-X-MARX-Level |
0.89 |
1.00 |
0.95 |
1.10 |
0.89 |
0.95 |
0.93 |
0.99 |
1.16 |
1.07 |
|
X |
0.89 |
0.92 |
0.90 |
0.96 |
0.91 |
0.86 |
0.77 |
1.04 |
1.05 |
0.94 |
|
MARX |
0.98 |
0.98 |
0.89 |
1.02 |
0.94 |
0.87 |
0.87 |
1.14 |
1.15 |
1.12 |
|
MAF |
0.97 |
0.93 |
0.89 |
1.01 |
0.90 |
0.82 |
0.85 |
1.04 |
1.21 |
1.04 |
|
X-MARX |
0.95 |
0.98 |
0.88 |
0.98 |
0.91 |
0.86 |
0.83 |
1.16 |
1.09 |
1.08 |
|
X-MAF |
0.89 |
0.90 |
0.87 |
0.99 |
0.92 |
0.83 |
0.80 |
1.07 |
1.13 |
1.01 |
|
X-Level |
0.87 |
1.09 |
1.14 |
1.12 |
0.87 |
0.94 |
0.91 |
0.94 |
1.14 |
0.94 |
|
X-MARX-Level |
0.89 |
1.00 |
0.94 |
1.10 |
0.89 |
0.95 |
0.94 |
0.99 |
1.16 |
1.08 |
|
Boosted Trees |
F |
0.93 |
0.99 |
0.90 |
0.95 |
0.87 |
0.95 |
0.78 |
0.95 |
0.84 |
0.89 |
F-X |
0.90 |
1.01 |
0.91 |
1.02 |
0.94 |
0.83 |
0.82 |
1.07 |
0.97 |
0.93 |
|
F-MARX |
0.96 |
1.06 |
0.87 |
1.04 |
0.98 |
0.84 |
0.88 |
1.07 |
1.02 |
1.00 |
|
F-MAF |
1.00 |
1.01 |
0.84 |
1.04 |
0.96 |
0.90 |
0.88 |
1.01 |
1.20 |
1.15 |
|
F-Level |
0.95 |
1.25 |
1.22 |
1.14 |
0.90 |
1.01 |
0.98 |
0.83 |
1.02 |
0.81 |
|
F-X-MARX |
0.97 |
1.05 |
0.94 |
1.03 |
0.98 |
0.85 |
0.85 |
1.11 |
1.12 |
0.96 |
|
F-X-MAF |
0.93 |
0.98 |
0.92 |
1.07 |
0.93 |
0.80 |
0.86 |
1.09 |
1.26 |
0.96 |
|
F-X-Level |
0.89 |
1.13 |
1.20 |
1.08 |
0.90 |
0.83 |
0.96 |
0.93 |
1.12 |
0.86 |
|
F-X-MARX-Level |
0.91 |
1.11 |
1.02 |
1.13 |
0.95 |
0.88 |
0.99 |
0.96 |
1.21 |
1.05 |
|
X |
0.90 |
1.01 |
0.92 |
1.02 |
0.98 |
0.84 |
0.82 |
1.07 |
1.08 |
0.96 |
|
MARX |
0.99 |
1.06 |
0.91 |
1.00 |
0.97 |
0.84 |
0.91 |
1.09 |
1.13 |
0.97 |
|
MAF |
1.01 |
1.01 |
0.87 |
1.04 |
0.97 |
0.83 |
0.83 |
1.00 |
1.16 |
1.13 |
|
X-MARX |
0.93 |
1.03 |
0.90 |
1.01 |
0.98 |
0.85 |
0.85 |
1.13 |
1.09 |
0.99 |
|
X-MAF |
0.94 |
0.99 |
0.92 |
1.04 |
0.98 |
0.82 |
0.83 |
1.09 |
1.24 |
0.95 |
|
X-Level |
0.92 |
1.20 |
1.16 |
1.12 |
0.82 |
0.91 |
0.91 |
0.92 |
1.22 |
0.86 |
|
X-MARX-Level |
0.96 |
1.05 |
1.00 |
1.09 |
0.92 |
0.87 |
1.03 |
0.98 |
1.11 |
0.99 |
Path-average / SGR target (appendix Tables 9 to 14)#
Horizon 1 (path-average)#
Horizon 1, path-average (SGR) — FM absolute RMSE (denominator): INDPRO 0.006, EMP 0.001, UNRATE 0.148, INCOME 0.007, CONS 0.004, RETAIL 0.011, HOUST 0.072, M2 0.003, CPI 0.002, PPI 0.006
Model |
Set |
INDPRO |
EMP |
UNRATE |
INCOME |
CONS |
RETAIL |
HOUST |
M2 |
CPI |
PPI |
|---|---|---|---|---|---|---|---|---|---|---|---|
AR |
— |
1.00 |
1.00 |
1.00 |
1.00 |
1.00 |
1.00 |
1.00 |
1.00 |
1.00 |
1.00 |
Adaptive Lasso |
F |
0.96 |
0.97 |
0.97 |
1.00 |
1.03 |
1.04 |
1.02 |
0.98 |
0.98 |
0.98 |
F-X |
0.95 |
1.03 |
0.96 |
1.01 |
1.08 |
1.09 |
1.02 |
0.99 |
1.06 |
1.00 |
|
F-MARX |
0.95 |
0.99 |
0.95 |
1.00 |
1.04 |
1.02 |
1.01 |
0.99 |
0.96 |
0.93 |
|
F-MAF |
0.94 |
0.99 |
0.95 |
1.01 |
1.04 |
1.05 |
1.02 |
1.00 |
1.05 |
1.02 |
|
F-Level |
0.96 |
1.02 |
0.95 |
1.00 |
1.02 |
1.04 |
1.02 |
1.00 |
1.02 |
0.99 |
|
F-X-MARX |
1.09 |
1.01 |
0.95 |
1.01 |
1.06 |
1.03 |
1.01 |
0.97 |
1.04 |
0.97 |
|
F-X-MAF |
0.95 |
1.01 |
0.96 |
1.02 |
1.06 |
1.07 |
1.02 |
0.98 |
1.05 |
1.01 |
|
F-X-Level |
0.96 |
1.02 |
0.96 |
1.00 |
1.04 |
1.10 |
1.02 |
0.98 |
1.03 |
1.01 |
|
F-X-MARX-Level |
1.10 |
1.01 |
0.95 |
1.00 |
1.06 |
1.05 |
1.01 |
0.98 |
1.03 |
0.97 |
|
X |
0.95 |
1.03 |
0.96 |
1.00 |
1.08 |
1.05 |
1.03 |
0.99 |
1.04 |
1.02 |
|
MARX |
0.96 |
1.01 |
0.96 |
1.00 |
1.06 |
1.03 |
1.01 |
0.97 |
0.96 |
0.97 |
|
MAF |
0.98 |
1.00 |
0.96 |
1.01 |
1.08 |
1.05 |
1.03 |
1.00 |
1.09 |
1.04 |
|
X-MARX |
1.15 |
1.00 |
0.95 |
1.00 |
1.07 |
1.04 |
1.01 |
0.99 |
1.09 |
0.97 |
|
X-MAF |
1.23 |
1.02 |
0.95 |
1.00 |
1.06 |
1.09 |
1.03 |
0.98 |
1.03 |
1.00 |
|
X-Level |
0.96 |
1.02 |
0.96 |
1.00 |
1.05 |
1.06 |
1.03 |
0.98 |
1.03 |
1.01 |
|
X-MARX-Level |
1.13 |
1.01 |
0.95 |
1.00 |
1.06 |
1.04 |
1.01 |
0.97 |
1.03 |
0.96 |
|
Elastic Net |
F |
0.97 |
0.97 |
0.97 |
1.01 |
1.03 |
1.04 |
1.00 |
0.98 |
0.98 |
0.97 |
F-X |
0.96 |
1.01 |
0.96 |
1.01 |
1.04 |
1.04 |
1.01 |
1.00 |
1.04 |
1.00 |
|
F-MARX |
0.95 |
0.98 |
0.94 |
1.00 |
1.05 |
1.02 |
1.00 |
0.99 |
0.97 |
0.92 |
|
F-MAF |
0.95 |
0.98 |
0.95 |
1.00 |
1.04 |
1.06 |
1.01 |
0.99 |
1.04 |
1.03 |
|
F-Level |
0.96 |
0.98 |
0.95 |
1.01 |
1.03 |
1.02 |
0.97 |
1.00 |
1.00 |
0.99 |
|
F-X-MARX |
1.09 |
1.01 |
0.95 |
1.00 |
1.05 |
1.04 |
1.00 |
0.98 |
1.19 |
0.96 |
|
F-X-MAF |
0.95 |
1.01 |
0.96 |
1.00 |
1.05 |
1.10 |
1.02 |
0.99 |
1.06 |
0.99 |
|
F-X-Level |
0.96 |
1.01 |
0.96 |
1.01 |
1.04 |
1.03 |
1.02 |
0.99 |
1.03 |
0.99 |
|
F-X-MARX-Level |
1.08 |
1.01 |
0.95 |
1.00 |
1.05 |
1.04 |
1.00 |
0.98 |
1.19 |
0.97 |
|
X |
0.96 |
1.02 |
0.96 |
1.00 |
1.04 |
1.05 |
1.02 |
0.98 |
1.03 |
0.99 |
|
MARX |
0.96 |
1.00 |
0.95 |
1.00 |
1.04 |
1.03 |
0.99 |
0.97 |
0.97 |
0.95 |
|
MAF |
0.97 |
0.99 |
0.96 |
1.01 |
1.05 |
1.06 |
1.03 |
1.00 |
1.10 |
1.03 |
|
X-MARX |
1.14 |
1.00 |
0.95 |
1.00 |
1.06 |
1.04 |
1.00 |
0.98 |
1.12 |
0.96 |
|
X-MAF |
0.95 |
1.01 |
0.96 |
1.00 |
1.06 |
1.04 |
1.02 |
1.00 |
1.03 |
0.99 |
|
X-Level |
0.96 |
1.01 |
0.96 |
0.99 |
1.04 |
1.04 |
1.02 |
0.98 |
1.03 |
1.00 |
|
X-MARX-Level |
1.09 |
1.01 |
0.95 |
1.00 |
1.08 |
1.07 |
1.01 |
0.97 |
1.04 |
0.96 |
|
Linear Boosting |
F |
0.97 |
1.00 |
0.97 |
1.00 |
1.03 |
1.04 |
1.00 |
1.17 |
1.07 |
0.99 |
F-X |
0.98 |
1.02 |
0.96 |
1.00 |
1.07 |
1.05 |
1.04 |
1.06 |
1.08 |
1.02 |
|
F-MARX |
0.96 |
1.05 |
0.96 |
0.99 |
1.04 |
1.03 |
1.01 |
1.09 |
1.00 |
0.98 |
|
F-MAF |
0.94 |
0.95 |
0.94 |
1.01 |
1.05 |
1.03 |
1.02 |
1.01 |
1.06 |
1.03 |
|
F-Level |
0.95 |
0.99 |
0.96 |
1.01 |
1.03 |
1.04 |
1.02 |
1.04 |
1.01 |
1.01 |
|
F-X-MARX |
0.94 |
1.05 |
0.96 |
1.00 |
1.07 |
1.12 |
1.04 |
1.08 |
1.14 |
0.96 |
|
F-X-MAF |
1.23 |
1.00 |
0.95 |
0.99 |
1.06 |
1.05 |
1.05 |
0.99 |
1.03 |
1.03 |
|
F-X-Level |
0.94 |
0.99 |
0.96 |
1.00 |
1.07 |
1.03 |
1.03 |
1.02 |
1.09 |
1.01 |
|
F-X-MARX-Level |
0.94 |
0.99 |
0.94 |
0.99 |
1.07 |
1.05 |
1.03 |
1.02 |
0.98 |
0.94 |
|
X |
0.96 |
1.08 |
0.96 |
1.02 |
1.08 |
1.06 |
1.04 |
1.06 |
1.22 |
1.02 |
|
MARX |
0.95 |
1.10 |
0.95 |
0.99 |
1.06 |
1.04 |
1.00 |
1.07 |
1.09 |
0.97 |
|
MAF |
0.99 |
1.00 |
0.96 |
1.00 |
1.06 |
1.04 |
1.02 |
1.02 |
1.19 |
1.04 |
|
X-MARX |
0.96 |
1.08 |
0.94 |
1.00 |
1.06 |
1.10 |
1.03 |
1.09 |
1.04 |
0.97 |
|
X-MAF |
0.96 |
1.02 |
0.96 |
1.02 |
1.11 |
1.06 |
1.04 |
0.98 |
1.02 |
1.01 |
|
X-Level |
0.95 |
1.05 |
0.96 |
1.00 |
1.06 |
1.06 |
1.05 |
1.04 |
1.03 |
1.01 |
|
X-MARX-Level |
0.94 |
1.01 |
0.94 |
1.06 |
1.10 |
1.03 |
1.03 |
1.03 |
1.03 |
1.02 |
|
Random Forest |
F |
0.95 |
0.99 |
0.97 |
0.97 |
1.05 |
1.04 |
1.04 |
0.97 |
1.00 |
0.97 |
F-X |
0.96 |
1.00 |
0.95 |
0.98 |
1.05 |
1.04 |
1.04 |
0.96 |
1.00 |
0.97 |
|
F-MARX |
0.93 |
0.95 |
0.94 |
0.95 |
1.05 |
1.03 |
1.03 |
0.96 |
0.97 |
0.95 |
|
F-MAF |
0.96 |
0.97 |
0.97 |
0.98 |
1.04 |
1.04 |
1.04 |
0.97 |
1.01 |
0.97 |
|
F-Level |
0.94 |
1.00 |
0.96 |
1.02 |
1.05 |
1.05 |
1.04 |
0.96 |
1.00 |
0.98 |
|
F-X-MARX |
0.93 |
0.96 |
0.95 |
0.96 |
1.05 |
1.04 |
1.03 |
0.96 |
0.98 |
0.95 |
|
F-X-MAF |
0.94 |
0.98 |
0.95 |
0.97 |
1.06 |
1.04 |
1.05 |
0.96 |
0.99 |
0.98 |
|
F-X-Level |
0.95 |
0.99 |
0.95 |
1.00 |
1.05 |
1.04 |
1.05 |
0.95 |
1.00 |
0.98 |
|
F-X-MARX-Level |
0.92 |
0.94 |
0.95 |
0.97 |
1.05 |
1.04 |
1.04 |
0.96 |
0.97 |
0.95 |
|
X |
0.96 |
1.01 |
0.95 |
0.98 |
1.04 |
1.04 |
1.05 |
0.96 |
1.00 |
0.97 |
|
MARX |
0.93 |
0.95 |
0.95 |
0.94 |
1.06 |
1.03 |
1.03 |
0.97 |
0.97 |
0.95 |
|
MAF |
0.97 |
0.99 |
0.98 |
0.99 |
1.05 |
1.04 |
1.05 |
0.98 |
1.02 |
0.96 |
|
X-MARX |
0.93 |
0.96 |
0.94 |
0.96 |
1.05 |
1.03 |
1.04 |
0.96 |
0.98 |
0.95 |
|
X-MAF |
0.96 |
0.99 |
0.95 |
0.97 |
1.05 |
1.04 |
1.05 |
0.96 |
0.99 |
0.98 |
|
X-Level |
0.95 |
0.99 |
0.95 |
1.00 |
1.05 |
1.05 |
1.05 |
0.95 |
0.99 |
0.97 |
|
X-MARX-Level |
0.92 |
0.95 |
0.94 |
0.98 |
1.06 |
1.04 |
1.04 |
0.96 |
0.96 |
0.95 |
|
Boosted Trees |
F |
0.98 |
1.05 |
1.01 |
1.02 |
1.05 |
1.02 |
1.06 |
1.04 |
0.97 |
0.98 |
F-X |
0.98 |
1.04 |
0.95 |
1.00 |
1.06 |
1.04 |
1.07 |
1.01 |
0.99 |
0.99 |
|
F-MARX |
0.96 |
1.02 |
0.94 |
1.01 |
1.05 |
1.06 |
1.03 |
1.00 |
0.99 |
0.98 |
|
F-MAF |
0.95 |
1.07 |
0.99 |
1.04 |
1.06 |
1.05 |
1.08 |
1.00 |
1.01 |
0.97 |
|
F-Level |
0.97 |
1.02 |
1.01 |
1.06 |
1.07 |
1.05 |
1.10 |
0.98 |
1.02 |
1.00 |
|
F-X-MARX |
0.96 |
1.05 |
0.96 |
0.97 |
1.07 |
1.04 |
1.06 |
1.00 |
1.00 |
0.98 |
|
F-X-MAF |
0.99 |
1.06 |
0.97 |
1.02 |
1.06 |
1.02 |
1.07 |
0.99 |
0.99 |
0.99 |
|
F-X-Level |
0.96 |
1.09 |
0.95 |
1.03 |
1.05 |
1.06 |
1.08 |
0.99 |
1.00 |
1.01 |
|
F-X-MARX-Level |
0.97 |
1.01 |
0.96 |
0.98 |
1.05 |
1.02 |
1.07 |
0.98 |
0.99 |
0.99 |
|
X |
0.98 |
1.08 |
0.98 |
1.00 |
1.05 |
1.06 |
1.08 |
0.97 |
0.99 |
1.01 |
|
MARX |
0.94 |
1.02 |
0.95 |
0.99 |
1.08 |
1.05 |
1.04 |
1.01 |
0.99 |
0.97 |
|
MAF |
0.98 |
1.06 |
0.99 |
1.04 |
1.06 |
1.04 |
1.09 |
1.02 |
1.03 |
0.99 |
|
X-MARX |
0.95 |
1.00 |
0.96 |
1.00 |
1.06 |
1.05 |
1.08 |
0.97 |
0.99 |
0.98 |
|
X-MAF |
0.98 |
1.08 |
0.98 |
1.02 |
1.06 |
1.04 |
1.07 |
1.01 |
1.00 |
1.00 |
|
X-Level |
0.97 |
1.07 |
0.97 |
1.02 |
1.06 |
1.06 |
1.09 |
0.98 |
0.98 |
1.01 |
|
X-MARX-Level |
0.96 |
1.02 |
0.95 |
0.98 |
1.08 |
1.02 |
1.07 |
0.99 |
0.99 |
1.00 |
Horizon 3 (path-average)#
Horizon 3, path-average (SGR) — FM absolute RMSE (denominator): INDPRO 0.004, EMP 0.001, UNRATE 0.088, INCOME 0.003, CONS 0.002, RETAIL 0.005, HOUST 0.033, M2 0.003, CPI 0.002, PPI 0.004
Model |
Set |
INDPRO |
EMP |
UNRATE |
INCOME |
CONS |
RETAIL |
HOUST |
M2 |
CPI |
PPI |
|---|---|---|---|---|---|---|---|---|---|---|---|
AR |
— |
0.97 |
0.96 |
0.96 |
1.00 |
1.03 |
0.98 |
0.98 |
1.01 |
1.02 |
1.00 |
Adaptive Lasso |
F |
0.92 |
0.90 |
0.92 |
1.00 |
1.04 |
1.03 |
0.92 |
0.97 |
0.98 |
0.98 |
F-X |
1.00 |
0.99 |
0.94 |
1.03 |
1.16 |
1.07 |
0.92 |
0.95 |
1.00 |
1.00 |
|
F-MARX |
0.91 |
0.92 |
0.87 |
1.02 |
1.06 |
1.01 |
0.91 |
0.96 |
0.99 |
0.94 |
|
F-MAF |
0.96 |
0.93 |
0.89 |
1.02 |
1.04 |
1.03 |
0.93 |
0.98 |
1.02 |
1.02 |
|
F-Level |
0.90 |
0.91 |
0.90 |
1.03 |
1.01 |
1.02 |
0.93 |
0.96 |
1.12 |
0.99 |
|
F-X-MARX |
1.05 |
0.96 |
0.90 |
0.99 |
1.13 |
1.02 |
0.92 |
0.94 |
1.02 |
0.94 |
|
F-X-MAF |
0.99 |
0.96 |
0.91 |
0.99 |
1.08 |
1.09 |
0.92 |
0.94 |
1.00 |
0.99 |
|
F-X-Level |
1.00 |
0.98 |
0.95 |
1.02 |
1.08 |
1.10 |
0.93 |
0.93 |
1.02 |
0.99 |
|
F-X-MARX-Level |
1.05 |
0.96 |
0.91 |
1.03 |
1.08 |
1.05 |
0.91 |
0.92 |
1.02 |
0.94 |
|
X |
0.99 |
0.99 |
0.94 |
1.03 |
1.11 |
1.03 |
0.93 |
0.95 |
1.02 |
1.01 |
|
MARX |
0.92 |
0.94 |
0.86 |
1.02 |
1.08 |
1.02 |
0.91 |
0.95 |
0.99 |
0.94 |
|
MAF |
1.01 |
0.97 |
0.92 |
1.02 |
1.12 |
1.03 |
0.93 |
0.99 |
1.06 |
1.03 |
|
X-MARX |
1.08 |
0.95 |
0.90 |
1.05 |
1.09 |
1.03 |
0.92 |
0.94 |
0.99 |
0.94 |
|
X-MAF |
1.12 |
0.97 |
0.91 |
1.03 |
1.09 |
1.08 |
0.93 |
0.93 |
1.01 |
0.99 |
|
X-Level |
1.00 |
0.98 |
0.95 |
1.02 |
1.08 |
1.05 |
0.94 |
0.92 |
1.03 |
0.99 |
|
X-MARX-Level |
1.08 |
0.96 |
0.91 |
1.02 |
1.08 |
1.04 |
0.92 |
0.92 |
1.02 |
0.94 |
|
Elastic Net |
F |
0.95 |
0.89 |
0.91 |
1.01 |
1.04 |
1.03 |
0.94 |
0.97 |
0.97 |
0.97 |
F-X |
0.99 |
0.97 |
0.93 |
1.04 |
1.04 |
1.02 |
0.93 |
0.96 |
1.01 |
0.99 |
|
F-MARX |
0.91 |
0.90 |
0.86 |
1.02 |
1.06 |
1.01 |
0.93 |
0.96 |
0.99 |
0.93 |
|
F-MAF |
0.96 |
0.92 |
0.89 |
1.01 |
1.04 |
1.04 |
0.95 |
0.98 |
1.02 |
1.02 |
|
F-Level |
0.91 |
0.88 |
0.87 |
1.04 |
1.00 |
1.00 |
0.87 |
0.98 |
1.03 |
1.02 |
|
F-X-MARX |
1.05 |
0.96 |
0.88 |
1.04 |
1.09 |
1.04 |
0.92 |
0.94 |
1.00 |
0.94 |
|
F-X-MAF |
1.00 |
0.96 |
0.90 |
1.03 |
1.10 |
1.08 |
0.93 |
0.95 |
1.00 |
0.99 |
|
F-X-Level |
1.00 |
0.97 |
0.93 |
1.04 |
1.03 |
1.01 |
0.93 |
0.94 |
1.02 |
0.99 |
|
F-X-MARX-Level |
1.04 |
0.95 |
0.88 |
1.04 |
1.06 |
1.02 |
0.92 |
0.93 |
1.03 |
0.94 |
|
X |
1.00 |
0.98 |
0.93 |
1.03 |
1.06 |
1.02 |
0.94 |
0.94 |
1.01 |
0.99 |
|
MARX |
0.91 |
0.94 |
0.86 |
1.01 |
1.05 |
1.01 |
0.93 |
0.95 |
0.99 |
0.93 |
|
MAF |
1.00 |
0.96 |
0.91 |
1.02 |
1.08 |
1.03 |
0.99 |
0.99 |
1.05 |
1.02 |
|
X-MARX |
1.08 |
0.94 |
0.88 |
1.05 |
1.09 |
1.03 |
0.93 |
0.94 |
1.00 |
0.94 |
|
X-MAF |
0.99 |
0.96 |
0.91 |
1.00 |
1.12 |
1.02 |
0.94 |
0.96 |
1.00 |
0.99 |
|
X-Level |
1.00 |
0.97 |
0.94 |
1.01 |
1.04 |
1.02 |
0.93 |
0.93 |
1.02 |
1.00 |
|
X-MARX-Level |
1.05 |
0.95 |
0.88 |
1.05 |
1.10 |
1.07 |
0.92 |
0.93 |
1.01 |
0.94 |
|
Linear Boosting |
F |
0.94 |
0.97 |
0.91 |
1.01 |
1.02 |
1.02 |
0.95 |
1.21 |
1.09 |
1.01 |
F-X |
1.02 |
1.02 |
0.92 |
1.03 |
1.10 |
1.04 |
0.95 |
1.08 |
1.07 |
1.01 |
|
F-MARX |
0.90 |
1.06 |
0.88 |
1.03 |
1.03 |
1.03 |
0.94 |
1.13 |
1.06 |
0.97 |
|
F-MAF |
0.94 |
0.89 |
0.87 |
1.02 |
1.04 |
1.01 |
0.95 |
1.00 |
1.03 |
1.02 |
|
F-Level |
0.91 |
0.91 |
0.88 |
1.03 |
1.02 |
1.01 |
0.95 |
1.00 |
1.01 |
0.98 |
|
F-X-MARX |
0.95 |
1.08 |
0.87 |
1.07 |
1.07 |
1.11 |
0.96 |
1.12 |
1.10 |
0.96 |
|
F-X-MAF |
1.18 |
0.96 |
0.88 |
1.02 |
1.09 |
1.03 |
0.96 |
0.97 |
1.01 |
1.02 |
|
F-X-Level |
0.98 |
0.97 |
0.92 |
1.02 |
1.14 |
1.01 |
0.96 |
1.01 |
1.04 |
0.99 |
|
F-X-MARX-Level |
0.94 |
0.98 |
0.86 |
1.03 |
1.07 |
1.05 |
0.98 |
1.01 |
0.99 |
0.97 |
|
X |
1.00 |
1.13 |
0.93 |
1.04 |
1.14 |
1.04 |
0.95 |
1.08 |
1.12 |
1.01 |
|
MARX |
0.92 |
1.14 |
0.85 |
1.04 |
1.07 |
1.03 |
0.95 |
1.10 |
1.09 |
0.97 |
|
MAF |
1.01 |
0.96 |
0.92 |
1.01 |
1.07 |
1.01 |
0.96 |
1.02 |
1.10 |
1.01 |
|
X-MARX |
0.96 |
1.13 |
0.88 |
1.07 |
1.10 |
1.12 |
1.00 |
1.12 |
1.04 |
0.99 |
|
X-MAF |
1.00 |
0.98 |
0.90 |
1.00 |
1.18 |
1.04 |
0.95 |
0.96 |
1.00 |
1.04 |
|
X-Level |
0.99 |
1.04 |
0.94 |
1.02 |
1.11 |
1.04 |
0.95 |
1.01 |
0.99 |
1.00 |
|
X-MARX-Level |
0.94 |
1.00 |
0.88 |
1.10 |
1.14 |
1.00 |
0.97 |
1.02 |
0.99 |
1.03 |
|
Random Forest |
F |
0.95 |
0.96 |
0.91 |
0.96 |
1.02 |
1.01 |
0.93 |
0.96 |
0.93 |
0.96 |
F-X |
0.98 |
0.97 |
0.90 |
0.99 |
1.02 |
1.01 |
0.92 |
0.96 |
0.94 |
0.97 |
|
F-MARX |
0.87 |
0.82 |
0.83 |
0.96 |
1.01 |
0.99 |
0.94 |
0.96 |
0.94 |
0.96 |
|
F-MAF |
0.97 |
0.92 |
0.90 |
0.99 |
1.00 |
1.00 |
0.92 |
0.98 |
0.95 |
0.97 |
|
F-Level |
0.92 |
0.95 |
0.92 |
1.10 |
1.02 |
1.04 |
0.95 |
0.93 |
0.97 |
0.99 |
|
F-X-MARX |
0.89 |
0.84 |
0.85 |
0.97 |
1.02 |
1.00 |
0.92 |
0.96 |
0.95 |
0.97 |
|
F-X-MAF |
0.98 |
0.93 |
0.89 |
0.99 |
1.01 |
1.01 |
0.93 |
0.97 |
0.94 |
0.98 |
|
F-X-Level |
0.94 |
0.96 |
0.90 |
1.02 |
1.00 |
1.02 |
0.93 |
0.93 |
0.95 |
0.97 |
|
F-X-MARX-Level |
0.88 |
0.83 |
0.85 |
0.99 |
1.01 |
1.01 |
0.93 |
0.95 |
0.94 |
0.97 |
|
X |
0.99 |
0.98 |
0.91 |
0.98 |
1.01 |
1.01 |
0.94 |
0.96 |
0.93 |
0.97 |
|
MARX |
0.86 |
0.82 |
0.85 |
0.96 |
1.03 |
0.99 |
0.93 |
0.96 |
0.95 |
0.97 |
|
MAF |
1.01 |
0.97 |
0.92 |
1.00 |
1.01 |
1.01 |
0.94 |
0.98 |
0.95 |
0.96 |
|
X-MARX |
0.88 |
0.84 |
0.84 |
0.96 |
1.02 |
0.99 |
0.93 |
0.96 |
0.95 |
0.97 |
|
X-MAF |
0.99 |
0.95 |
0.89 |
0.98 |
1.02 |
1.01 |
0.93 |
0.97 |
0.94 |
0.98 |
|
X-Level |
0.95 |
0.98 |
0.91 |
1.04 |
1.01 |
1.01 |
0.94 |
0.92 |
0.95 |
0.98 |
|
X-MARX-Level |
0.88 |
0.83 |
0.84 |
1.00 |
1.03 |
1.01 |
0.93 |
0.94 |
0.94 |
0.97 |
|
Boosted Trees |
F |
0.97 |
1.00 |
0.98 |
1.00 |
1.02 |
0.99 |
0.96 |
1.01 |
0.94 |
0.96 |
F-X |
0.97 |
0.96 |
0.94 |
0.99 |
1.06 |
1.00 |
0.96 |
0.99 |
0.98 |
0.98 |
|
F-MARX |
0.91 |
0.87 |
0.86 |
0.99 |
1.04 |
1.01 |
0.97 |
1.00 |
0.98 |
0.98 |
|
F-MAF |
0.97 |
1.01 |
0.95 |
1.04 |
1.06 |
1.01 |
0.97 |
0.99 |
0.95 |
0.96 |
|
F-Level |
0.93 |
0.95 |
0.99 |
1.13 |
1.08 |
1.02 |
0.98 |
0.95 |
1.01 |
1.00 |
|
F-X-MARX |
0.91 |
0.90 |
0.89 |
0.99 |
1.05 |
0.97 |
0.99 |
1.00 |
0.98 |
0.99 |
|
F-X-MAF |
1.00 |
0.99 |
0.92 |
1.02 |
1.03 |
0.99 |
0.98 |
1.00 |
0.96 |
0.97 |
|
F-X-Level |
0.94 |
1.00 |
0.92 |
1.04 |
1.07 |
1.01 |
0.98 |
0.97 |
0.99 |
0.99 |
|
F-X-MARX-Level |
0.92 |
0.92 |
0.89 |
0.99 |
1.05 |
0.99 |
1.00 |
0.96 |
0.96 |
0.99 |
|
X |
0.97 |
1.03 |
0.94 |
1.01 |
1.05 |
1.03 |
0.97 |
1.00 |
0.96 |
0.99 |
|
MARX |
0.89 |
0.89 |
0.87 |
0.98 |
1.09 |
0.98 |
0.98 |
1.03 |
0.99 |
0.97 |
|
MAF |
1.04 |
1.01 |
0.98 |
1.04 |
1.05 |
1.01 |
0.97 |
1.00 |
0.97 |
0.96 |
|
X-MARX |
0.92 |
0.89 |
0.90 |
1.00 |
1.05 |
1.01 |
0.99 |
0.98 |
0.97 |
0.99 |
|
X-MAF |
1.00 |
1.04 |
0.94 |
1.03 |
1.02 |
1.03 |
0.99 |
1.00 |
0.98 |
0.99 |
|
X-Level |
0.94 |
1.04 |
0.94 |
1.04 |
1.07 |
1.04 |
1.01 |
0.96 |
0.96 |
1.01 |
|
X-MARX-Level |
0.89 |
0.90 |
0.88 |
0.98 |
1.07 |
0.99 |
0.98 |
0.94 |
0.97 |
0.99 |
Horizon 6 (path-average)#
Horizon 6, path-average (SGR) — FM absolute RMSE (denominator): INDPRO 0.004, EMP 0.001, UNRATE 0.077, INCOME 0.002, CONS 0.002, RETAIL 0.004, HOUST 0.024, M2 0.002, CPI 0.002, PPI 0.004
Model |
Set |
INDPRO |
EMP |
UNRATE |
INCOME |
CONS |
RETAIL |
HOUST |
M2 |
CPI |
PPI |
|---|---|---|---|---|---|---|---|---|---|---|---|
AR |
— |
0.93 |
0.93 |
0.95 |
0.97 |
1.01 |
0.95 |
1.02 |
0.99 |
0.97 |
0.97 |
Adaptive Lasso |
F |
0.86 |
0.87 |
0.90 |
0.95 |
1.00 |
1.03 |
0.90 |
0.95 |
0.93 |
0.94 |
F-X |
0.96 |
0.94 |
0.93 |
1.01 |
1.14 |
1.10 |
0.89 |
0.91 |
0.93 |
0.97 |
|
F-MARX |
0.87 |
0.87 |
0.84 |
0.96 |
1.03 |
1.00 |
0.90 |
0.95 |
0.96 |
0.92 |
|
F-MAF |
0.91 |
0.89 |
0.87 |
0.96 |
0.98 |
1.02 |
0.90 |
0.94 |
0.96 |
0.97 |
|
F-Level |
0.84 |
0.86 |
0.89 |
0.99 |
0.94 |
1.00 |
0.92 |
0.93 |
1.20 |
1.02 |
|
F-X-MARX |
1.02 |
0.91 |
0.89 |
0.95 |
1.05 |
1.00 |
0.90 |
0.91 |
0.97 |
0.91 |
|
F-X-MAF |
0.95 |
0.92 |
0.89 |
0.97 |
1.03 |
1.08 |
0.89 |
0.90 |
0.94 |
0.94 |
|
F-X-Level |
0.94 |
0.92 |
0.94 |
1.00 |
1.04 |
1.12 |
0.90 |
0.87 |
0.98 |
0.95 |
|
F-X-MARX-Level |
1.01 |
0.90 |
0.89 |
0.97 |
1.03 |
1.04 |
0.90 |
0.88 |
0.98 |
0.91 |
|
X |
0.96 |
0.94 |
0.93 |
1.02 |
1.10 |
1.00 |
0.90 |
0.92 |
0.96 |
0.97 |
|
MARX |
0.89 |
0.88 |
0.84 |
0.95 |
1.04 |
1.00 |
0.90 |
0.94 |
0.96 |
0.91 |
|
MAF |
0.96 |
0.91 |
0.89 |
0.98 |
1.10 |
1.01 |
0.90 |
0.95 |
0.98 |
0.98 |
|
X-MARX |
1.06 |
0.90 |
0.89 |
1.00 |
1.05 |
1.01 |
0.91 |
0.91 |
0.95 |
0.90 |
|
X-MAF |
1.10 |
0.93 |
0.89 |
0.99 |
1.05 |
1.07 |
0.91 |
0.90 |
0.95 |
0.94 |
|
X-Level |
0.95 |
0.93 |
0.94 |
1.01 |
1.04 |
1.03 |
0.91 |
0.87 |
0.99 |
0.95 |
|
X-MARX-Level |
1.03 |
0.90 |
0.89 |
0.97 |
1.04 |
1.02 |
0.91 |
0.88 |
0.98 |
0.91 |
|
Elastic Net |
F |
0.88 |
0.87 |
0.89 |
0.97 |
0.99 |
1.03 |
0.97 |
0.94 |
0.92 |
0.94 |
F-X |
0.95 |
0.93 |
0.92 |
1.02 |
0.99 |
0.98 |
0.92 |
0.93 |
0.94 |
0.94 |
|
F-MARX |
0.86 |
0.86 |
0.82 |
0.96 |
1.02 |
1.00 |
0.96 |
0.95 |
0.96 |
0.92 |
|
F-MAF |
0.90 |
0.88 |
0.86 |
0.96 |
0.98 |
1.02 |
0.99 |
0.94 |
0.96 |
0.97 |
|
F-Level |
0.83 |
0.83 |
0.85 |
1.00 |
0.94 |
0.98 |
0.99 |
0.95 |
1.09 |
1.03 |
|
F-X-MARX |
1.01 |
0.91 |
0.84 |
0.98 |
1.02 |
1.01 |
0.94 |
0.91 |
0.94 |
0.90 |
|
F-X-MAF |
0.96 |
0.92 |
0.88 |
1.01 |
1.01 |
1.11 |
0.92 |
0.91 |
0.93 |
0.95 |
|
F-X-Level |
0.94 |
0.90 |
0.92 |
1.02 |
0.97 |
0.98 |
0.92 |
0.90 |
0.98 |
0.96 |
|
F-X-MARX-Level |
1.00 |
0.89 |
0.84 |
0.98 |
0.98 |
1.00 |
0.94 |
0.89 |
1.00 |
0.90 |
|
X |
0.96 |
0.93 |
0.92 |
1.01 |
1.00 |
0.98 |
0.93 |
0.91 |
0.94 |
0.95 |
|
MARX |
0.86 |
0.88 |
0.82 |
0.95 |
0.99 |
0.99 |
0.96 |
0.94 |
0.95 |
0.91 |
|
MAF |
0.94 |
0.90 |
0.87 |
0.98 |
1.02 |
1.00 |
1.04 |
0.95 |
0.98 |
0.98 |
|
X-MARX |
1.06 |
0.90 |
0.84 |
0.98 |
1.01 |
1.00 |
0.95 |
0.91 |
0.94 |
0.90 |
|
X-MAF |
0.96 |
0.92 |
0.88 |
0.97 |
1.03 |
0.98 |
0.94 |
0.92 |
0.93 |
0.94 |
|
X-Level |
0.94 |
0.91 |
0.92 |
0.99 |
0.98 |
0.97 |
0.93 |
0.88 |
0.99 |
0.97 |
|
X-MARX-Level |
1.01 |
0.89 |
0.84 |
0.99 |
1.03 |
1.04 |
0.96 |
0.88 |
0.98 |
0.91 |
|
Linear Boosting |
F |
0.87 |
0.93 |
0.88 |
0.97 |
0.98 |
1.01 |
0.99 |
1.18 |
1.10 |
0.99 |
F-X |
0.99 |
0.98 |
0.92 |
1.00 |
1.07 |
1.02 |
0.94 |
1.04 |
1.03 |
0.97 |
|
F-MARX |
0.85 |
1.00 |
0.84 |
0.99 |
0.98 |
1.03 |
0.98 |
1.13 |
1.07 |
0.95 |
|
F-MAF |
0.89 |
0.87 |
0.84 |
0.97 |
0.97 |
0.98 |
1.00 |
0.95 |
0.96 |
0.97 |
|
F-Level |
0.83 |
0.84 |
0.85 |
0.98 |
0.98 |
1.00 |
1.00 |
0.97 |
1.01 |
0.97 |
|
F-X-MARX |
0.90 |
1.02 |
0.84 |
1.02 |
1.02 |
1.16 |
0.98 |
1.10 |
1.11 |
0.96 |
|
F-X-MAF |
1.16 |
0.93 |
0.86 |
0.99 |
1.05 |
1.00 |
0.96 |
0.93 |
0.96 |
0.97 |
|
F-X-Level |
0.93 |
0.93 |
0.90 |
0.99 |
1.10 |
0.99 |
0.96 |
0.98 |
0.98 |
0.94 |
|
F-X-MARX-Level |
0.89 |
0.92 |
0.82 |
0.98 |
1.03 |
1.04 |
1.00 |
1.00 |
1.01 |
0.96 |
|
X |
0.96 |
1.06 |
0.92 |
1.03 |
1.12 |
1.02 |
0.95 |
1.05 |
1.08 |
0.96 |
|
MARX |
0.86 |
1.04 |
0.83 |
1.00 |
1.01 |
1.00 |
1.01 |
1.10 |
1.13 |
0.98 |
|
MAF |
0.95 |
0.91 |
0.89 |
0.96 |
1.00 |
0.97 |
0.99 |
0.97 |
1.03 |
0.98 |
|
X-MARX |
0.93 |
1.06 |
0.84 |
1.00 |
1.06 |
1.11 |
1.02 |
1.11 |
1.05 |
0.99 |
|
X-MAF |
0.95 |
0.93 |
0.88 |
0.97 |
1.16 |
1.01 |
0.94 |
0.91 |
0.97 |
1.01 |
|
X-Level |
0.94 |
0.96 |
0.93 |
1.00 |
1.07 |
1.02 |
0.94 |
0.98 |
0.95 |
0.96 |
|
X-MARX-Level |
0.88 |
0.93 |
0.84 |
1.09 |
1.13 |
0.98 |
0.99 |
1.01 |
0.98 |
1.05 |
|
Random Forest |
F |
0.88 |
0.90 |
0.87 |
0.90 |
0.93 |
0.95 |
0.92 |
0.91 |
0.84 |
0.90 |
F-X |
0.94 |
0.93 |
0.89 |
0.92 |
0.92 |
0.96 |
0.89 |
0.92 |
0.85 |
0.91 |
|
F-MARX |
0.84 |
0.81 |
0.80 |
0.89 |
0.92 |
0.92 |
0.90 |
0.93 |
0.89 |
0.96 |
|
F-MAF |
0.93 |
0.87 |
0.87 |
0.89 |
0.89 |
0.94 |
0.89 |
0.94 |
0.88 |
0.93 |
|
F-Level |
0.89 |
0.93 |
0.93 |
1.09 |
0.89 |
1.00 |
0.93 |
0.86 |
0.88 |
0.97 |
|
F-X-MARX |
0.85 |
0.83 |
0.82 |
0.88 |
0.93 |
0.95 |
0.87 |
0.93 |
0.90 |
0.95 |
|
F-X-MAF |
0.93 |
0.90 |
0.88 |
0.90 |
0.90 |
0.96 |
0.88 |
0.93 |
0.86 |
0.93 |
|
F-X-Level |
0.90 |
0.93 |
0.89 |
0.96 |
0.92 |
0.97 |
0.89 |
0.86 |
0.86 |
0.94 |
|
F-X-MARX-Level |
0.84 |
0.82 |
0.82 |
0.90 |
0.92 |
0.95 |
0.89 |
0.90 |
0.89 |
0.96 |
|
X |
0.94 |
0.94 |
0.90 |
0.92 |
0.93 |
0.95 |
0.90 |
0.92 |
0.84 |
0.91 |
|
MARX |
0.83 |
0.81 |
0.81 |
0.89 |
0.94 |
0.93 |
0.89 |
0.93 |
0.90 |
0.97 |
|
MAF |
0.96 |
0.89 |
0.90 |
0.91 |
0.91 |
0.95 |
0.90 |
0.94 |
0.89 |
0.93 |
|
X-MARX |
0.85 |
0.82 |
0.82 |
0.88 |
0.94 |
0.94 |
0.88 |
0.92 |
0.90 |
0.95 |
|
X-MAF |
0.94 |
0.90 |
0.88 |
0.90 |
0.92 |
0.96 |
0.88 |
0.92 |
0.86 |
0.93 |
|
X-Level |
0.92 |
0.93 |
0.90 |
0.98 |
0.91 |
0.98 |
0.90 |
0.86 |
0.86 |
0.94 |
|
X-MARX-Level |
0.85 |
0.82 |
0.82 |
0.91 |
0.94 |
0.94 |
0.89 |
0.89 |
0.89 |
0.96 |
|
Boosted Trees |
F |
0.89 |
0.92 |
0.96 |
0.96 |
0.96 |
0.93 |
0.93 |
0.96 |
0.88 |
0.91 |
F-X |
0.92 |
0.94 |
0.95 |
0.92 |
0.97 |
0.95 |
0.97 |
0.98 |
0.90 |
0.92 |
|
F-MARX |
0.87 |
0.81 |
0.85 |
0.92 |
0.99 |
0.95 |
0.96 |
0.99 |
0.95 |
0.97 |
|
F-MAF |
0.88 |
0.91 |
0.92 |
1.00 |
0.98 |
0.96 |
0.92 |
0.95 |
0.90 |
0.91 |
|
F-Level |
0.88 |
0.92 |
0.99 |
1.14 |
1.01 |
0.99 |
0.96 |
0.90 |
0.98 |
0.97 |
|
F-X-MARX |
0.84 |
0.86 |
0.86 |
0.91 |
0.96 |
0.93 |
0.96 |
0.98 |
0.93 |
0.97 |
|
F-X-MAF |
0.92 |
0.92 |
0.92 |
0.96 |
0.93 |
0.95 |
0.96 |
0.96 |
0.89 |
0.91 |
|
F-X-Level |
0.91 |
0.95 |
0.91 |
1.00 |
0.99 |
0.99 |
0.97 |
0.93 |
0.93 |
0.94 |
|
F-X-MARX-Level |
0.87 |
0.86 |
0.88 |
0.93 |
1.00 |
0.95 |
0.99 |
0.92 |
0.93 |
0.98 |
|
X |
0.92 |
0.97 |
0.94 |
0.98 |
0.95 |
0.97 |
0.95 |
0.97 |
0.89 |
0.91 |
|
MARX |
0.85 |
0.84 |
0.86 |
0.93 |
1.03 |
0.94 |
0.96 |
1.01 |
0.95 |
0.97 |
|
MAF |
0.99 |
0.90 |
0.95 |
0.96 |
0.98 |
0.96 |
0.94 |
0.97 |
0.92 |
0.91 |
|
X-MARX |
0.86 |
0.85 |
0.87 |
0.91 |
0.97 |
0.98 |
0.95 |
0.97 |
0.94 |
0.96 |
|
X-MAF |
0.94 |
0.95 |
0.95 |
0.97 |
0.92 |
0.97 |
0.97 |
0.98 |
0.91 |
0.93 |
|
X-Level |
0.90 |
0.96 |
0.95 |
0.99 |
0.98 |
1.00 |
1.02 |
0.91 |
0.88 |
0.97 |
|
X-MARX-Level |
0.86 |
0.84 |
0.85 |
0.93 |
1.00 |
0.93 |
0.97 |
0.94 |
0.92 |
0.97 |
Horizon 9 (path-average)#
Horizon 9, path-average (SGR) — FM absolute RMSE (denominator): INDPRO 0.004, EMP 0.001, UNRATE 0.076, INCOME 0.002, CONS 0.002, RETAIL 0.004, HOUST 0.021, M2 0.002, CPI 0.002, PPI 0.003
Model |
Set |
INDPRO |
EMP |
UNRATE |
INCOME |
CONS |
RETAIL |
HOUST |
M2 |
CPI |
PPI |
|---|---|---|---|---|---|---|---|---|---|---|---|
AR |
— |
0.95 |
0.89 |
0.95 |
0.95 |
1.02 |
0.97 |
1.06 |
1.01 |
1.04 |
0.97 |
Adaptive Lasso |
F |
0.86 |
0.85 |
0.89 |
0.92 |
0.96 |
1.04 |
0.90 |
0.94 |
0.99 |
0.95 |
F-X |
0.96 |
0.92 |
0.93 |
0.98 |
1.13 |
1.16 |
0.90 |
0.89 |
0.96 |
0.95 |
|
F-MARX |
0.88 |
0.86 |
0.85 |
0.94 |
0.99 |
1.00 |
0.91 |
0.94 |
1.04 |
0.94 |
|
F-MAF |
0.91 |
0.88 |
0.87 |
0.94 |
0.96 |
1.01 |
0.90 |
0.93 |
1.01 |
0.95 |
|
F-Level |
0.86 |
0.83 |
0.89 |
0.99 |
0.90 |
1.01 |
0.95 |
0.94 |
1.31 |
1.03 |
|
F-X-MARX |
0.99 |
0.90 |
0.88 |
0.92 |
1.03 |
1.00 |
0.92 |
0.88 |
1.03 |
0.90 |
|
F-X-MAF |
0.96 |
0.91 |
0.90 |
0.98 |
0.99 |
1.11 |
0.89 |
0.88 |
0.96 |
0.93 |
|
F-X-Level |
0.94 |
0.90 |
0.93 |
0.97 |
1.01 |
1.20 |
0.91 |
0.84 |
1.05 |
0.95 |
|
F-X-MARX-Level |
0.98 |
0.88 |
0.88 |
0.94 |
1.00 |
1.04 |
0.92 |
0.85 |
1.05 |
0.91 |
|
X |
0.97 |
0.92 |
0.92 |
1.00 |
1.09 |
1.00 |
0.90 |
0.89 |
1.01 |
0.96 |
|
MARX |
0.90 |
0.88 |
0.84 |
0.92 |
1.03 |
1.01 |
0.93 |
0.93 |
1.03 |
0.98 |
|
MAF |
0.95 |
0.89 |
0.89 |
0.99 |
1.08 |
1.00 |
0.90 |
0.93 |
1.02 |
0.96 |
|
X-MARX |
1.03 |
0.90 |
0.88 |
0.98 |
1.01 |
1.00 |
0.93 |
0.89 |
0.98 |
0.89 |
|
X-MAF |
1.07 |
0.92 |
0.89 |
0.99 |
1.02 |
1.10 |
0.91 |
0.88 |
0.98 |
0.92 |
|
X-Level |
0.95 |
0.91 |
0.93 |
0.98 |
1.01 |
1.04 |
0.92 |
0.84 |
1.05 |
0.95 |
|
X-MARX-Level |
1.00 |
0.88 |
0.88 |
0.94 |
1.02 |
1.01 |
0.93 |
0.85 |
1.05 |
0.91 |
|
Elastic Net |
F |
0.87 |
0.86 |
0.88 |
0.95 |
0.95 |
1.04 |
1.02 |
0.94 |
0.99 |
0.94 |
F-X |
0.96 |
0.92 |
0.91 |
1.00 |
0.96 |
0.98 |
0.94 |
0.90 |
0.98 |
0.93 |
|
F-MARX |
0.88 |
0.85 |
0.83 |
0.94 |
1.00 |
1.00 |
1.01 |
0.94 |
1.03 |
0.95 |
|
F-MAF |
0.89 |
0.87 |
0.86 |
0.94 |
0.95 |
1.01 |
1.08 |
0.93 |
1.01 |
0.96 |
|
F-Level |
0.85 |
0.83 |
0.84 |
1.00 |
0.90 |
0.98 |
1.06 |
0.95 |
1.18 |
1.05 |
|
F-X-MARX |
0.99 |
0.89 |
0.84 |
0.96 |
1.00 |
1.01 |
0.98 |
0.89 |
0.98 |
0.89 |
|
F-X-MAF |
0.96 |
0.91 |
0.88 |
1.00 |
0.98 |
1.19 |
0.94 |
0.89 |
0.95 |
0.93 |
|
F-X-Level |
0.95 |
0.89 |
0.91 |
1.01 |
0.94 |
0.97 |
0.93 |
0.87 |
1.04 |
0.96 |
|
F-X-MARX-Level |
0.97 |
0.87 |
0.84 |
0.96 |
0.95 |
0.98 |
0.98 |
0.86 |
1.05 |
0.90 |
|
X |
0.97 |
0.92 |
0.91 |
0.99 |
0.98 |
0.97 |
0.95 |
0.89 |
0.98 |
0.94 |
|
MARX |
0.88 |
0.88 |
0.83 |
0.92 |
0.96 |
1.00 |
1.03 |
0.93 |
1.02 |
0.96 |
|
MAF |
0.93 |
0.88 |
0.87 |
0.97 |
1.00 |
0.99 |
1.17 |
0.93 |
1.03 |
0.96 |
|
X-MARX |
1.02 |
0.89 |
0.84 |
0.96 |
0.98 |
0.99 |
0.99 |
0.89 |
0.98 |
0.88 |
|
X-MAF |
0.96 |
0.91 |
0.88 |
0.96 |
0.99 |
0.97 |
0.96 |
0.90 |
0.97 |
0.92 |
|
X-Level |
0.95 |
0.89 |
0.91 |
0.98 |
0.95 |
0.96 |
0.95 |
0.85 |
1.05 |
0.96 |
|
X-MARX-Level |
0.98 |
0.87 |
0.84 |
0.96 |
1.00 |
1.05 |
0.99 |
0.85 |
1.04 |
0.90 |
|
Linear Boosting |
F |
0.86 |
0.89 |
0.87 |
0.95 |
0.94 |
1.01 |
1.04 |
1.17 |
1.24 |
1.00 |
F-X |
1.00 |
0.94 |
0.90 |
0.99 |
1.03 |
1.02 |
0.96 |
1.03 |
1.11 |
0.97 |
|
F-MARX |
0.87 |
0.94 |
0.82 |
0.95 |
0.93 |
1.03 |
1.03 |
1.13 |
1.19 |
1.00 |
|
F-MAF |
0.89 |
0.88 |
0.86 |
0.96 |
0.93 |
0.97 |
1.08 |
0.93 |
1.02 |
0.97 |
|
F-Level |
0.85 |
0.81 |
0.84 |
0.97 |
0.93 |
1.00 |
1.04 |
0.98 |
1.12 |
0.99 |
|
F-X-MARX |
0.91 |
0.96 |
0.83 |
0.98 |
0.97 |
1.23 |
1.03 |
1.10 |
1.25 |
0.99 |
|
F-X-MAF |
1.13 |
0.91 |
0.86 |
0.96 |
1.01 |
0.98 |
0.98 |
0.91 |
1.02 |
0.97 |
|
F-X-Level |
0.92 |
0.90 |
0.89 |
0.98 |
1.07 |
0.98 |
1.00 |
0.96 |
1.03 |
0.94 |
|
F-X-MARX-Level |
0.89 |
0.89 |
0.81 |
0.95 |
1.00 |
1.05 |
1.05 |
0.99 |
1.07 |
0.99 |
|
X |
0.95 |
0.99 |
0.90 |
1.00 |
1.09 |
1.02 |
0.97 |
1.02 |
1.18 |
0.97 |
|
MARX |
0.87 |
0.97 |
0.82 |
0.98 |
0.97 |
0.99 |
1.08 |
1.09 |
1.29 |
1.06 |
|
MAF |
0.95 |
0.91 |
0.89 |
0.96 |
0.96 |
0.95 |
1.09 |
0.95 |
1.09 |
0.96 |
|
X-MARX |
0.93 |
0.99 |
0.82 |
0.99 |
1.03 |
1.13 |
1.09 |
1.09 |
1.17 |
1.02 |
|
X-MAF |
0.95 |
0.91 |
0.88 |
0.95 |
1.13 |
1.01 |
0.97 |
0.89 |
1.03 |
1.01 |
|
X-Level |
0.94 |
0.91 |
0.90 |
0.99 |
1.03 |
1.00 |
0.96 |
0.97 |
1.03 |
0.95 |
|
X-MARX-Level |
0.88 |
0.89 |
0.83 |
1.08 |
1.10 |
0.97 |
1.05 |
1.00 |
1.05 |
1.07 |
|
Random Forest |
F |
0.87 |
0.86 |
0.87 |
0.87 |
0.89 |
0.92 |
0.91 |
0.89 |
0.85 |
0.87 |
F-X |
0.93 |
0.90 |
0.89 |
0.89 |
0.88 |
0.93 |
0.86 |
0.89 |
0.87 |
0.89 |
|
F-MARX |
0.85 |
0.79 |
0.82 |
0.82 |
0.86 |
0.91 |
0.86 |
0.92 |
0.94 |
0.96 |
|
F-MAF |
0.93 |
0.84 |
0.88 |
0.86 |
0.84 |
0.91 |
0.85 |
0.91 |
0.91 |
0.92 |
|
F-Level |
0.92 |
0.92 |
0.95 |
1.10 |
0.85 |
0.97 |
0.92 |
0.82 |
0.92 |
0.98 |
|
F-X-MARX |
0.86 |
0.81 |
0.83 |
0.83 |
0.87 |
0.93 |
0.84 |
0.91 |
0.94 |
0.95 |
|
F-X-MAF |
0.93 |
0.87 |
0.88 |
0.87 |
0.86 |
0.94 |
0.84 |
0.90 |
0.89 |
0.92 |
|
F-X-Level |
0.90 |
0.90 |
0.89 |
0.94 |
0.86 |
0.94 |
0.85 |
0.83 |
0.89 |
0.93 |
|
F-X-MARX-Level |
0.85 |
0.80 |
0.83 |
0.86 |
0.86 |
0.92 |
0.86 |
0.87 |
0.93 |
0.96 |
|
X |
0.93 |
0.90 |
0.90 |
0.89 |
0.88 |
0.92 |
0.86 |
0.88 |
0.86 |
0.89 |
|
MARX |
0.84 |
0.79 |
0.83 |
0.83 |
0.88 |
0.91 |
0.87 |
0.92 |
0.95 |
0.97 |
|
MAF |
0.96 |
0.85 |
0.91 |
0.88 |
0.84 |
0.93 |
0.87 |
0.91 |
0.91 |
0.91 |
|
X-MARX |
0.86 |
0.80 |
0.83 |
0.83 |
0.88 |
0.92 |
0.85 |
0.90 |
0.94 |
0.95 |
|
X-MAF |
0.93 |
0.87 |
0.89 |
0.87 |
0.87 |
0.94 |
0.85 |
0.90 |
0.88 |
0.91 |
|
X-Level |
0.92 |
0.90 |
0.90 |
0.95 |
0.87 |
0.95 |
0.87 |
0.82 |
0.89 |
0.93 |
|
X-MARX-Level |
0.86 |
0.80 |
0.84 |
0.86 |
0.88 |
0.91 |
0.86 |
0.87 |
0.93 |
0.96 |
|
Boosted Trees |
F |
0.88 |
0.87 |
0.96 |
0.93 |
0.92 |
0.89 |
0.92 |
0.96 |
0.92 |
0.89 |
F-X |
0.92 |
0.88 |
0.94 |
0.91 |
0.93 |
0.92 |
0.95 |
0.95 |
0.93 |
0.91 |
|
F-MARX |
0.87 |
0.77 |
0.85 |
0.86 |
0.95 |
0.96 |
0.97 |
0.99 |
1.02 |
0.97 |
|
F-MAF |
0.88 |
0.86 |
0.92 |
0.97 |
0.92 |
0.92 |
0.91 |
0.95 |
0.95 |
0.89 |
|
F-Level |
0.90 |
0.89 |
0.99 |
1.16 |
0.98 |
0.96 |
0.94 |
0.84 |
1.04 |
0.97 |
|
F-X-MARX |
0.84 |
0.84 |
0.85 |
0.86 |
0.92 |
0.90 |
0.95 |
0.98 |
0.99 |
0.97 |
|
F-X-MAF |
0.91 |
0.87 |
0.91 |
0.95 |
0.90 |
0.92 |
0.94 |
0.95 |
0.93 |
0.89 |
|
F-X-Level |
0.90 |
0.91 |
0.91 |
1.00 |
0.94 |
0.96 |
0.95 |
0.90 |
0.98 |
0.92 |
|
F-X-MARX-Level |
0.85 |
0.83 |
0.87 |
0.89 |
0.96 |
0.94 |
0.98 |
0.91 |
0.99 |
0.96 |
|
X |
0.93 |
0.91 |
0.93 |
0.98 |
0.93 |
0.94 |
0.94 |
0.94 |
0.93 |
0.90 |
|
MARX |
0.86 |
0.81 |
0.86 |
0.87 |
0.99 |
0.95 |
0.96 |
1.02 |
1.01 |
0.97 |
|
MAF |
1.00 |
0.83 |
0.95 |
0.95 |
0.93 |
0.93 |
0.91 |
0.96 |
0.97 |
0.89 |
|
X-MARX |
0.85 |
0.82 |
0.87 |
0.89 |
0.93 |
0.95 |
0.94 |
0.96 |
0.99 |
0.95 |
|
X-MAF |
0.95 |
0.91 |
0.93 |
0.97 |
0.87 |
0.93 |
0.96 |
0.96 |
0.95 |
0.91 |
|
X-Level |
0.90 |
0.91 |
0.93 |
1.00 |
0.93 |
0.97 |
1.01 |
0.88 |
0.92 |
0.95 |
|
X-MARX-Level |
0.85 |
0.82 |
0.86 |
0.89 |
0.97 |
0.91 |
0.96 |
0.92 |
0.99 |
0.97 |
Horizon 12 (path-average)#
Horizon 12, path-average (SGR) — FM absolute RMSE (denominator): INDPRO 0.003, EMP 0.001, UNRATE 0.077, INCOME 0.002, CONS 0.002, RETAIL 0.003, HOUST 0.019, M2 0.002, CPI 0.001, PPI 0.003
Model |
Set |
INDPRO |
EMP |
UNRATE |
INCOME |
CONS |
RETAIL |
HOUST |
M2 |
CPI |
PPI |
|---|---|---|---|---|---|---|---|---|---|---|---|
AR |
— |
0.97 |
0.88 |
0.94 |
0.90 |
1.00 |
0.98 |
1.15 |
1.02 |
1.09 |
1.03 |
Adaptive Lasso |
F |
0.87 |
0.84 |
0.86 |
0.89 |
0.91 |
1.03 |
0.90 |
0.95 |
1.03 |
0.98 |
F-X |
0.96 |
0.89 |
0.90 |
0.94 |
1.04 |
1.17 |
0.92 |
0.89 |
0.98 |
0.98 |
|
F-MARX |
0.90 |
0.86 |
0.84 |
0.90 |
0.96 |
0.99 |
0.93 |
0.94 |
1.08 |
1.02 |
|
F-MAF |
0.92 |
0.87 |
0.86 |
0.91 |
0.91 |
1.01 |
0.91 |
0.93 |
1.03 |
0.99 |
|
F-Level |
0.89 |
0.81 |
0.88 |
0.97 |
0.86 |
1.00 |
0.98 |
0.96 |
1.33 |
1.06 |
|
F-X-MARX |
0.99 |
0.89 |
0.86 |
0.89 |
0.99 |
0.99 |
0.95 |
0.87 |
1.06 |
0.96 |
|
F-X-MAF |
0.96 |
0.89 |
0.88 |
0.96 |
0.96 |
1.11 |
0.91 |
0.88 |
0.99 |
0.95 |
|
F-X-Level |
0.94 |
0.88 |
0.90 |
0.95 |
0.96 |
1.20 |
0.93 |
0.85 |
1.08 |
0.99 |
|
F-X-MARX-Level |
0.98 |
0.87 |
0.87 |
0.91 |
0.95 |
1.03 |
0.95 |
0.85 |
1.09 |
0.97 |
|
X |
0.97 |
0.90 |
0.90 |
0.96 |
1.04 |
0.99 |
0.92 |
0.89 |
1.03 |
0.98 |
|
MARX |
0.91 |
0.87 |
0.84 |
0.89 |
1.01 |
1.00 |
0.95 |
0.92 |
1.08 |
1.08 |
|
MAF |
0.96 |
0.87 |
0.86 |
0.94 |
1.05 |
0.99 |
0.89 |
0.93 |
1.04 |
1.00 |
|
X-MARX |
1.03 |
0.89 |
0.87 |
0.94 |
0.98 |
0.99 |
0.96 |
0.89 |
1.00 |
0.94 |
|
X-MAF |
1.07 |
0.90 |
0.88 |
0.94 |
0.98 |
1.09 |
0.93 |
0.88 |
1.01 |
0.95 |
|
X-Level |
0.95 |
0.88 |
0.91 |
0.97 |
0.96 |
1.02 |
0.94 |
0.85 |
1.08 |
0.99 |
|
X-MARX-Level |
1.00 |
0.87 |
0.86 |
0.91 |
0.99 |
1.00 |
0.96 |
0.85 |
1.09 |
0.97 |
|
Elastic Net |
F |
0.88 |
0.85 |
0.86 |
0.91 |
0.91 |
1.03 |
1.06 |
0.95 |
1.02 |
0.98 |
F-X |
0.96 |
0.90 |
0.88 |
0.95 |
0.93 |
0.97 |
0.97 |
0.90 |
1.01 |
0.96 |
|
F-MARX |
0.90 |
0.85 |
0.83 |
0.90 |
0.97 |
0.99 |
1.06 |
0.94 |
1.07 |
1.02 |
|
F-MAF |
0.91 |
0.87 |
0.84 |
0.91 |
0.90 |
1.00 |
1.12 |
0.93 |
1.03 |
1.00 |
|
F-Level |
0.89 |
0.81 |
0.84 |
0.99 |
0.86 |
0.98 |
1.15 |
0.96 |
1.20 |
1.09 |
|
F-X-MARX |
0.98 |
0.88 |
0.83 |
0.92 |
0.97 |
1.00 |
1.03 |
0.88 |
1.00 |
0.93 |
|
F-X-MAF |
0.96 |
0.89 |
0.86 |
0.95 |
0.95 |
1.20 |
0.97 |
0.89 |
0.98 |
0.95 |
|
F-X-Level |
0.94 |
0.87 |
0.88 |
0.96 |
0.91 |
0.96 |
0.96 |
0.87 |
1.08 |
0.99 |
|
F-X-MARX-Level |
0.97 |
0.86 |
0.82 |
0.92 |
0.91 |
0.98 |
1.03 |
0.85 |
1.09 |
0.95 |
|
X |
0.97 |
0.90 |
0.88 |
0.95 |
0.95 |
0.96 |
0.98 |
0.88 |
1.00 |
0.96 |
|
MARX |
0.90 |
0.87 |
0.83 |
0.89 |
0.93 |
0.99 |
1.09 |
0.92 |
1.08 |
1.06 |
|
MAF |
0.95 |
0.87 |
0.84 |
0.94 |
0.97 |
0.98 |
1.21 |
0.93 |
1.05 |
1.00 |
|
X-MARX |
1.02 |
0.88 |
0.83 |
0.92 |
0.95 |
0.98 |
1.05 |
0.89 |
1.00 |
0.93 |
|
X-MAF |
0.97 |
0.90 |
0.86 |
0.91 |
0.96 |
0.96 |
0.99 |
0.89 |
0.99 |
0.95 |
|
X-Level |
0.95 |
0.87 |
0.88 |
0.94 |
0.92 |
0.95 |
0.98 |
0.86 |
1.09 |
0.99 |
|
X-MARX-Level |
0.98 |
0.86 |
0.82 |
0.93 |
0.97 |
1.05 |
1.06 |
0.85 |
1.09 |
0.96 |
|
Linear Boosting |
F |
0.87 |
0.87 |
0.84 |
0.91 |
0.90 |
1.00 |
1.09 |
1.19 |
1.35 |
1.05 |
F-X |
0.98 |
0.90 |
0.86 |
0.95 |
1.01 |
1.01 |
0.99 |
1.03 |
1.19 |
1.01 |
|
F-MARX |
0.89 |
0.91 |
0.81 |
0.92 |
0.90 |
1.02 |
1.09 |
1.14 |
1.28 |
1.06 |
|
F-MAF |
0.91 |
0.88 |
0.84 |
0.93 |
0.88 |
0.96 |
1.13 |
0.93 |
1.06 |
1.00 |
|
F-Level |
0.87 |
0.80 |
0.82 |
0.96 |
0.89 |
1.00 |
1.10 |
1.01 |
1.19 |
1.05 |
|
F-X-MARX |
0.91 |
0.92 |
0.81 |
0.95 |
0.93 |
1.24 |
1.07 |
1.11 |
1.35 |
1.06 |
|
F-X-MAF |
1.12 |
0.89 |
0.84 |
0.93 |
0.97 |
0.98 |
1.01 |
0.90 |
1.07 |
1.00 |
|
F-X-Level |
0.92 |
0.87 |
0.85 |
0.94 |
1.03 |
0.97 |
1.03 |
0.98 |
1.10 |
0.98 |
|
F-X-MARX-Level |
0.90 |
0.86 |
0.80 |
0.93 |
0.95 |
1.03 |
1.09 |
1.00 |
1.14 |
1.05 |
|
X |
0.94 |
0.94 |
0.86 |
0.98 |
1.04 |
1.01 |
1.01 |
1.02 |
1.24 |
1.02 |
|
MARX |
0.89 |
0.92 |
0.82 |
0.94 |
0.93 |
0.98 |
1.15 |
1.11 |
1.38 |
1.13 |
|
MAF |
0.96 |
0.90 |
0.86 |
0.93 |
0.93 |
0.94 |
1.14 |
0.95 |
1.12 |
1.01 |
|
X-MARX |
0.93 |
0.94 |
0.81 |
0.94 |
0.98 |
1.11 |
1.14 |
1.10 |
1.26 |
1.08 |
|
X-MAF |
0.94 |
0.89 |
0.86 |
0.94 |
1.10 |
1.00 |
1.00 |
0.88 |
1.09 |
1.04 |
|
X-Level |
0.94 |
0.88 |
0.86 |
0.96 |
1.00 |
1.00 |
1.00 |
0.99 |
1.10 |
1.00 |
|
X-MARX-Level |
0.89 |
0.86 |
0.82 |
1.06 |
1.06 |
0.96 |
1.11 |
1.01 |
1.12 |
1.15 |
|
Random Forest |
F |
0.89 |
0.84 |
0.85 |
0.85 |
0.86 |
0.91 |
0.91 |
0.90 |
0.87 |
0.89 |
F-X |
0.94 |
0.87 |
0.87 |
0.88 |
0.84 |
0.94 |
0.87 |
0.89 |
0.88 |
0.92 |
|
F-MARX |
0.88 |
0.78 |
0.82 |
0.81 |
0.82 |
0.91 |
0.87 |
0.92 |
0.97 |
1.01 |
|
F-MAF |
0.96 |
0.81 |
0.87 |
0.84 |
0.80 |
0.91 |
0.85 |
0.92 |
0.92 |
0.95 |
|
F-Level |
0.95 |
0.90 |
0.94 |
1.10 |
0.81 |
0.97 |
0.93 |
0.81 |
0.97 |
1.05 |
|
F-X-MARX |
0.88 |
0.80 |
0.82 |
0.81 |
0.84 |
0.94 |
0.85 |
0.91 |
0.97 |
0.99 |
|
F-X-MAF |
0.95 |
0.84 |
0.86 |
0.85 |
0.83 |
0.94 |
0.85 |
0.89 |
0.90 |
0.95 |
|
F-X-Level |
0.92 |
0.87 |
0.88 |
0.92 |
0.83 |
0.95 |
0.86 |
0.83 |
0.94 |
0.98 |
|
F-X-MARX-Level |
0.87 |
0.79 |
0.83 |
0.84 |
0.83 |
0.93 |
0.88 |
0.87 |
0.98 |
1.02 |
|
X |
0.94 |
0.87 |
0.88 |
0.88 |
0.85 |
0.93 |
0.88 |
0.88 |
0.88 |
0.92 |
|
MARX |
0.87 |
0.78 |
0.82 |
0.82 |
0.84 |
0.91 |
0.89 |
0.93 |
0.99 |
1.02 |
|
MAF |
0.99 |
0.81 |
0.89 |
0.85 |
0.82 |
0.94 |
0.88 |
0.91 |
0.93 |
0.95 |
|
X-MARX |
0.88 |
0.79 |
0.82 |
0.82 |
0.85 |
0.92 |
0.86 |
0.91 |
0.96 |
0.99 |
|
X-MAF |
0.95 |
0.84 |
0.87 |
0.85 |
0.85 |
0.94 |
0.86 |
0.90 |
0.90 |
0.94 |
|
X-Level |
0.93 |
0.87 |
0.88 |
0.95 |
0.84 |
0.95 |
0.88 |
0.82 |
0.94 |
0.98 |
|
X-MARX-Level |
0.88 |
0.79 |
0.83 |
0.85 |
0.85 |
0.92 |
0.87 |
0.86 |
0.98 |
1.02 |
|
Boosted Trees |
F |
0.90 |
0.84 |
0.93 |
0.91 |
0.89 |
0.89 |
0.93 |
0.97 |
0.95 |
0.92 |
F-X |
0.94 |
0.85 |
0.92 |
0.88 |
0.89 |
0.91 |
0.97 |
0.96 |
0.97 |
0.94 |
|
F-MARX |
0.90 |
0.75 |
0.84 |
0.85 |
0.91 |
0.95 |
1.01 |
0.99 |
1.05 |
1.03 |
|
F-MAF |
0.89 |
0.82 |
0.88 |
0.94 |
0.89 |
0.91 |
0.92 |
0.95 |
0.98 |
0.91 |
|
F-Level |
0.93 |
0.88 |
0.94 |
1.16 |
0.96 |
0.96 |
0.96 |
0.84 |
1.13 |
1.03 |
|
F-X-MARX |
0.87 |
0.82 |
0.85 |
0.86 |
0.89 |
0.88 |
0.97 |
0.98 |
1.02 |
1.01 |
|
F-X-MAF |
0.92 |
0.84 |
0.88 |
0.93 |
0.87 |
0.91 |
0.95 |
0.96 |
0.96 |
0.92 |
|
F-X-Level |
0.91 |
0.87 |
0.89 |
0.99 |
0.93 |
0.94 |
0.96 |
0.90 |
1.03 |
0.96 |
|
F-X-MARX-Level |
0.87 |
0.82 |
0.85 |
0.91 |
0.94 |
0.92 |
1.01 |
0.92 |
1.03 |
1.02 |
|
X |
0.95 |
0.88 |
0.90 |
0.96 |
0.88 |
0.94 |
0.98 |
0.93 |
0.96 |
0.92 |
|
MARX |
0.89 |
0.79 |
0.85 |
0.86 |
0.94 |
0.93 |
1.00 |
1.02 |
1.06 |
1.03 |
|
MAF |
1.02 |
0.79 |
0.91 |
0.92 |
0.91 |
0.92 |
0.92 |
0.96 |
1.01 |
0.91 |
|
X-MARX |
0.87 |
0.81 |
0.86 |
0.88 |
0.90 |
0.94 |
0.96 |
0.97 |
1.03 |
1.00 |
|
X-MAF |
0.97 |
0.87 |
0.92 |
0.95 |
0.84 |
0.93 |
0.97 |
0.96 |
0.97 |
0.93 |
|
X-Level |
0.92 |
0.88 |
0.91 |
0.98 |
0.91 |
0.95 |
1.03 |
0.88 |
0.96 |
0.98 |
|
X-MARX-Level |
0.88 |
0.80 |
0.85 |
0.89 |
0.93 |
0.89 |
0.97 |
0.92 |
1.03 |
1.02 |
Horizon 24 (path-average)#
Horizon 24, path-average (SGR) — FM absolute RMSE (denominator): INDPRO 0.003, EMP 0.001, UNRATE 0.068, INCOME 0.002, CONS 0.002, RETAIL 0.003, HOUST 0.014, M2 0.002, CPI 0.002, PPI 0.003
Model |
Set |
INDPRO |
EMP |
UNRATE |
INCOME |
CONS |
RETAIL |
HOUST |
M2 |
CPI |
PPI |
|---|---|---|---|---|---|---|---|---|---|---|---|
AR |
— |
1.15 |
0.94 |
1.13 |
0.96 |
0.97 |
1.05 |
1.48 |
1.02 |
1.04 |
0.99 |
Adaptive Lasso |
F |
1.02 |
0.93 |
0.99 |
0.91 |
0.82 |
1.06 |
1.01 |
0.95 |
0.99 |
0.96 |
F-X |
1.02 |
0.94 |
1.01 |
0.93 |
0.96 |
1.18 |
1.05 |
0.89 |
0.91 |
0.94 |
|
F-MARX |
1.07 |
0.95 |
1.03 |
0.92 |
0.84 |
1.02 |
1.09 |
0.96 |
0.98 |
1.01 |
|
F-MAF |
1.04 |
0.96 |
1.00 |
0.92 |
0.79 |
1.02 |
1.04 |
0.95 |
0.97 |
0.92 |
|
F-Level |
1.03 |
0.90 |
1.02 |
1.07 |
0.82 |
1.00 |
1.07 |
1.03 |
1.30 |
1.08 |
|
F-X-MARX |
1.09 |
0.96 |
1.00 |
0.97 |
0.88 |
1.00 |
1.10 |
0.88 |
0.99 |
0.92 |
|
F-X-MAF |
1.04 |
0.95 |
1.02 |
1.03 |
0.84 |
1.13 |
1.05 |
0.89 |
0.92 |
0.90 |
|
F-X-Level |
1.00 |
0.93 |
1.03 |
0.98 |
0.88 |
1.27 |
1.04 |
0.92 |
1.03 |
0.95 |
|
F-X-MARX-Level |
1.09 |
0.94 |
1.01 |
0.95 |
0.84 |
1.04 |
1.09 |
0.92 |
1.04 |
0.94 |
|
X |
1.05 |
0.95 |
1.01 |
0.96 |
0.93 |
0.99 |
1.05 |
0.89 |
0.97 |
0.93 |
|
MARX |
1.10 |
0.98 |
1.02 |
0.92 |
0.89 |
1.03 |
1.12 |
0.95 |
0.98 |
1.04 |
|
MAF |
1.07 |
0.95 |
0.97 |
0.99 |
0.93 |
0.98 |
1.01 |
0.94 |
0.96 |
0.93 |
|
X-MARX |
1.14 |
0.97 |
1.01 |
0.95 |
0.86 |
0.98 |
1.12 |
0.89 |
0.92 |
0.90 |
|
X-MAF |
1.15 |
0.96 |
1.01 |
0.95 |
0.87 |
1.12 |
1.06 |
0.89 |
0.95 |
0.91 |
|
X-Level |
1.01 |
0.93 |
1.03 |
1.00 |
0.90 |
1.08 |
1.05 |
0.92 |
1.03 |
0.94 |
|
X-MARX-Level |
1.11 |
0.94 |
1.01 |
0.95 |
0.87 |
1.00 |
1.11 |
0.91 |
1.03 |
0.94 |
|
Elastic Net |
F |
0.99 |
0.93 |
0.99 |
0.93 |
0.80 |
1.06 |
1.27 |
0.94 |
0.99 |
0.94 |
F-X |
1.03 |
0.95 |
0.99 |
0.93 |
0.85 |
1.03 |
1.15 |
0.90 |
0.95 |
0.93 |
|
F-MARX |
1.09 |
0.96 |
1.01 |
0.93 |
0.86 |
1.01 |
1.31 |
0.96 |
0.97 |
1.00 |
|
F-MAF |
1.01 |
0.96 |
0.97 |
0.94 |
0.79 |
1.01 |
1.40 |
0.95 |
0.96 |
0.95 |
|
F-Level |
1.04 |
0.91 |
1.01 |
1.10 |
0.78 |
0.98 |
1.50 |
1.04 |
1.18 |
1.11 |
|
F-X-MARX |
1.09 |
0.95 |
0.98 |
0.93 |
0.88 |
1.01 |
1.25 |
0.88 |
0.93 |
0.90 |
|
F-X-MAF |
1.04 |
0.95 |
1.00 |
0.94 |
0.85 |
1.26 |
1.13 |
0.90 |
0.92 |
0.91 |
|
F-X-Level |
1.01 |
0.93 |
1.00 |
0.97 |
0.83 |
1.01 |
1.13 |
0.94 |
1.04 |
0.94 |
|
F-X-MARX-Level |
1.08 |
0.94 |
0.97 |
0.95 |
0.83 |
0.98 |
1.26 |
0.92 |
1.05 |
0.92 |
|
X |
1.04 |
0.95 |
0.99 |
0.94 |
0.88 |
1.03 |
1.15 |
0.89 |
0.94 |
0.92 |
|
MARX |
1.10 |
0.97 |
1.02 |
0.92 |
0.82 |
1.02 |
1.37 |
0.95 |
0.97 |
1.05 |
|
MAF |
1.05 |
0.95 |
0.95 |
0.99 |
0.84 |
0.97 |
1.55 |
0.95 |
0.96 |
0.94 |
|
X-MARX |
1.13 |
0.96 |
0.97 |
0.94 |
0.84 |
0.98 |
1.28 |
0.89 |
0.93 |
0.89 |
|
X-MAF |
1.05 |
0.95 |
1.00 |
0.94 |
0.88 |
0.96 |
1.16 |
0.90 |
0.92 |
0.91 |
|
X-Level |
1.01 |
0.93 |
1.00 |
1.00 |
0.85 |
0.94 |
1.15 |
0.93 |
1.05 |
0.95 |
|
X-MARX-Level |
1.08 |
0.94 |
0.97 |
0.95 |
0.86 |
1.07 |
1.29 |
0.92 |
1.04 |
0.92 |
|
Linear Boosting |
F |
1.01 |
0.95 |
0.99 |
0.91 |
0.80 |
1.01 |
1.36 |
1.16 |
1.34 |
1.02 |
F-X |
1.06 |
0.93 |
0.97 |
0.93 |
0.92 |
1.03 |
1.19 |
1.04 |
1.15 |
0.98 |
|
F-MARX |
1.10 |
0.95 |
1.00 |
0.94 |
0.80 |
1.06 |
1.36 |
1.16 |
1.19 |
1.06 |
|
F-MAF |
1.03 |
0.97 |
1.00 |
0.94 |
0.79 |
0.94 |
1.41 |
0.97 |
1.00 |
0.95 |
|
F-Level |
1.02 |
0.90 |
0.98 |
1.03 |
0.81 |
1.01 |
1.35 |
1.09 |
1.22 |
1.05 |
|
F-X-MARX |
1.05 |
0.94 |
0.97 |
0.95 |
0.83 |
1.27 |
1.32 |
1.11 |
1.25 |
1.04 |
|
F-X-MAF |
1.23 |
0.93 |
0.96 |
0.94 |
0.86 |
0.97 |
1.25 |
0.93 |
1.04 |
0.98 |
|
F-X-Level |
1.01 |
0.92 |
0.98 |
0.95 |
0.94 |
0.95 |
1.28 |
1.05 |
1.10 |
0.97 |
|
F-X-MARX-Level |
1.04 |
0.92 |
0.97 |
0.95 |
0.85 |
1.03 |
1.34 |
1.06 |
1.07 |
1.04 |
|
X |
1.01 |
0.93 |
0.95 |
0.97 |
0.94 |
0.98 |
1.22 |
1.04 |
1.20 |
1.00 |
|
MARX |
1.13 |
0.95 |
1.00 |
0.97 |
0.85 |
0.98 |
1.47 |
1.12 |
1.27 |
1.14 |
|
MAF |
1.06 |
0.97 |
0.98 |
0.97 |
0.80 |
0.92 |
1.43 |
0.98 |
1.06 |
0.95 |
|
X-MARX |
1.07 |
0.94 |
0.95 |
0.94 |
0.88 |
1.12 |
1.44 |
1.11 |
1.16 |
1.06 |
|
X-MAF |
1.02 |
0.93 |
0.95 |
0.98 |
0.98 |
0.97 |
1.21 |
0.91 |
1.06 |
0.99 |
|
X-Level |
1.00 |
0.89 |
0.94 |
0.95 |
0.95 |
0.97 |
1.21 |
1.07 |
1.12 |
0.97 |
|
X-MARX-Level |
1.06 |
0.91 |
0.96 |
1.09 |
0.95 |
0.95 |
1.38 |
1.08 |
1.06 |
1.14 |
|
Random Forest |
F |
1.03 |
0.90 |
1.03 |
0.89 |
0.78 |
0.91 |
1.00 |
0.86 |
0.81 |
0.81 |
F-X |
1.05 |
0.91 |
1.03 |
0.93 |
0.74 |
0.95 |
0.95 |
0.86 |
0.80 |
0.86 |
|
F-MARX |
1.10 |
0.89 |
1.07 |
0.91 |
0.75 |
0.96 |
1.08 |
0.89 |
0.88 |
0.97 |
|
F-MAF |
1.12 |
0.88 |
1.06 |
0.93 |
0.73 |
0.92 |
0.94 |
0.86 |
0.84 |
0.89 |
|
F-Level |
1.16 |
0.96 |
1.17 |
1.23 |
0.77 |
1.02 |
1.10 |
0.78 |
0.93 |
1.02 |
|
F-X-MARX |
1.07 |
0.89 |
1.04 |
0.89 |
0.75 |
0.95 |
1.01 |
0.89 |
0.87 |
0.94 |
|
F-X-MAF |
1.08 |
0.90 |
1.03 |
0.92 |
0.73 |
0.95 |
0.93 |
0.85 |
0.82 |
0.89 |
|
F-X-Level |
1.06 |
0.92 |
1.05 |
1.00 |
0.74 |
0.96 |
0.96 |
0.81 |
0.88 |
0.95 |
|
F-X-MARX-Level |
1.07 |
0.89 |
1.06 |
0.92 |
0.74 |
0.94 |
1.03 |
0.87 |
0.91 |
0.99 |
|
X |
1.03 |
0.91 |
1.02 |
0.94 |
0.75 |
0.93 |
0.96 |
0.85 |
0.80 |
0.85 |
|
MARX |
1.10 |
0.88 |
1.08 |
0.92 |
0.77 |
0.96 |
1.11 |
0.90 |
0.90 |
0.98 |
|
MAF |
1.14 |
0.87 |
1.07 |
0.95 |
0.73 |
0.95 |
0.97 |
0.84 |
0.84 |
0.89 |
|
X-MARX |
1.05 |
0.89 |
1.05 |
0.89 |
0.76 |
0.94 |
1.02 |
0.88 |
0.87 |
0.94 |
|
X-MAF |
1.07 |
0.90 |
1.03 |
0.92 |
0.74 |
0.94 |
0.94 |
0.85 |
0.82 |
0.88 |
|
X-Level |
1.07 |
0.91 |
1.04 |
1.02 |
0.75 |
0.97 |
1.00 |
0.81 |
0.88 |
0.95 |
|
X-MARX-Level |
1.08 |
0.89 |
1.06 |
0.93 |
0.76 |
0.94 |
1.03 |
0.86 |
0.91 |
1.00 |
|
Boosted Trees |
F |
1.03 |
0.89 |
1.07 |
0.90 |
0.78 |
0.85 |
1.00 |
0.94 |
0.92 |
0.87 |
F-X |
1.06 |
0.90 |
1.02 |
0.92 |
0.77 |
0.87 |
1.06 |
0.95 |
0.89 |
0.88 |
|
F-MARX |
1.09 |
0.86 |
1.04 |
0.91 |
0.83 |
0.95 |
1.13 |
0.97 |
0.96 |
0.98 |
|
F-MAF |
1.00 |
0.86 |
1.01 |
1.02 |
0.78 |
0.90 |
1.03 |
0.91 |
0.89 |
0.86 |
|
F-Level |
1.11 |
0.97 |
1.07 |
1.25 |
0.88 |
0.95 |
1.00 |
0.82 |
1.06 |
0.97 |
|
F-X-MARX |
1.09 |
0.92 |
1.01 |
0.97 |
0.79 |
0.87 |
1.10 |
0.95 |
0.92 |
0.94 |
|
F-X-MAF |
1.04 |
0.89 |
1.03 |
1.00 |
0.78 |
0.87 |
0.99 |
0.93 |
0.89 |
0.86 |
|
F-X-Level |
1.00 |
0.92 |
1.03 |
1.04 |
0.84 |
0.93 |
1.02 |
0.91 |
0.95 |
0.88 |
|
F-X-MARX-Level |
1.05 |
0.91 |
1.04 |
1.02 |
0.82 |
0.94 |
1.11 |
0.91 |
0.95 |
1.01 |
|
X |
1.08 |
0.91 |
0.99 |
1.02 |
0.78 |
0.90 |
1.03 |
0.92 |
0.89 |
0.86 |
|
MARX |
1.10 |
0.91 |
1.07 |
0.96 |
0.83 |
0.96 |
1.13 |
0.99 |
0.97 |
0.99 |
|
MAF |
1.16 |
0.85 |
1.07 |
1.04 |
0.79 |
0.91 |
1.01 |
0.91 |
0.91 |
0.82 |
|
X-MARX |
1.03 |
0.89 |
1.04 |
0.97 |
0.81 |
0.90 |
1.05 |
0.95 |
0.94 |
0.95 |
|
X-MAF |
1.08 |
0.89 |
1.04 |
1.03 |
0.75 |
0.89 |
1.03 |
0.93 |
0.89 |
0.88 |
|
X-Level |
1.06 |
0.91 |
1.02 |
1.04 |
0.80 |
0.93 |
1.12 |
0.90 |
0.88 |
0.93 |
|
X-MARX-Level |
1.07 |
0.90 |
1.04 |
0.97 |
0.83 |
0.90 |
1.05 |
0.91 |
0.97 |
0.99 |