peeksafe 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +180 -1
- package/README.md +3 -5
- package/dist/cluster.d.ts.map +1 -1
- package/dist/cluster.js +8 -0
- package/dist/cluster.js.map +1 -1
- package/dist/errors.d.ts +24 -3
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +52 -3
- package/dist/errors.js.map +1 -1
- package/dist/frontier.d.ts +5 -3
- package/dist/frontier.d.ts.map +1 -1
- package/dist/frontier.js +78 -33
- package/dist/frontier.js.map +1 -1
- package/dist/gate.d.ts +2 -0
- package/dist/gate.d.ts.map +1 -1
- package/dist/gate.js +5 -1
- package/dist/gate.js.map +1 -1
- package/dist/plan.d.ts +42 -10
- package/dist/plan.d.ts.map +1 -1
- package/dist/plan.js +176 -32
- package/dist/plan.js.map +1 -1
- package/dist/rand.d.ts.map +1 -1
- package/dist/rand.js +16 -4
- package/dist/rand.js.map +1 -1
- package/dist/stats.d.ts +7 -3
- package/dist/stats.d.ts.map +1 -1
- package/dist/stats.js +101 -42
- package/dist/stats.js.map +1 -1
- package/dist/stop.d.ts +1 -0
- package/dist/stop.d.ts.map +1 -1
- package/dist/stop.js +13 -5
- package/dist/stop.js.map +1 -1
- package/package.json +10 -11
- package/src/cluster.ts +12 -0
- package/src/errors.ts +70 -3
- package/src/frontier.ts +102 -47
- package/src/gate.ts +6 -1
- package/src/plan.ts +236 -46
- package/src/rand.ts +20 -4
- package/src/stats.ts +132 -48
- package/src/stop.ts +17 -5
package/dist/plan.js
CHANGED
|
@@ -32,8 +32,9 @@
|
|
|
32
32
|
* it.
|
|
33
33
|
*/
|
|
34
34
|
import { baselineNullRate } from "./baseline.js";
|
|
35
|
-
import { PeeksafeError, requireErrorRates, requireOpenProbability, requireProbability, } from "./errors.js";
|
|
35
|
+
import { PeeksafeError, requireCounts, requireErrorRates, requireOpenProbability, requireProbability, requireRunCeiling, requireTrialGrid, requireUniqueCaseIds, } from "./errors.js";
|
|
36
36
|
import { betaQuantile, ebhSoloThreshold, evidenceCeilingLogE, mcnemarSamplesForEvidence, pairPhi, sampleSizeTwoProportion, samplesForEvidence, sprtExpectedN, } from "./stats.js";
|
|
37
|
+
import { DEFAULT_STOP_OPTIONS, settleLogE, shouldStop } from "./stop.js";
|
|
37
38
|
export const DEFAULT_PLAN = {
|
|
38
39
|
mde: 0.15,
|
|
39
40
|
fdr: 0.05,
|
|
@@ -93,7 +94,19 @@ function baselineRunsToClear(rate, mde, barLogE, cap = 100_000) {
|
|
|
93
94
|
return n;
|
|
94
95
|
return hi;
|
|
95
96
|
}
|
|
97
|
+
function requirePrices(cfg, where) {
|
|
98
|
+
if (!(cfg.costPerRunUsd >= 0) || !(cfg.msPerRun >= 0)) {
|
|
99
|
+
throw new PeeksafeError("PEEKSAFE_E_CONFIG", `${where}: costPerRunUsd and msPerRun must be ≥ 0`, {
|
|
100
|
+
detail: { costPerRunUsd: cfg.costPerRunUsd, msPerRun: cfg.msPerRun },
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
96
104
|
export function planCase(c, b, cfg, m) {
|
|
105
|
+
// Exported on its own, so it refuses what makePlan refuses before calling it: unchecked, a -5/60 baseline was IMPOSSIBLE and a price of -1 billed -$152.
|
|
106
|
+
if (b)
|
|
107
|
+
requireCounts(b.successes, b.trials, `planCase(${c.id}).baseline`);
|
|
108
|
+
requireErrorRates(cfg.alpha, cfg.beta, "planCase");
|
|
109
|
+
requirePrices(cfg, "planCase");
|
|
97
110
|
const barLogE = Math.log(ebhSoloThreshold(m, cfg.fdr));
|
|
98
111
|
const trials = b?.trials ?? 0;
|
|
99
112
|
const successes = b?.successes ?? 0;
|
|
@@ -197,7 +210,8 @@ export function planCase(c, b, cfg, m) {
|
|
|
197
210
|
* expected sample number at a supplied "true" rate per case, and clamped into
|
|
198
211
|
* the gate's own [minTrials, maxTrials] batch grid.
|
|
199
212
|
*
|
|
200
|
-
*
|
|
213
|
+
* `makePlan` no longer bills from it: an unpaired case there is counted in
|
|
214
|
+
* the runs `shouldStop` takes, which this figure misses either way (#105).
|
|
201
215
|
* `samplesForEvidence`, the one behind `PlanCase.unpaired.runs`, answers a
|
|
202
216
|
* different question: how many runs it takes to *certify a regression*. A case
|
|
203
217
|
* that did not regress never gets there; it hits the H₀ wall in a few batches
|
|
@@ -207,6 +221,9 @@ export function planCase(c, b, cfg, m) {
|
|
|
207
221
|
* `trueRate` defaults to the case's own baseline rate, i.e. "nothing moved", * which is what almost every pull request looks like.
|
|
208
222
|
*/
|
|
209
223
|
export function expectedSequentialSamples(cases, baseline, cfg, trueRate = (_id, b) => b.trials > 0 ? b.successes / b.trials : 0) {
|
|
224
|
+
requireTrialGrid(cfg, "expectedSequentialSamples");
|
|
225
|
+
// A repeated id was added to `samples` once per listing but kept once in `perCase`, so the two disagreed.
|
|
226
|
+
requireUniqueCaseIds(cases, "expectedSequentialSamples");
|
|
210
227
|
const perCase = new Map();
|
|
211
228
|
let total = 0;
|
|
212
229
|
for (const c of cases) {
|
|
@@ -217,18 +234,92 @@ export function expectedSequentialSamples(cases, baseline, cfg, trueRate = (_id,
|
|
|
217
234
|
const p1 = Math.max(0.005, p0 - cfg.mde);
|
|
218
235
|
const p = Math.max(0, Math.min(1, trueRate(c.id, b)));
|
|
219
236
|
const raw = sprtExpectedN(p, p0, p1, cfg.alpha, cfg.beta);
|
|
220
|
-
const
|
|
221
|
-
? Math.min(cfg.maxTrials, Math.max(cfg.minTrials, Math.ceil(raw)))
|
|
222
|
-
: cfg.maxTrials;
|
|
223
|
-
// The gate only ever adds whole batches past the minimum, so round the
|
|
224
|
-
// prediction onto the same grid the gate samples on.
|
|
225
|
-
const batched = cfg.minTrials + Math.ceil(Math.max(0, n - cfg.minTrials) / cfg.batchSize) * cfg.batchSize;
|
|
226
|
-
const capped = Math.min(cfg.maxTrials, batched);
|
|
237
|
+
const capped = onBatchGrid(Number.isFinite(raw) && raw > 0 ? Math.ceil(raw) : cfg.maxTrials, cfg);
|
|
227
238
|
perCase.set(c.id, capped);
|
|
228
239
|
total += capped;
|
|
229
240
|
}
|
|
230
241
|
return { samples: total, perCase };
|
|
231
242
|
}
|
|
243
|
+
/** Refuses a set `futilityConfidence` outside (0, 1), where the settle bar is 0 or Infinity. */
|
|
244
|
+
export function requireSettleConfidence(cfg, where) {
|
|
245
|
+
if (cfg.futilityConfidence !== undefined) {
|
|
246
|
+
requireOpenProbability(cfg.futilityConfidence, "futilityConfidence", where);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
// The gate only ever adds whole batches past the minimum, so a prediction is rounded onto the grid it samples on.
|
|
250
|
+
function onBatchGrid(n, cfg) {
|
|
251
|
+
const clamped = Math.min(cfg.maxTrials, Math.max(cfg.minTrials, n));
|
|
252
|
+
const batched = cfg.minTrials + Math.ceil(Math.max(0, clamped - cfg.minTrials) / cfg.batchSize) * cfg.batchSize;
|
|
253
|
+
return Math.min(cfg.maxTrials, batched);
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Expected pairs for a paired case that did not move: the first pair count at
|
|
257
|
+
* which `shouldStopPaired`'s settle e-value, on the mean trajectory at coupling
|
|
258
|
+
* `rho` and `cfg.futilityConfidence` (the stopping rule's default when unset),
|
|
259
|
+
* rules out a drop of `mde`, on the same batch grid as
|
|
260
|
+
* `expectedSequentialSamples`, and `maxTrials` when it never does. The
|
|
261
|
+
* unpaired SPRT figure knows nothing of this rule or of the coupling, which
|
|
262
|
+
* sets how often an unmoved pair disagrees.
|
|
263
|
+
*/
|
|
264
|
+
export function expectedSettlePairs(rate, rho, mde, cfg) {
|
|
265
|
+
// Unmoved arms disagree each way only when uncoupled: (1 - rho) p (1 - p).
|
|
266
|
+
const each = (1 - rho) * rate * (1 - rate);
|
|
267
|
+
const confidence = cfg.futilityConfidence ?? DEFAULT_STOP_OPTIONS.futilityConfidence;
|
|
268
|
+
const target = -Math.log(1 - confidence);
|
|
269
|
+
for (let n = 1; n <= cfg.maxTrials; n++) {
|
|
270
|
+
const counts = { bothPass: n * (1 - 2 * each), worse: n * each, better: n * each, bothFail: 0 };
|
|
271
|
+
if (settleLogE(counts, mde) >= target)
|
|
272
|
+
return onBatchGrid(n, cfg);
|
|
273
|
+
}
|
|
274
|
+
return cfg.maxTrials;
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Expected runs `shouldStop` takes to stop an unpaired case whose candidate
|
|
278
|
+
* passes at `rate`, checked at `minTrials` and then every `batchSize` runs up
|
|
279
|
+
* to `maxTrials`, in a suite of `suiteSize`. Exact rather than simulated:
|
|
280
|
+
* the decision depends on the candidate only through its counts, so a dynamic
|
|
281
|
+
* program carries the distribution of the success count from one check to the
|
|
282
|
+
* next. Rounded up to a whole run; an expectation is not a grid point.
|
|
283
|
+
*/
|
|
284
|
+
function expectedStopRuns(baseline, rate, suiteSize, cfg) {
|
|
285
|
+
const options = {
|
|
286
|
+
suiteSize,
|
|
287
|
+
mde: cfg.mde,
|
|
288
|
+
fdr: cfg.fdr,
|
|
289
|
+
futilityConfidence: cfg.futilityConfidence,
|
|
290
|
+
};
|
|
291
|
+
// live[k]: probability of k successes in n runs with the case still running.
|
|
292
|
+
let live = new Float64Array([1]);
|
|
293
|
+
let n = 0;
|
|
294
|
+
let expected = 0;
|
|
295
|
+
for (let step = cfg.minTrials;; step = Math.min(cfg.batchSize, cfg.maxTrials - n)) {
|
|
296
|
+
for (let i = 0; i < step; i++) {
|
|
297
|
+
const next = new Float64Array(live.length + 1);
|
|
298
|
+
for (let k = 0; k < live.length; k++) {
|
|
299
|
+
next[k] += live[k] * (1 - rate);
|
|
300
|
+
next[k + 1] += live[k] * rate;
|
|
301
|
+
}
|
|
302
|
+
live = next;
|
|
303
|
+
}
|
|
304
|
+
n += step;
|
|
305
|
+
let running = 0;
|
|
306
|
+
for (let k = 0; k <= n; k++) {
|
|
307
|
+
if (live[k] === 0)
|
|
308
|
+
continue;
|
|
309
|
+
if (n >= cfg.maxTrials || shouldStop({ successes: k, trials: n }, baseline, options).stop) {
|
|
310
|
+
expected += live[k] * n;
|
|
311
|
+
live[k] = 0;
|
|
312
|
+
}
|
|
313
|
+
else {
|
|
314
|
+
running += live[k];
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
if (running === 0)
|
|
318
|
+
break;
|
|
319
|
+
}
|
|
320
|
+
// Float residue must not push an exact whole number up a run.
|
|
321
|
+
return Math.ceil(expected - 1e-9);
|
|
322
|
+
}
|
|
232
323
|
/**
|
|
233
324
|
* Plan a suite. `pilots` holds a pair table per case from a pilot run of the
|
|
234
325
|
* paired design, ideally with both arms on the same revision; a case with one
|
|
@@ -253,16 +344,17 @@ export function makePlan(cases, baseline, cfg = DEFAULT_PLAN, pilots = new Map()
|
|
|
253
344
|
// reaches it, and under that function's name for it, `q`. Checked here so
|
|
254
345
|
// every planner entry point refuses it the same way and names it.
|
|
255
346
|
requireOpenProbability(cfg.nullQuantile, "nullQuantile", "makePlan");
|
|
347
|
+
requireSettleConfidence(cfg, "makePlan");
|
|
348
|
+
requireRunCeiling(cfg.runsPerCaseCeiling, "makePlan");
|
|
349
|
+
requireTrialGrid(cfg, "makePlan");
|
|
256
350
|
if (cases.length === 0) {
|
|
257
351
|
throw new PeeksafeError("PEEKSAFE_E_SUITE_EMPTY", "makePlan: no cases to plan for", {
|
|
258
352
|
hint: "pass at least one case; makePlan prices a suite, not an empty list",
|
|
259
353
|
});
|
|
260
354
|
}
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
});
|
|
265
|
-
}
|
|
355
|
+
// `gate` refuses a repeated id; planned, it was priced twice and counted twice in the suite size the bar is set from.
|
|
356
|
+
requireUniqueCaseIds(cases, "makePlan");
|
|
357
|
+
requirePrices(cfg, "makePlan");
|
|
266
358
|
const m = cases.length;
|
|
267
359
|
const planned = cases.map((c) => {
|
|
268
360
|
const pilot = pilots.get(c.id);
|
|
@@ -284,12 +376,16 @@ export function makePlan(cases, baseline, cfg = DEFAULT_PLAN, pilots = new Map()
|
|
|
284
376
|
// design that is cheap because it decides nothing is not cheap.
|
|
285
377
|
const bestRuns = decidableAny.reduce((a, p) => a + Math.min(finite(p.unpaired.runs) || Infinity, finite(p.paired.runs) || Infinity), 0);
|
|
286
378
|
const pairedOnlyCount = planned.filter((p) => p.detectability === "PAIRED_ONLY").length;
|
|
287
|
-
|
|
288
|
-
//
|
|
289
|
-
|
|
379
|
+
const pairedDesignCount = decidableAny.filter((p) => p.design === "paired").length;
|
|
380
|
+
// The recommendation string reads these same two flags, so it cannot drift from the design it names.
|
|
381
|
+
const manyPairedOnly = pairedOnlyCount > cases.length * 0.25;
|
|
382
|
+
const mostlyPaired = pairedDesignCount * 2 > decidableAny.length;
|
|
290
383
|
const recommendedDesign = cfg.design ??
|
|
291
|
-
(decidableAny.length > 0 &&
|
|
292
|
-
|
|
384
|
+
(decidableAny.length > 0 && (manyPairedOnly || mostlyPaired) ? "paired" : "unpaired");
|
|
385
|
+
// Per case, like `bestRuns`: one suite-wide design billed a mixed suite as if every case ran it.
|
|
386
|
+
const runsPerObs = (p) => (cfg.design ?? p.design ?? recommendedDesign) === "paired" ? 2 : 1;
|
|
387
|
+
// `screenRuns` counts observations, so each case's pass costs its own design's runs.
|
|
388
|
+
const screenPassRuns = planned.reduce((a, p) => a + cfg.screenRuns * runsPerObs(p), 0);
|
|
293
389
|
// Screening: everything gets `screenRuns`; only the cases the screen ranks as
|
|
294
390
|
// plausibly moved go on to the sequential test. A clean PR moves nothing, so
|
|
295
391
|
// in expectation only the FDR-sized tail continues, but a plan must be
|
|
@@ -303,18 +399,43 @@ export function makePlan(cases, baseline, cfg = DEFAULT_PLAN, pilots = new Map()
|
|
|
303
399
|
// which is `pairs * 2`. The expected total below reads `screenRuns` the same
|
|
304
400
|
// way, and when this one did not, the two screened figures in `totals`
|
|
305
401
|
// disagreed about the price of the same pass.
|
|
306
|
-
const screenedRuns =
|
|
402
|
+
const screenedRuns = screenPassRuns + screenSelected * meanBest;
|
|
307
403
|
const fixedNRuns = planned.reduce((a, p) => a + finite(p.fixedNPerArm), 0);
|
|
308
404
|
// The expected cost of a pull request that changed nothing, which is what a
|
|
309
405
|
// pull request almost always is, and therefore the number a budget should be
|
|
310
406
|
// set from.
|
|
311
|
-
//
|
|
312
|
-
//
|
|
313
|
-
//
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
const
|
|
407
|
+
// Both counts are *observations*. A paired observation is two runs, the
|
|
408
|
+
// candidate and the reference revision on the same seed, and so is a paired
|
|
409
|
+
// screening run. Each case is counted under the rule that stops it: a paired
|
|
410
|
+
// one in pairs to settle, an unpaired one in the runs `shouldStop` takes.
|
|
411
|
+
// Wald's SPRT figure, used for both before, runs a different rule, ignores
|
|
412
|
+
// the coupling and the suite size, and mispriced cases either way.
|
|
413
|
+
const stopRuns = new Map();
|
|
414
|
+
const observations = (p) => {
|
|
415
|
+
const b = baseline.get(p.caseId);
|
|
416
|
+
if (!b || b.trials === 0)
|
|
417
|
+
return 0;
|
|
418
|
+
if (runsPerObs(p) === 2) {
|
|
419
|
+
return expectedSettlePairs(p.baseline.rate, p.pairCoupling, cfg.mde, cfg);
|
|
420
|
+
}
|
|
421
|
+
const key = `${b.successes}/${b.trials}`;
|
|
422
|
+
const known = stopRuns.get(key);
|
|
423
|
+
if (known !== undefined)
|
|
424
|
+
return known;
|
|
425
|
+
const runs = expectedStopRuns(b, b.successes / b.trials, m, cfg);
|
|
426
|
+
stopRuns.set(key, runs);
|
|
427
|
+
return runs;
|
|
428
|
+
};
|
|
429
|
+
const priced = planned.filter((p) => (baseline.get(p.caseId)?.trials ?? 0) > 0).length;
|
|
430
|
+
const typicalObservations = planned.reduce((a, p) => a + observations(p), 0);
|
|
431
|
+
const typicalRuns = planned.reduce((a, p) => a + observations(p) * runsPerObs(p), 0);
|
|
432
|
+
const runsPerObservation = typicalObservations > 0
|
|
433
|
+
? typicalRuns / typicalObservations
|
|
434
|
+
: recommendedDesign === "paired"
|
|
435
|
+
? 2
|
|
436
|
+
: 1;
|
|
437
|
+
const meanTypical = priced > 0 ? typicalRuns / priced : 0;
|
|
438
|
+
const typicalScreenedRuns = Math.ceil(screenPassRuns + Math.ceil(m * screenContinueFraction) * meanTypical);
|
|
318
439
|
const totals = {
|
|
319
440
|
cases: m,
|
|
320
441
|
decidableUnpaired: decidableUnpaired.length,
|
|
@@ -347,8 +468,12 @@ export function makePlan(cases, baseline, cfg = DEFAULT_PLAN, pilots = new Map()
|
|
|
347
468
|
const recommendation = decidableAny.length === 0
|
|
348
469
|
? `nothing is decidable at ${(cfg.mde * 100).toFixed(0)} points against this baseline, record more baseline runs or raise the MDE`
|
|
349
470
|
: recommendedDesign === "paired"
|
|
350
|
-
?
|
|
351
|
-
`
|
|
471
|
+
? (manyPairedOnly
|
|
472
|
+
? `pair the runs: ${pairedOnly.length}/${m} cases have an unpaired evidence ceiling under the bar, so no candidate budget can decide them`
|
|
473
|
+
: `pair the runs: ${pairedDesignCount}/${decidableAny.length} decidable cases are cheaper paired than against the stored baseline`) +
|
|
474
|
+
(cfg.design === undefined
|
|
475
|
+
? ` (the costs below price each case at its own design, two runs an observation where it is paired)`
|
|
476
|
+
: ` (the costs below are priced at two runs an observation, which is what pairing costs)`)
|
|
352
477
|
: totals.screenedCostUsd < totals.bestCostUsd
|
|
353
478
|
? `screen first, then run the sequential test on what the screen keeps ` +
|
|
354
479
|
`($${totals.screenedCostUsd.toFixed(2)} vs $${totals.bestCostUsd.toFixed(2)})`
|
|
@@ -413,6 +538,22 @@ export function affordabilityGrid(baselineRate, baselineTrials, cfg, budgetUsd,
|
|
|
413
538
|
// straight from `betaQuantile`, which answers 0 or 1 for a quantile outside
|
|
414
539
|
// (0,1) and about 0 for NaN instead of refusing. `makePlan` refuses it.
|
|
415
540
|
requireOpenProbability(cfg.nullQuantile, "nullQuantile", "affordabilityGrid");
|
|
541
|
+
// makePlan refuses both; unchecked, an fdr of 2 priced a grid cheaper than one at 0.05.
|
|
542
|
+
requireOpenProbability(cfg.fdr, "fdr", "affordabilityGrid");
|
|
543
|
+
requireSettleConfidence(cfg, "affordabilityGrid");
|
|
544
|
+
requireTrialGrid(cfg, "affordabilityGrid");
|
|
545
|
+
if (!(cfg.costPerRunUsd >= 0)) {
|
|
546
|
+
throw new PeeksafeError("PEEKSAFE_E_CONFIG", `affordabilityGrid: costPerRunUsd must be ≥ 0, got ${cfg.costPerRunUsd}`, {
|
|
547
|
+
detail: { costPerRunUsd: cfg.costPerRunUsd },
|
|
548
|
+
});
|
|
549
|
+
}
|
|
550
|
+
for (const m of caseCounts) {
|
|
551
|
+
if (!Number.isInteger(m) || m < 1) {
|
|
552
|
+
throw new PeeksafeError("PEEKSAFE_E_CONFIG", `affordabilityGrid: every case count must be a positive integer, got ${m}`, {
|
|
553
|
+
detail: { cases: m },
|
|
554
|
+
});
|
|
555
|
+
}
|
|
556
|
+
}
|
|
416
557
|
// Every other planner entry point refuses a case with no baseline: `planCase`
|
|
417
558
|
// returns IMPOSSIBLE with "no baseline", `evaluatePoint` throws on
|
|
418
559
|
// `baselineRuns < 1`, and `gate` throws PEEKSAFE_E_BASELINE_MISSING. This one
|
|
@@ -458,9 +599,12 @@ export function affordabilityGrid(baselineRate, baselineTrials, cfg, budgetUsd,
|
|
|
458
599
|
const p0 = betaQuantile(1 + s, 1 + baselineTrials - s, cfg.nullQuantile);
|
|
459
600
|
const p1 = Math.max(0.005, p0 - mde);
|
|
460
601
|
const rawN = sprtExpectedN(baselineRate, p0, p1, cfg.alpha, cfg.beta);
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
602
|
+
// A paired cell counts the pairs `shouldStopPaired` takes to settle, as `makePlan` does; the SPRT figure ignores the coupling.
|
|
603
|
+
const perCaseTypical = runsPerObs === 2
|
|
604
|
+
? expectedSettlePairs(baselineRate, cfg.pairCoupling, mde, cfg)
|
|
605
|
+
: Number.isFinite(rawN) && rawN > 0
|
|
606
|
+
? Math.min(cfg.maxTrials, Math.max(cfg.minTrials, Math.ceil(rawN)))
|
|
607
|
+
: cfg.maxTrials;
|
|
464
608
|
// Priced for the same design as the ceiling above (`runsPerObs`), or the
|
|
465
609
|
// cell quotes an unpaired price for a plan only pairing can execute.
|
|
466
610
|
const typicalRuns = Math.ceil((m * cfg.screenRuns + Math.ceil(m * 0.1) * perCaseTypical) * runsPerObs);
|
package/dist/plan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"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"}
|
package/dist/rand.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rand.d.ts","sourceRoot":"","sources":["../src/rand.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,IAAI;IACnB,IAAI,MAAM,CAAC;IACX,2CAA2C;IAC3C,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,8CAA8C;IAC9C,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,kFAAkF;IAClF,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7B,8CAA8C;IAC9C,MAAM,IAAI,MAAM,CAAC;CAClB;AAgCD,mEAAmE;AACnE,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAOxC;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"rand.d.ts","sourceRoot":"","sources":["../src/rand.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,IAAI;IACnB,IAAI,MAAM,CAAC;IACX,2CAA2C;IAC3C,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,8CAA8C;IAC9C,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,kFAAkF;IAClF,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7B,8CAA8C;IAC9C,MAAM,IAAI,MAAM,CAAC;CAClB;AAgCD,mEAAmE;AACnE,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAOxC;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAwDpD;AAED,+EAA+E;AAC/E,eAAO,MAAM,SAAS,aAAc,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KAAG,IAC1B,CAAC"}
|
package/dist/rand.js
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* It is not a fine thing to do by accident, which is why the constants are
|
|
21
21
|
* spelled out here rather than imported.
|
|
22
22
|
*/
|
|
23
|
-
import { PeeksafeError } from "./errors.js";
|
|
23
|
+
import { PeeksafeError, requireProbability } from "./errors.js";
|
|
24
24
|
/**
|
|
25
25
|
* LCG with Knuth's multiplier 1664525 and increment 1013904223, modulo 2^32.
|
|
26
26
|
*
|
|
@@ -59,10 +59,22 @@ export function hash32(s) {
|
|
|
59
59
|
return h >>> 0;
|
|
60
60
|
}
|
|
61
61
|
export function makeRand(seed) {
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
// `>>> 0` folded NaN, Infinity, 1.5 and 2^32 onto 0, and the old 0-to-1 remap put seed 1 there too.
|
|
63
|
+
if (typeof seed === "number" && !(Number.isInteger(seed) && seed >= 0 && seed < 0x100000000)) {
|
|
64
|
+
throw new PeeksafeError("PEEKSAFE_E_STAT_DOMAIN", `makeRand: a numeric seed must be an integer in [0, 2^32), got ${seed}`, {
|
|
65
|
+
detail: { seed },
|
|
66
|
+
hint: "pass a string to key a stream by name; it is hashed with hash32",
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
const s = typeof seed === "string" ? hash32(seed) : seed;
|
|
70
|
+
// Hull-Dobell: an odd increment and a multiplier of 1 mod 4 give a full period from every seed, 0 included.
|
|
71
|
+
const base = lcg(s);
|
|
64
72
|
const next = (() => mix32(Math.floor(base() * 0x100000000)) / 0x100000000);
|
|
65
|
-
next
|
|
73
|
+
// `next() < p` is false for every draw at NaN, so a rate that failed to compute simulated a case that never passes.
|
|
74
|
+
next.bernoulli = (p) => {
|
|
75
|
+
requireProbability(p, "p", "rand.bernoulli");
|
|
76
|
+
return next() < p;
|
|
77
|
+
};
|
|
66
78
|
next.int = (n) => {
|
|
67
79
|
if (!Number.isInteger(n) || n < 1) {
|
|
68
80
|
throw new PeeksafeError("PEEKSAFE_E_STAT_DOMAIN", `rand.int: n must be a positive integer, got ${n}`, {
|
package/dist/rand.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rand.js","sourceRoot":"","sources":["../src/rand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"rand.js","sourceRoot":"","sources":["../src/rand.ts"],"names":[],"mappings":"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"}
|
package/dist/stats.d.ts
CHANGED
|
@@ -202,8 +202,12 @@ export interface EbhResult {
|
|
|
202
202
|
threshold: number;
|
|
203
203
|
}
|
|
204
204
|
export declare function ebhCorrect(evalues: number[], q?: number): EbhResult;
|
|
205
|
-
/**
|
|
206
|
-
|
|
205
|
+
/**
|
|
206
|
+
* The e-value a case must reach to be certain of rejection whatever the others do.
|
|
207
|
+
*
|
|
208
|
+
* `q` is checked as `ebhCorrect` checks it, so a level of 0 answers Infinity.
|
|
209
|
+
*/
|
|
210
|
+
export declare function ebhSoloThreshold(m: number, q?: number): number;
|
|
207
211
|
/**
|
|
208
212
|
* Fixed-N sample size per arm for detecting a `delta` drop from `p0` at the
|
|
209
213
|
* given error rates. This is the "naive approach" peeksafe is measured against.
|
|
@@ -340,7 +344,7 @@ export interface PairedCounts {
|
|
|
340
344
|
/** both arms failed */
|
|
341
345
|
bothFail: number;
|
|
342
346
|
}
|
|
343
|
-
export declare
|
|
347
|
+
export declare function discordant(p: PairedCounts): number;
|
|
344
348
|
/**
|
|
345
349
|
* Phi coefficient of the 2×2 pair table, how well the pairing actually
|
|
346
350
|
* coupled the two arms. 0 means the seeds bought nothing (the arms are
|
package/dist/stats.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../src/stats.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../src/stats.ts"],"names":[],"mappings":"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"}
|