The function perform parametric tests which enable the users to detect
potential bias (both mean and regression bias) and sources of inefficiency in
preliminary estimates. We would conclude to inefficiency in the preliminary
estimates when revisions are predictable in some way. In the results,
parametric tests are divided into 5 categories: relevancy (check whether
preliminary estimates are even worth it), bias, efficiency, orthogonality
(correlation at higher lags), and signalVSnoise. Descriptive statistics on
revisions are also provided. For some of the parametric tests, prior
transformation of the vintage data may be important to avoid misleading
results. By default, the decision to differentiate the vintage data is
performed automatically based on unit root and co-integration tests whose
results can be found found in the results too (section 'varbased'). Finally,
running the function render_report()
on the output of revision_analysis()
would give you both a formatted summary of the results and full explanations
about each tests.
Arguments
- vintages
an object of class
"rjd3rev_vintages"
which is the output of the functioncreate_vintages()
- gap
Integer. Gap to consider between each vintages. Default is 1 which means that revisions are calculated and tested for each vintages consecutively.
- view
Selected view. Can be "vertical" (the default) or "diagonal". Vertical view shows the observed values at each time period by the different vintages. Diagonal view shows subsequent releases of a given time period, without regard for the date of publication, which can be particularly informative when regular estimation intervals exist. See
?create_vintages()
for more information about interests and drawbacks of each view.- n.releases
only used when
view = "diagonal"
. Ignored otherwise. Allow the user to limit the number of releases under investigation). Whenview = "vertical"
, the user is invited to limit the number of vintages upstream through the parametervintage_selection
increate_vintages()
whenever necessary.- transf.diff
differentiation to apply to the data prior testing. Only used for regressions including vintage data as regressor and/or regressand. Regression including revision data only are never differentiated even if
transf.diff = "forced"
. Options are "automatic" (the default), "forced" and "none".- transf.log
Boolean whether a log-transformation should first be applied to the data. Default is FALSE.
- descriptive.rounding
Integer. Number of decimals to display for descriptive statistics. Default is 3.
- nrevs, ref
Integer. Number of lags to consider for orthogonality tests 1 and 2 respectively.
- na.zero
Boolean whether missing values should be considered as 0 or rather as data not yet available (the default).
See also
create_vintages()
to create the input object,
render_report()
to get a summary and information the tests
Examples
## Simulated data
df_long <- simulate_long(
n_period = 10L * 4L,
n_revision = 10L,
periodicity = 4L,
start_period = as.Date("2010-01-01")
)
## Create a `"rjd3rev_vintages"` object with the input
vintages <- create_vintages(x = df_long, periodicity = 4L, date_format = "%Y-%m-%d")
# revisions <- get_revisions(vintages, gap = 1L) # just to get a first insight of the revisions
## Call using all default parameters
rslt1 <- revision_analysis(vintages)
#> Warning: Slope and drift could not be performed
#> Warning: efficiencyModel1 could not be performed
# render_report(rslt1, output_file = "report1", output_dir = "C:/Users/xxx")
summary(rslt1) # formatted summary only
#> Object of class rjd3rev_rslts
#> View: vertical
#> There are 9 from 2010 1 to 2019 4
#>
#> List of all tests:
#> - summary.residuals :
#> - slope_and_drift
#> - efficiency1
#> - efficiency2
#> - orthogonality1
#> - orthogonality2
#> - relevancy :
#> - theil
#> - bias :
#> - t_ta_test
#> - slope_and_drift
#> - efficiency :
#> - efficiency1
#> - efficiency2
#> - orthogonality :
#> - orthogonality1
#> - orthogonality2
#> - autocorrelation_test
#> - seasonality_test
#> - signalnoise :
#> - signal_noise
#> - varbased :
#> - unit_root_test
#> - cointegration_test
#> - vecm
#>
#> Revisions analysis dates:
#> - [1]: [2010-11-17]-[2010-07-08]
#> - [2]: [2013-06-04]-[2010-11-17]
#> - [3]: [2015-11-10]-[2013-06-04]
#> - [4]: [2016-03-25]-[2015-11-10]
#> - [5]: [2017-06-29]-[2016-03-25]
#> - [6]: [2017-09-10]-[2017-06-29]
#> - [7]: [2018-10-26]-[2017-09-10]
#> - [8]: [2019-07-13]-[2018-10-26]
#> - [9]: [2020-02-27]-[2019-07-13]
#>
#> Tests results:
#> Transf. [2010-11-17]-[2010-07-08]
#> Relevancy - Theil U2 None Good (0.477)
#> Bias1 T-test None Good (0.218)
#> Bias2 Augmented T-test None Good (0.156)
#> Bias3 SlopeAndDrift (Ols L on P) - Mean None <NA>
#> Bias3 SlopeAndDrift (Ols L on P) - Reg. None <NA>
#> Efficiency1 (Ols R on P) - Mean Delta 1 <NA>
#> Efficiency1 (Ols R on P) - Reg. Delta 1 <NA>
#> Efficiency2 (Ols Rv on Rv_1) - Mean None
#> Efficiency2 (Ols Rv on Rv_1) - Reg. None
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Mean None
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Reg. None
#> Orthogonality2 (Ols Rv on Rv_k.) - Mean None
#> Orthogonality2 (Ols Rv on Rv_k) - Reg. None
#> Orthogonality3 AutoCorrelation (Ljung-Box) None <NA>
#> Orthogonality4 Seasonality (Ljung-Box) Delta 1 Good (1.000)
#> Orthogonality4 Seasonality (Friedman) Delta 1 <NA>
#> SignalVsNoise1 - Noise (Ols R on P) Delta 1 Good (NaN)
#> SignalVsNoise2 - Signal (Ols R on L) Delta 1 Good (NaN)
#> [2013-06-04]-[2010-11-17]
#> Relevancy - Theil U2 Good (0.656)
#> Bias1 T-test Good (0.933)
#> Bias2 Augmented T-test Good (0.870)
#> Bias3 SlopeAndDrift (Ols L on P) - Mean <NA>
#> Bias3 SlopeAndDrift (Ols L on P) - Reg. <NA>
#> Efficiency1 (Ols R on P) - Mean <NA>
#> Efficiency1 (Ols R on P) - Reg. <NA>
#> Efficiency2 (Ols Rv on Rv_1) - Mean Good (NaN)
#> Efficiency2 (Ols Rv on Rv_1) - Reg. Good (NaN)
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Mean Good (NaN)
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Reg. Good (NaN)
#> Orthogonality2 (Ols Rv on Rv_k.) - Mean Good (NaN)
#> Orthogonality2 (Ols Rv on Rv_k) - Reg. Good (NaN)
#> Orthogonality3 AutoCorrelation (Ljung-Box) <NA>
#> Orthogonality4 Seasonality (Ljung-Box) Good (1.000)
#> Orthogonality4 Seasonality (Friedman) <NA>
#> SignalVsNoise1 - Noise (Ols R on P) Good (0.543)
#> SignalVsNoise2 - Signal (Ols R on L) Uncertain (0.680)
#> [2015-11-10]-[2013-06-04]
#> Relevancy - Theil U2 Good (0.688)
#> Bias1 T-test Good (0.844)
#> Bias2 Augmented T-test Good (0.787)
#> Bias3 SlopeAndDrift (Ols L on P) - Mean <NA>
#> Bias3 SlopeAndDrift (Ols L on P) - Reg. <NA>
#> Efficiency1 (Ols R on P) - Mean <NA>
#> Efficiency1 (Ols R on P) - Reg. <NA>
#> Efficiency2 (Ols Rv on Rv_1) - Mean Good (0.680)
#> Efficiency2 (Ols Rv on Rv_1) - Reg. Good (0.903)
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Mean Good (0.680)
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Reg. Good (0.097)
#> Orthogonality2 (Ols Rv on Rv_k.) - Mean Good (0.680)
#> Orthogonality2 (Ols Rv on Rv_k) - Reg. Good (0.903)
#> Orthogonality3 AutoCorrelation (Ljung-Box) <NA>
#> Orthogonality4 Seasonality (Ljung-Box) Uncertain (0.032)
#> Orthogonality4 Seasonality (Friedman) <NA>
#> SignalVsNoise1 - Noise (Ols R on P) Good (0.426)
#> SignalVsNoise2 - Signal (Ols R on L) Good (0.043)
#> [2016-03-25]-[2015-11-10]
#> Relevancy - Theil U2 Good (0.639)
#> Bias1 T-test Good (0.395)
#> Bias2 Augmented T-test Good (0.243)
#> Bias3 SlopeAndDrift (Ols L on P) - Mean <NA>
#> Bias3 SlopeAndDrift (Ols L on P) - Reg. <NA>
#> Efficiency1 (Ols R on P) - Mean <NA>
#> Efficiency1 (Ols R on P) - Reg. <NA>
#> Efficiency2 (Ols Rv on Rv_1) - Mean Good (0.536)
#> Efficiency2 (Ols Rv on Rv_1) - Reg. Good (0.053)
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Mean Good (0.536)
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Reg. Good (0.947)
#> Orthogonality2 (Ols Rv on Rv_k.) - Mean Good (0.536)
#> Orthogonality2 (Ols Rv on Rv_k) - Reg. Good (0.053)
#> Orthogonality3 AutoCorrelation (Ljung-Box) <NA>
#> Orthogonality4 Seasonality (Ljung-Box) Good (0.598)
#> Orthogonality4 Seasonality (Friedman) <NA>
#> SignalVsNoise1 - Noise (Ols R on P) Uncertain (0.026)
#> SignalVsNoise2 - Signal (Ols R on L) Uncertain (0.236)
#> [2017-06-29]-[2016-03-25]
#> Relevancy - Theil U2 Good (0.372)
#> Bias1 T-test Good (0.798)
#> Bias2 Augmented T-test Good (0.724)
#> Bias3 SlopeAndDrift (Ols L on P) - Mean <NA>
#> Bias3 SlopeAndDrift (Ols L on P) - Reg. <NA>
#> Efficiency1 (Ols R on P) - Mean <NA>
#> Efficiency1 (Ols R on P) - Reg. <NA>
#> Efficiency2 (Ols Rv on Rv_1) - Mean Good (0.799)
#> Efficiency2 (Ols Rv on Rv_1) - Reg. Good (0.087)
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Mean Good (0.799)
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Reg. Good (0.913)
#> Orthogonality2 (Ols Rv on Rv_k.) - Mean Good (0.799)
#> Orthogonality2 (Ols Rv on Rv_k) - Reg. Good (0.087)
#> Orthogonality3 AutoCorrelation (Ljung-Box) <NA>
#> Orthogonality4 Seasonality (Ljung-Box) Good (0.898)
#> Orthogonality4 Seasonality (Friedman) <NA>
#> SignalVsNoise1 - Noise (Ols R on P) Uncertain (0.011)
#> SignalVsNoise2 - Signal (Ols R on L) Uncertain (0.654)
#> [2017-09-10]-[2017-06-29]
#> Relevancy - Theil U2 Good (0.080)
#> Bias1 T-test Good (0.360)
#> Bias2 Augmented T-test Good (0.374)
#> Bias3 SlopeAndDrift (Ols L on P) - Mean <NA>
#> Bias3 SlopeAndDrift (Ols L on P) - Reg. <NA>
#> Efficiency1 (Ols R on P) - Mean <NA>
#> Efficiency1 (Ols R on P) - Reg. <NA>
#> Efficiency2 (Ols Rv on Rv_1) - Mean Good (0.452)
#> Efficiency2 (Ols Rv on Rv_1) - Reg. Good (0.426)
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Mean Good (0.452)
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Reg. Good (0.574)
#> Orthogonality2 (Ols Rv on Rv_k.) - Mean Good (0.452)
#> Orthogonality2 (Ols Rv on Rv_k) - Reg. Good (0.426)
#> Orthogonality3 AutoCorrelation (Ljung-Box) <NA>
#> Orthogonality4 Seasonality (Ljung-Box) Good (0.880)
#> Orthogonality4 Seasonality (Friedman) <NA>
#> SignalVsNoise1 - Noise (Ols R on P) Good (0.369)
#> SignalVsNoise2 - Signal (Ols R on L) Good (0.015)
#> [2018-10-26]-[2017-09-10]
#> Relevancy - Theil U2 Good (0.045)
#> Bias1 T-test Good (0.298)
#> Bias2 Augmented T-test Good (0.171)
#> Bias3 SlopeAndDrift (Ols L on P) - Mean <NA>
#> Bias3 SlopeAndDrift (Ols L on P) - Reg. <NA>
#> Efficiency1 (Ols R on P) - Mean <NA>
#> Efficiency1 (Ols R on P) - Reg. <NA>
#> Efficiency2 (Ols Rv on Rv_1) - Mean Good (0.758)
#> Efficiency2 (Ols Rv on Rv_1) - Reg. Bad (0.001)
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Mean Good (0.758)
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Reg. Good (0.999)
#> Orthogonality2 (Ols Rv on Rv_k.) - Mean Good (0.758)
#> Orthogonality2 (Ols Rv on Rv_k) - Reg. Bad (0.001)
#> Orthogonality3 AutoCorrelation (Ljung-Box) <NA>
#> Orthogonality4 Seasonality (Ljung-Box) Good (0.966)
#> Orthogonality4 Seasonality (Friedman) <NA>
#> SignalVsNoise1 - Noise (Ols R on P) Uncertain (0.029)
#> SignalVsNoise2 - Signal (Ols R on L) Uncertain (0.647)
#> [2019-07-13]-[2018-10-26]
#> Relevancy - Theil U2 Good (0.098)
#> Bias1 T-test Good (0.833)
#> Bias2 Augmented T-test Good (0.847)
#> Bias3 SlopeAndDrift (Ols L on P) - Mean <NA>
#> Bias3 SlopeAndDrift (Ols L on P) - Reg. <NA>
#> Efficiency1 (Ols R on P) - Mean <NA>
#> Efficiency1 (Ols R on P) - Reg. <NA>
#> Efficiency2 (Ols Rv on Rv_1) - Mean Good (0.720)
#> Efficiency2 (Ols Rv on Rv_1) - Reg. Severe (0.000)
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Mean Good (0.720)
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Reg. Good (1.000)
#> Orthogonality2 (Ols Rv on Rv_k.) - Mean Good (0.720)
#> Orthogonality2 (Ols Rv on Rv_k) - Reg. Severe (0.000)
#> Orthogonality3 AutoCorrelation (Ljung-Box) <NA>
#> Orthogonality4 Seasonality (Ljung-Box) Good (0.057)
#> Orthogonality4 Seasonality (Friedman) <NA>
#> SignalVsNoise1 - Noise (Ols R on P) Good (0.076)
#> SignalVsNoise2 - Signal (Ols R on L) Uncertain (0.535)
#> [2020-02-27]-[2019-07-13]
#> Relevancy - Theil U2 Good (0.027)
#> Bias1 T-test Good (0.664)
#> Bias2 Augmented T-test Good (0.419)
#> Bias3 SlopeAndDrift (Ols L on P) - Mean <NA>
#> Bias3 SlopeAndDrift (Ols L on P) - Reg. <NA>
#> Efficiency1 (Ols R on P) - Mean <NA>
#> Efficiency1 (Ols R on P) - Reg. <NA>
#> Efficiency2 (Ols Rv on Rv_1) - Mean Good (0.380)
#> Efficiency2 (Ols Rv on Rv_1) - Reg. Good (0.446)
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Mean Good (0.380)
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Reg. Good (0.554)
#> Orthogonality2 (Ols Rv on Rv_k.) - Mean Good (0.380)
#> Orthogonality2 (Ols Rv on Rv_k) - Reg. Good (0.446)
#> Orthogonality3 AutoCorrelation (Ljung-Box) <NA>
#> Orthogonality4 Seasonality (Ljung-Box) Good (0.938)
#> Orthogonality4 Seasonality (Friedman) <NA>
#> SignalVsNoise1 - Noise (Ols R on P) Good (0.752)
#> SignalVsNoise2 - Signal (Ols R on L) Uncertain (0.637)
View(rslt1) # formatted tables in viewer panel
Tests
Transf.
[2010-11-17]-[2010-07-08]
[2013-06-04]-[2010-11-17]
[2015-11-10]-[2013-06-04]
[2016-03-25]-[2015-11-10]
[2017-06-29]-[2016-03-25]
[2017-09-10]-[2017-06-29]
[2018-10-26]-[2017-09-10]
[2019-07-13]-[2018-10-26]
[2020-02-27]-[2019-07-13]
Relevancy - Theil U2
None
Good (0.477)
Good (0.656)
Good (0.688)
Good (0.639)
Good (0.372)
Good (0.080)
Good (0.045)
Good (0.098)
Good (0.027)
Bias1 T-test
None
Good (0.218)
Good (0.933)
Good (0.844)
Good (0.395)
Good (0.798)
Good (0.360)
Good (0.298)
Good (0.833)
Good (0.664)
Bias2 Augmented T-test
None
Good (0.156)
Good (0.870)
Good (0.787)
Good (0.243)
Good (0.724)
Good (0.374)
Good (0.171)
Good (0.847)
Good (0.419)
Bias3 SlopeAndDrift (Ols L on P) - Mean
None
Bias3 SlopeAndDrift (Ols L on P) - Reg.
None
Efficiency1 (Ols R on P) - Mean
Delta 1
Efficiency1 (Ols R on P) - Reg.
Delta 1
Efficiency2 (Ols Rv on Rv_1) - Mean
None
Good (NaN)
Good (0.680)
Good (0.536)
Good (0.799)
Good (0.452)
Good (0.758)
Good (0.720)
Good (0.380)
Efficiency2 (Ols Rv on Rv_1) - Reg.
None
Good (NaN)
Good (0.903)
Good (0.053)
Good (0.087)
Good (0.426)
Bad (0.001)
Severe (0.000)
Good (0.446)
Orthogonality1 (Ols Rv on Rv_(1:p)) - Mean
None
Good (NaN)
Good (0.680)
Good (0.536)
Good (0.799)
Good (0.452)
Good (0.758)
Good (0.720)
Good (0.380)
Orthogonality1 (Ols Rv on Rv_(1:p)) - Reg.
None
Good (NaN)
Good (0.097)
Good (0.947)
Good (0.913)
Good (0.574)
Good (0.999)
Good (1.000)
Good (0.554)
Orthogonality2 (Ols Rv on Rv_k.) - Mean
None
Good (NaN)
Good (0.680)
Good (0.536)
Good (0.799)
Good (0.452)
Good (0.758)
Good (0.720)
Good (0.380)
Orthogonality2 (Ols Rv on Rv_k) - Reg.
None
Good (NaN)
Good (0.903)
Good (0.053)
Good (0.087)
Good (0.426)
Bad (0.001)
Severe (0.000)
Good (0.446)
Orthogonality3 AutoCorrelation (Ljung-Box)
None
Orthogonality4 Seasonality (Ljung-Box)
Delta 1
Good (1.000)
Good (1.000)
Uncertain (0.032)
Good (0.598)
Good (0.898)
Good (0.880)
Good (0.966)
Good (0.057)
Good (0.938)
Orthogonality4 Seasonality (Friedman)
Delta 1
SignalVsNoise1 - Noise (Ols R on P)
Delta 1
Good (NaN)
Good (0.543)
Good (0.426)
Uncertain (0.026)
Uncertain (0.011)
Good (0.369)
Uncertain (0.029)
Good (0.076)
Good (0.752)
SignalVsNoise2 - Signal (Ols R on L)
Delta 1
Good (NaN)
Uncertain (0.680)
Good (0.043)
Uncertain (0.236)
Uncertain (0.654)
Good (0.015)
Uncertain (0.647)
Uncertain (0.535)
Uncertain (0.637)
## Calls using diagonal view (suited in many situations such as to evaluate GDP estimates)
## Note: when input are not growth rates but the gross series, differentiation is
## performed automatically (if transf.diff is let to its default option) but `transf.log`
## must be set to TRUE manually whenever a log-transformation of the data is necessary
rslt2 <- revision_analysis(vintages, gap = 1, view = "diagonal", n.releases = 3)
# render_report(rslt2, output_file = "report2", output_dir = "C:/Users/xxx",
# output_format = "word_document", plot_revisions = TRUE)
summary(rslt2)
#> Object of class rjd3rev_rslts
#> View: diagonal
#> There are 2 from 2010 1 to 2019 4
#>
#> List of all tests:
#> - summary.residuals :
#> - slope_and_drift
#> - efficiency1
#> - efficiency2
#> - orthogonality1
#> - orthogonality2
#> - relevancy :
#> - theil
#> - bias :
#> - t_ta_test
#> - slope_and_drift
#> - efficiency :
#> - efficiency1
#> - efficiency2
#> - orthogonality :
#> - orthogonality1
#> - orthogonality2
#> - autocorrelation_test
#> - seasonality_test
#> - signalnoise :
#> - signal_noise
#> - varbased :
#> - unit_root_test
#> - cointegration_test
#> - vecm
#>
#> Revisions analysis dates:
#> - [1]: [Release[2]]-[Release[1]]
#> - [2]: [Release[3]]-[Release[2]]
#>
#> Tests results:
#> Transf. [Release[2]]-[Release[1]]
#> Relevancy - Theil U2 None Good (0.684)
#> Bias1 T-test None Good (0.878)
#> Bias2 Augmented T-test None Good (0.845)
#> Bias3 SlopeAndDrift (Ols L on P) - Mean None Good (0.862)
#> Bias3 SlopeAndDrift (Ols L on P) - Reg. None Good (0.927)
#> Efficiency1 (Ols R on P) - Mean Delta 1 Good (0.326)
#> Efficiency1 (Ols R on P) - Reg. Delta 1 Good (0.162)
#> Efficiency2 (Ols Rv on Rv_1) - Mean None
#> Efficiency2 (Ols Rv on Rv_1) - Reg. None
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Mean None
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Reg. None
#> Orthogonality2 (Ols Rv on Rv_k.) - Mean None
#> Orthogonality2 (Ols Rv on Rv_k) - Reg. None
#> Orthogonality3 AutoCorrelation (Ljung-Box) None Good (0.214)
#> Orthogonality4 Seasonality (Ljung-Box) Delta 1 Severe (0.001)
#> Orthogonality4 Seasonality (Friedman) Delta 1 Uncertain (0.033)
#> SignalVsNoise1 - Noise (Ols R on P) Delta 1 Good (0.145)
#> SignalVsNoise2 - Signal (Ols R on L) Delta 1 Uncertain (0.053)
#> [Release[3]]-[Release[2]]
#> Relevancy - Theil U2 Good (0.638)
#> Bias1 T-test Good (0.737)
#> Bias2 Augmented T-test Good (0.602)
#> Bias3 SlopeAndDrift (Ols L on P) - Mean Good (0.676)
#> Bias3 SlopeAndDrift (Ols L on P) - Reg. Good (0.797)
#> Efficiency1 (Ols R on P) - Mean Good (0.055)
#> Efficiency1 (Ols R on P) - Reg. Bad (0.005)
#> Efficiency2 (Ols Rv on Rv_1) - Mean Good (0.742)
#> Efficiency2 (Ols Rv on Rv_1) - Reg. Bad (0.009)
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Mean Good (0.742)
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Reg. Good (0.991)
#> Orthogonality2 (Ols Rv on Rv_k.) - Mean Good (0.742)
#> Orthogonality2 (Ols Rv on Rv_k) - Reg. Bad (0.009)
#> Orthogonality3 AutoCorrelation (Ljung-Box) Uncertain (0.040)
#> Orthogonality4 Seasonality (Ljung-Box) Good (0.220)
#> Orthogonality4 Seasonality (Friedman) Uncertain (0.041)
#> SignalVsNoise1 - Noise (Ols R on P) Bad (0.002)
#> SignalVsNoise2 - Signal (Ols R on L) Uncertain (0.994)
View(rslt2)
Tests
Transf.
[Release[2]]-[Release[1]]
[Release[3]]-[Release[2]]
Relevancy - Theil U2
None
Good (0.684)
Good (0.638)
Bias1 T-test
None
Good (0.878)
Good (0.737)
Bias2 Augmented T-test
None
Good (0.845)
Good (0.602)
Bias3 SlopeAndDrift (Ols L on P) - Mean
None
Good (0.862)
Good (0.676)
Bias3 SlopeAndDrift (Ols L on P) - Reg.
None
Good (0.927)
Good (0.797)
Efficiency1 (Ols R on P) - Mean
Delta 1
Good (0.326)
Good (0.055)
Efficiency1 (Ols R on P) - Reg.
Delta 1
Good (0.162)
Bad (0.005)
Efficiency2 (Ols Rv on Rv_1) - Mean
None
Good (0.742)
Efficiency2 (Ols Rv on Rv_1) - Reg.
None
Bad (0.009)
Orthogonality1 (Ols Rv on Rv_(1:p)) - Mean
None
Good (0.742)
Orthogonality1 (Ols Rv on Rv_(1:p)) - Reg.
None
Good (0.991)
Orthogonality2 (Ols Rv on Rv_k.) - Mean
None
Good (0.742)
Orthogonality2 (Ols Rv on Rv_k) - Reg.
None
Bad (0.009)
Orthogonality3 AutoCorrelation (Ljung-Box)
None
Good (0.214)
Uncertain (0.040)
Orthogonality4 Seasonality (Ljung-Box)
Delta 1
Severe (0.001)
Good (0.220)
Orthogonality4 Seasonality (Friedman)
Delta 1
Uncertain (0.033)
Uncertain (0.041)
SignalVsNoise1 - Noise (Ols R on P)
Delta 1
Good (0.145)
Bad (0.002)
SignalVsNoise2 - Signal (Ols R on L)
Delta 1
Uncertain (0.053)
Uncertain (0.994)
## Call to evaluate revisions for a specific range of vintage periods
vintages <- create_vintages(
x = df_long,
periodicity = 4L,
vintage_selection = c(start = "2012-12-31", end = "2018-06-30")
)
rslt3 <- revision_analysis(vintages, gap = 2, view = "vertical")
#render_report(rslt3, output_file = "report2", output_dir = "C:/Users/xxx", plot_revisions = TRUE)
summary(rslt3)
#> Object of class rjd3rev_rslts
#> View: vertical
#> There are 3 from 2010 1 to 2019 4
#>
#> List of all tests:
#> - summary.residuals :
#> - slope_and_drift
#> - efficiency1
#> - efficiency2
#> - orthogonality1
#> - orthogonality2
#> - relevancy :
#> - theil
#> - bias :
#> - t_ta_test
#> - slope_and_drift
#> - efficiency :
#> - efficiency1
#> - efficiency2
#> - orthogonality :
#> - orthogonality1
#> - orthogonality2
#> - autocorrelation_test
#> - seasonality_test
#> - signalnoise :
#> - signal_noise
#> - varbased :
#> - unit_root_test
#> - cointegration_test
#> - vecm
#>
#> Revisions analysis dates:
#> - [1]: [2016-03-25]-[2013-06-04]
#> - [2]: [2017-06-29]-[2015-11-10]
#> - [3]: [2017-09-10]-[2016-03-25]
#>
#> Tests results:
#> Transf. [2016-03-25]-[2013-06-04]
#> Relevancy - Theil U2 None Good (0.703)
#> Bias1 T-test None Good (0.694)
#> Bias2 Augmented T-test None Good (0.696)
#> Bias3 SlopeAndDrift (Ols L on P) - Mean None Good (0.907)
#> Bias3 SlopeAndDrift (Ols L on P) - Reg. None Good (0.265)
#> Efficiency1 (Ols R on P) - Mean Delta 1 Good (0.227)
#> Efficiency1 (Ols R on P) - Reg. Delta 1 Uncertain (0.043)
#> Efficiency2 (Ols Rv on Rv_1) - Mean None
#> Efficiency2 (Ols Rv on Rv_1) - Reg. None
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Mean None
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Reg. None
#> Orthogonality2 (Ols Rv on Rv_k.) - Mean None
#> Orthogonality2 (Ols Rv on Rv_k) - Reg. None
#> Orthogonality3 AutoCorrelation (Ljung-Box) None Good (0.189)
#> Orthogonality4 Seasonality (Ljung-Box) Delta 1 Good (0.630)
#> Orthogonality4 Seasonality (Friedman) Delta 1 Good (0.122)
#> SignalVsNoise1 - Noise (Ols R on P) Delta 1 Uncertain (0.045)
#> SignalVsNoise2 - Signal (Ols R on L) Delta 1 Uncertain (0.579)
#> [2017-06-29]-[2015-11-10]
#> Relevancy - Theil U2 Good (0.561)
#> Bias1 T-test Good (0.560)
#> Bias2 Augmented T-test Good (0.497)
#> Bias3 SlopeAndDrift (Ols L on P) - Mean Good (0.443)
#> Bias3 SlopeAndDrift (Ols L on P) - Reg. Good (0.580)
#> Efficiency1 (Ols R on P) - Mean Uncertain (0.041)
#> Efficiency1 (Ols R on P) - Reg. Severe (0.001)
#> Efficiency2 (Ols Rv on Rv_1) - Mean Good (0.518)
#> Efficiency2 (Ols Rv on Rv_1) - Reg. Good (0.231)
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Mean Good (0.518)
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Reg. Good (0.769)
#> Orthogonality2 (Ols Rv on Rv_k.) - Mean Good (0.518)
#> Orthogonality2 (Ols Rv on Rv_k) - Reg. Good (0.231)
#> Orthogonality3 AutoCorrelation (Ljung-Box) Good (0.131)
#> Orthogonality4 Seasonality (Ljung-Box) Good (0.701)
#> Orthogonality4 Seasonality (Friedman) Good (0.118)
#> SignalVsNoise1 - Noise (Ols R on P) Bad (0.001)
#> SignalVsNoise2 - Signal (Ols R on L) Uncertain (0.919)
#> [2017-09-10]-[2016-03-25]
#> Relevancy - Theil U2 Good (0.415)
#> Bias1 T-test Good (0.847)
#> Bias2 Augmented T-test Good (0.759)
#> Bias3 SlopeAndDrift (Ols L on P) - Mean Good (0.868)
#> Bias3 SlopeAndDrift (Ols L on P) - Reg. Good (0.523)
#> Efficiency1 (Ols R on P) - Mean Good (0.202)
#> Efficiency1 (Ols R on P) - Reg. Good (0.059)
#> Efficiency2 (Ols Rv on Rv_1) - Mean Good (0.987)
#> Efficiency2 (Ols Rv on Rv_1) - Reg. Good (0.698)
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Mean Good (0.987)
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Reg. Good (0.302)
#> Orthogonality2 (Ols Rv on Rv_k.) - Mean Good (0.987)
#> Orthogonality2 (Ols Rv on Rv_k) - Reg. Good (0.698)
#> Orthogonality3 AutoCorrelation (Ljung-Box) Good (0.062)
#> Orthogonality4 Seasonality (Ljung-Box) Good (0.576)
#> Orthogonality4 Seasonality (Friedman) Good (0.706)
#> SignalVsNoise1 - Noise (Ols R on P) Uncertain (0.042)
#> SignalVsNoise2 - Signal (Ols R on L) Uncertain (0.995)
View(rslt3)
Tests
Transf.
[2016-03-25]-[2013-06-04]
[2017-06-29]-[2015-11-10]
[2017-09-10]-[2016-03-25]
Relevancy - Theil U2
None
Good (0.703)
Good (0.561)
Good (0.415)
Bias1 T-test
None
Good (0.694)
Good (0.560)
Good (0.847)
Bias2 Augmented T-test
None
Good (0.696)
Good (0.497)
Good (0.759)
Bias3 SlopeAndDrift (Ols L on P) - Mean
None
Good (0.907)
Good (0.443)
Good (0.868)
Bias3 SlopeAndDrift (Ols L on P) - Reg.
None
Good (0.265)
Good (0.580)
Good (0.523)
Efficiency1 (Ols R on P) - Mean
Delta 1
Good (0.227)
Uncertain (0.041)
Good (0.202)
Efficiency1 (Ols R on P) - Reg.
Delta 1
Uncertain (0.043)
Severe (0.001)
Good (0.059)
Efficiency2 (Ols Rv on Rv_1) - Mean
None
Good (0.518)
Good (0.987)
Efficiency2 (Ols Rv on Rv_1) - Reg.
None
Good (0.231)
Good (0.698)
Orthogonality1 (Ols Rv on Rv_(1:p)) - Mean
None
Good (0.518)
Good (0.987)
Orthogonality1 (Ols Rv on Rv_(1:p)) - Reg.
None
Good (0.769)
Good (0.302)
Orthogonality2 (Ols Rv on Rv_k.) - Mean
None
Good (0.518)
Good (0.987)
Orthogonality2 (Ols Rv on Rv_k) - Reg.
None
Good (0.231)
Good (0.698)
Orthogonality3 AutoCorrelation (Ljung-Box)
None
Good (0.189)
Good (0.131)
Good (0.062)
Orthogonality4 Seasonality (Ljung-Box)
Delta 1
Good (0.630)
Good (0.701)
Good (0.576)
Orthogonality4 Seasonality (Friedman)
Delta 1
Good (0.122)
Good (0.118)
Good (0.706)
SignalVsNoise1 - Noise (Ols R on P)
Delta 1
Uncertain (0.045)
Bad (0.001)
Uncertain (0.042)
SignalVsNoise2 - Signal (Ols R on L)
Delta 1
Uncertain (0.579)
Uncertain (0.919)
Uncertain (0.995)
## Note that it is possible to change thresholds values for quality
## assessment using options (see vignette for details)
options(
augmented_t_threshold = c(severe = 0.005, bad = 0.01, uncertain = 0.05),
slope_and_drift_threshold = c(severe = 0.005, bad = 0.05, uncertain = 0.10),
theil_u2_threshold = c(uncertain = .5, bad = .7, severe = 1)
)
rslt4 <- revision_analysis(vintages, gap = 1, view = "diagonal", n.releases = 3)
summary(rslt4)
#> Object of class rjd3rev_rslts
#> View: diagonal
#> There are 2 from 2010 1 to 2019 4
#>
#> List of all tests:
#> - summary.residuals :
#> - slope_and_drift
#> - efficiency1
#> - efficiency2
#> - orthogonality1
#> - orthogonality2
#> - relevancy :
#> - theil
#> - bias :
#> - t_ta_test
#> - slope_and_drift
#> - efficiency :
#> - efficiency1
#> - efficiency2
#> - orthogonality :
#> - orthogonality1
#> - orthogonality2
#> - autocorrelation_test
#> - seasonality_test
#> - signalnoise :
#> - signal_noise
#> - varbased :
#> - unit_root_test
#> - cointegration_test
#> - vecm
#>
#> Revisions analysis dates:
#> - [1]: [Release[2]]-[Release[1]]
#> - [2]: [Release[3]]-[Release[2]]
#>
#> Tests results:
#> Transf. [Release[2]]-[Release[1]]
#> Relevancy - Theil U2 None Uncertain (0.684)
#> Bias1 T-test None Good (0.615)
#> Bias2 Augmented T-test None Good (0.484)
#> Bias3 SlopeAndDrift (Ols L on P) - Mean None Good (0.907)
#> Bias3 SlopeAndDrift (Ols L on P) - Reg. None Good (0.635)
#> Efficiency1 (Ols R on P) - Mean Delta 1 Good (0.634)
#> Efficiency1 (Ols R on P) - Reg. Delta 1 Good (0.500)
#> Efficiency2 (Ols Rv on Rv_1) - Mean None
#> Efficiency2 (Ols Rv on Rv_1) - Reg. None
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Mean None
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Reg. None
#> Orthogonality2 (Ols Rv on Rv_k.) - Mean None
#> Orthogonality2 (Ols Rv on Rv_k) - Reg. None
#> Orthogonality3 AutoCorrelation (Ljung-Box) None Good (0.115)
#> Orthogonality4 Seasonality (Ljung-Box) Delta 1 Severe (0.000)
#> Orthogonality4 Seasonality (Friedman) Delta 1 Bad (0.006)
#> SignalVsNoise1 - Noise (Ols R on P) Delta 1 Good (0.615)
#> SignalVsNoise2 - Signal (Ols R on L) Delta 1 Good (0.007)
#> [Release[3]]-[Release[2]]
#> Relevancy - Theil U2 Uncertain (0.639)
#> Bias1 T-test Good (0.902)
#> Bias2 Augmented T-test Good (0.867)
#> Bias3 SlopeAndDrift (Ols L on P) - Mean Good (0.549)
#> Bias3 SlopeAndDrift (Ols L on P) - Reg. Good (0.335)
#> Efficiency1 (Ols R on P) - Mean Uncertain (0.046)
#> Efficiency1 (Ols R on P) - Reg. Bad (0.001)
#> Efficiency2 (Ols Rv on Rv_1) - Mean Good (0.743)
#> Efficiency2 (Ols Rv on Rv_1) - Reg. Uncertain (0.015)
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Mean Good (0.743)
#> Orthogonality1 (Ols Rv on Rv_(1:p)) - Reg. Good (0.985)
#> Orthogonality2 (Ols Rv on Rv_k.) - Mean Good (0.743)
#> Orthogonality2 (Ols Rv on Rv_k) - Reg. Uncertain (0.015)
#> Orthogonality3 AutoCorrelation (Ljung-Box) Good (0.262)
#> Orthogonality4 Seasonality (Ljung-Box) Bad (0.001)
#> Orthogonality4 Seasonality (Friedman) Bad (0.004)
#> SignalVsNoise1 - Noise (Ols R on P) Bad (0.001)
#> SignalVsNoise2 - Signal (Ols R on L) Uncertain (0.518)
View(rslt4)
Tests
Transf.
[Release[2]]-[Release[1]]
[Release[3]]-[Release[2]]
Relevancy - Theil U2
None
Uncertain (0.684)
Uncertain (0.639)
Bias1 T-test
None
Good (0.615)
Good (0.902)
Bias2 Augmented T-test
None
Good (0.484)
Good (0.867)
Bias3 SlopeAndDrift (Ols L on P) - Mean
None
Good (0.907)
Good (0.549)
Bias3 SlopeAndDrift (Ols L on P) - Reg.
None
Good (0.635)
Good (0.335)
Efficiency1 (Ols R on P) - Mean
Delta 1
Good (0.634)
Uncertain (0.046)
Efficiency1 (Ols R on P) - Reg.
Delta 1
Good (0.500)
Bad (0.001)
Efficiency2 (Ols Rv on Rv_1) - Mean
None
Good (0.743)
Efficiency2 (Ols Rv on Rv_1) - Reg.
None
Uncertain (0.015)
Orthogonality1 (Ols Rv on Rv_(1:p)) - Mean
None
Good (0.743)
Orthogonality1 (Ols Rv on Rv_(1:p)) - Reg.
None
Good (0.985)
Orthogonality2 (Ols Rv on Rv_k.) - Mean
None
Good (0.743)
Orthogonality2 (Ols Rv on Rv_k) - Reg.
None
Uncertain (0.015)
Orthogonality3 AutoCorrelation (Ljung-Box)
None
Good (0.115)
Good (0.262)
Orthogonality4 Seasonality (Ljung-Box)
Delta 1
Severe (0.000)
Bad (0.001)
Orthogonality4 Seasonality (Friedman)
Delta 1
Bad (0.006)
Bad (0.004)
SignalVsNoise1 - Noise (Ols R on P)
Delta 1
Good (0.615)
Bad (0.001)
SignalVsNoise2 - Signal (Ols R on L)
Delta 1
Good (0.007)
Uncertain (0.518)