| NNS.meboot | R Documentation |
Adapted maximum entropy bootstrap routine from meboot https://cran.r-project.org/package=meboot.
NNS.meboot(
x,
reps = 999,
rho = NULL,
type = "spearman",
drift = TRUE,
target_drift = NULL,
target_drift_scale = NULL,
trim = 0.1,
xmin = NULL,
xmax = NULL,
reachbnd = TRUE,
expand.sd = TRUE,
force.clt = TRUE,
scl.adjustment = FALSE,
sym = FALSE,
elaps = FALSE,
digits = 6,
colsubj,
coldata,
coltimes,
...
)
x |
vector of data. |
reps |
numeric; number of replicates to generate. |
rho |
numeric [-1,1] (vectorized); A |
type |
options("spearman", "pearson", "NNScor", "NNSdep"); |
drift |
logical; |
target_drift |
numerical; |
target_drift_scale |
numerical; instead of calculating a |
trim |
numeric [0,1]; The mean trimming proportion, defaults to |
xmin |
numeric; the lower limit for the left tail. |
xmax |
numeric; the upper limit for the right tail. |
reachbnd |
logical; If |
expand.sd |
logical; If |
force.clt |
logical; If |
scl.adjustment |
logical; If |
sym |
logical; If |
elaps |
logical; If |
digits |
integer; 6 (default) number of digits to round output to. |
colsubj |
numeric; the column in |
coldata |
numeric; the column in |
coltimes |
numeric; an optional argument indicating the column that contains the times at which the observations for each individual are observed. It is ignored if the input data |
... |
possible argument |
Returns the following row names in a matrix:
x original data provided as input.
replicates maximum entropy bootstrap replicates.
ensemble average observation over all replicates. Being a per-observation mean it is a central summary, not a single series carrying the target dependence; a rank or linear correlation taken directly on the ensemble tends to read higher than rho (averaging amplifies the shared order), so assess rho on the replicates.
xx sorted order stats (xx[1] is minimum value).
z class intervals limits.
dv deviations of consecutive data values.
dvtrim trimmed mean of dv.
xmin data minimum for ensemble=xx[1]-dvtrim.
xmax data x maximum for ensemble=xx[n]+dvtrim.
desintxb desired interval means.
ordxx ordered x values.
kappa scale adjustment to the variance of ME density.
elaps elapsed time.
Vectorized rho and drift parameters will not vectorize both simultaneously. Also, do not specify target_drift = NULL.
The rho dependence alignment is calibrated on each individual replicate: every replicate is mixed so that its dependence on the original series matches rho, in the metric implied by type. Assess a result in that same metric – a "NNSdep" target with NNS.dep$Dependence (unsigned) and a "spearman"/"pearson" target with rank/linear correlation – because a signed correlation taken on an unsigned "NNSdep" target is not comparable to rho (it can even read negative while the dependence target is met). Separately, the ensemble is the per-observation mean of the replicates – a central summary, not a single series carrying the target dependence – so a rank or linear correlation computed directly on the ensemble tends to read higher than the per-replicate rho (averaging amplifies the shared order). Verify rho on the replicates, in the metric implied by type, rather than on the ensemble.
Vinod, H.D. and Viole, F. (2020) Arbitrary Spearman's Rank Correlations in Maximum Entropy Bootstrap and Improved Monte Carlo Simulations. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.2139/ssrn.3621614")}
Vinod, H.D. (2013), Maximum Entropy Bootstrap Algorithm Enhancements. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.2139/ssrn.2285041")}
Vinod, H.D. (2006), Maximum Entropy Ensembles for Time Series Inference in Economics, Journal of Asian Economics, 17(6), pp. 955-978.
Vinod, H.D. (2004), Ranking mutual funds using unconventional utility theory and stochastic dominance, Journal of Empirical Finance, 11(3), pp. 353-377.
## Not run:
# To generate an orthogonal rank correlated time-series to AirPassengers
boots <- NNS.meboot(AirPassengers, reps = 100, rho = 0, xmin = 0)
# Verify correlation of replicates ensemble to original
cor(boots["ensemble",]$ensemble, AirPassengers, method = "spearman")
# Plot all replicates
matplot(boots["replicates",]$replicates , type = 'l')
# Plot ensemble
lines(boots["ensemble",]$ensemble, lwd = 3)
# Plot original
lines(1:length(AirPassengers), AirPassengers, lwd = 3, col = "red")
### Vectorized drift with a single rho
boots <- NNS.meboot(AirPassengers, reps = 10, rho = 0, xmin = 0, target_drift = c(1,7))
matplot(do.call(cbind, boots["replicates", ]), type = "l")
lines(1:length(AirPassengers), AirPassengers, lwd = 3, col = "red")
### Vectorized rho with a single target drift
boots <- NNS.meboot(AirPassengers, reps = 10, rho = c(0, .5, 1), xmin = 0, target_drift = 3)
matplot(do.call(cbind, boots["replicates", ]), type = "l")
lines(1:length(AirPassengers), AirPassengers, lwd = 3, col = "red")
### Vectorized rho with a single target drift scale
boots <- NNS.meboot(AirPassengers, reps = 10, rho = c(0, .5, 1), xmin = 0, target_drift_scale = 0.5)
matplot(do.call(cbind, boots["replicates", ]), type = "l")
lines(1:length(AirPassengers), AirPassengers, lwd = 3, col = "red")
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.