Class Sim_firquest
The replicated counterpart of Sim_fquest. It differs in four places.
- The warmup randomness test runs independently on each replicate path, and the batch size it settles on may differ between replications.
- Truncation removes the largest of those batch sizes from the front of every replication, not just from one path. This is more aggressive on purpose: an untruncated transient common to all replications biases every replicate estimate the same way, and averaging cannot remove it.
- The four stage tests act on the
R*bsigned areas andR*breplicate batched quantile estimators pooled across replications, with the same b in every replication and at least one batch from each. - The delivered interval is
ytilde_p(N*) +- t_{1-alpha/2,2Rb-1} sqrt(Vtilde_p(w;R,b,m)/N*),N* = R*b*m, with the pooled estimatorsA_p(w;R,b,m) = (Rb)^-1 sum_j A_p(w;j,m)^2 Ntilde_p(R,b,m) = m (Rb-1)^-1 sum_j (yhat_p(j,m) - ytilde_p(N*))^2 Vtilde_p = [Rb A_p + (Rb-1) Ntilde_p] / (2Rb-1).
The heuristic fallback drops the residual-autocorrelation correction, since the pooled batch quantiles come from independent paths.
Independent replications shorten the correlation the estimator has to fight,
and they parallelize, but they reintroduce initialization bias in every path, so
a short run length per replication is worse here than in Sim_fquest. The
article reports slight undercoverage at p = 0.99 when the total sample is under
500000, down to 90.8%.
Port of MATLAB sim_firquest.m.
Reference: A. Lolos, C. Alexopoulos, D. Goldsman, K. D. Dingec, A. C. Mokashi, J. R. Wilson, "A Fixed-Sample-Size Procedure for Estimating Steady-State Quantiles Based on Independent Replications", Proc. Winter Simulation Conference, 2025.
- Since:
- LINE 3.1.0
-
Method Summary
Modifier and TypeMethodDescriptionstatic int[]defaultBatchCounts(int R) Article default batch counts per replication, as a function of the replication count.static QuantileCIResultsim_firquest(double[][] y, double p) Runs FIRQUEST at nominal 95% coverage with the default constants.static QuantileCIResultsim_firquest(double[][] y, double p, double alpha) Runs FIRQUEST with the default constants.static QuantileCIResultsim_firquest(double[][] y, double p, double alpha, QuestOptions options) Runs FIRQUEST.
-
Method Details
-
defaultBatchCounts
public static int[] defaultBatchCounts(int R) Article default batch counts per replication, as a function of the replication count.Chosen so that
R*bpooled statistics remain enough to test while every replication still contributes at least one batch.- Parameters:
R- number of replications, at least 2- Returns:
- the descending batch counts
-
sim_firquest
Runs FIRQUEST at nominal 95% coverage with the default constants.- Parameters:
y- the replicate sample paths,y[r]being replication r, all of equal lengthp- quantile probability in (0,1)- Returns:
- the point estimate and interval
-
sim_firquest
Runs FIRQUEST with the default constants.- Parameters:
y- the replicate sample paths, all of equal lengthp- quantile probability in (0,1)alpha- significance level in (0,1)- Returns:
- the point estimate and interval
-
sim_firquest
public static QuantileCIResult sim_firquest(double[][] y, double p, double alpha, QuestOptions options) Runs FIRQUEST.- Parameters:
y- the replicate sample paths, all of equal lengthp- quantile probability in (0,1)alpha- significance level in (0,1)options- procedure constants, null for the defaults; when b0 or s are left at theSim_fquestdefaults they are replaced by 25 anddefaultBatchCounts(int)- Returns:
- the point estimate and interval
-