peeksafe 0.1.0 → 0.3.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 +220 -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 +9 -6
- package/dist/frontier.d.ts.map +1 -1
- package/dist/frontier.js +99 -55
- 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 +65 -17
- package/dist/plan.d.ts.map +1 -1
- package/dist/plan.js +289 -51
- 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 +103 -45
- package/dist/stats.js.map +1 -1
- package/dist/stop.d.ts.map +1 -1
- package/dist/stop.js +12 -4
- 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 +131 -71
- package/src/gate.ts +6 -1
- package/src/plan.ts +355 -66
- package/src/rand.ts +20 -4
- package/src/stats.ts +134 -51
- package/src/stop.ts +16 -4
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":"AAsCA,wEAAwE;AACxE,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAoB1C;AAED,eAAO,MAAM,OAAO,MAAO,MAAM,KAAK,MAAM,KAAG,MACF,CAAC;AAoC9C,qEAAqE;AACrE,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAUnD;AAED;;;;GAIG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAIrC;AAED,iCAAiC;AACjC,eAAO,MAAM,SAAS,MAAO,MAAM,KAAG,MAAyC,CAAC;AAEhF,uEAAuE;AACvE,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAsDhD;AA2DD,8DAA8D;AAC9D,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAmB7D;AAID,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAgBD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,SAAoB,GAAG,QAAQ,CAkB5F;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,0EAA0E;AAC1E,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAA0B,GAC7D,aAAa,CAwBf;AAED,2FAA2F;AAC3F,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CA2B3E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAwBvD;AAED,0DAA0D;AAC1D,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,SAAO,GAAG,QAAQ,CAShF;AAED,2CAA2C;AAC3C,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAajF;AAID;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,CAAC,SAAoB,GACpB,QAAQ,CAmBV;AAED,iFAAiF;AACjF,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAItD;AAID,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,CAAC,EAAE,MAAM,CAAC;CACX;AAED,+CAA+C;AAC/C,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CAW7F;AAKD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAiCtF;AAID,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC;AAElE,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,sFAAsF;IACtF,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,kFAAkF;IAClF,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,CA4BvD;AAkCD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,SAAO,EAAE,IAAI,SAAM,GAAG,MAAM,CA8CjG;AAyBD,MAAM,WAAW,QAAQ;IACvB,8DAA8D;IAC9D,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,SAAO,GAAG,QAAQ,CA2B/D;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAsB1F;AA0DD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAC3B,kBAAkB,EAAE,MAAM,EAC1B,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,MAAM;AACX;;;;GAIG;AACH,gBAAgB,SAAI,GACnB,MAAM,CA0BR;AAeD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,SAAO,GAAG,SAAS,CAuBjE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,SAAO,GAAG,MAAM,CAa5D;AAID;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,KAAK,SAAO,EACZ,IAAI,SAAM,GACT,MAAM,CA6BR;AAED,mFAAmF;AACnF,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAGlD;AASD,yCAAyC;AACzC,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAQlE;AAED;8EAC8E;AAC9E,wBAAgB,eAAe,CAC7B,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,MAAM,EACX,gBAAgB,SAAI,GACnB;IAAE,SAAS,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CA0B7E;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,MAAM,EACX,gBAAgB,SAAI,GACnB,MAAM,CAaR;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAMlF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,yBAAyB,CACvC,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,gBAAgB,SAAI,GACnB,MAAM,CAuCR;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,CAAC,EAAE,MAAM,EACT,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,MAAM,EACX,gBAAgB,SAAI,GACnB,MAAM,CAqBR;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,CAAC,EAAE,MAAM,EACT,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,MAAM,EACX,gBAAgB,SAAI,GACnB,MAAM,CAsBR;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,IAAI,SAAU,EACd,gBAAgB,SAAI,GACnB,MAAM,CAwBR;AAgCD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,kBAAkB,EAAE,MAAM,EAC1B,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,MAAM,EACX,gBAAgB,SAAI,GACnB,MAAM,CAiBR;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,MAAM,GACrB,MAAM,CAmBR;AAgBD,MAAM,WAAW,YAAY;IAC3B,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAGlD;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAO/C;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,EACvB,QAAQ,SAAO,EACf,aAAa,SAAI,GAChB,MAAM,CAQR;AAYD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACV;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAiBjC;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,QAAQ,SAAU,EAClB,aAAa,SAAI,GAChB,MAAM,CAoBR;AAID;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,MAAM,EACtB,kBAAkB,EAAE,MAAM,EAC1B,eAAe,EAAE,MAAM,EACvB,GAAG,EAAE,MAAM,EACX,KAAK,SAAM,GACV,MAAM,CAiCR"}
|
package/dist/stats.js
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* whose honest answer is "no finite sample size will do", see
|
|
21
21
|
* `sampleSizeTwoProportion`.
|
|
22
22
|
*/
|
|
23
|
-
import { PeeksafeError, requireCounts, requireOpenProbability, requireProbability, } from "./errors.js";
|
|
23
|
+
import { PeeksafeError, requireCounts, requireErrorRates, requireOpenProbability, requirePairedCounts, requireProbability, } from "./errors.js";
|
|
24
24
|
/* ────────────────────────── special functions ────────────────────────── */
|
|
25
25
|
const LANCZOS = [
|
|
26
26
|
676.5203681218851, -1259.1392167224028, 771.32342877765313, -176.61502916214059,
|
|
@@ -28,6 +28,12 @@ const LANCZOS = [
|
|
|
28
28
|
];
|
|
29
29
|
/** Lanczos approximation to log Γ(x), x > 0. ~15 significant digits. */
|
|
30
30
|
export function logGamma(x) {
|
|
31
|
+
// Below 0 the reflection answered finite values at the poles, 37.78 at x = -1, and Infinity answered NaN.
|
|
32
|
+
if (!(x > 0) || x === Infinity) {
|
|
33
|
+
throw new PeeksafeError("PEEKSAFE_E_STAT_DOMAIN", `logGamma: x must be finite and positive, got ${x}`, {
|
|
34
|
+
detail: { x },
|
|
35
|
+
});
|
|
36
|
+
}
|
|
31
37
|
if (x < 0.5) {
|
|
32
38
|
// reflection: Γ(x)Γ(1-x) = π / sin(πx)
|
|
33
39
|
return Math.log(Math.PI / Math.abs(Math.sin(Math.PI * x))) - logGamma(1 - x);
|
|
@@ -78,8 +84,16 @@ function gammaQContinued(a, x) {
|
|
|
78
84
|
}
|
|
79
85
|
/** Regularized lower incomplete gamma P(a,x), accurate to ~1e-15. */
|
|
80
86
|
export function gammaP(a, x) {
|
|
87
|
+
// A shape at or below 0 answered a negative probability, and x = Infinity fed Infinity - Infinity to exp.
|
|
88
|
+
if (!(a > 0) || !Number.isFinite(a) || Number.isNaN(x)) {
|
|
89
|
+
throw new PeeksafeError("PEEKSAFE_E_STAT_DOMAIN", "gammaP: need finite a > 0 and a number x", {
|
|
90
|
+
detail: { a, x },
|
|
91
|
+
});
|
|
92
|
+
}
|
|
81
93
|
if (x <= 0)
|
|
82
94
|
return 0;
|
|
95
|
+
if (x === Infinity)
|
|
96
|
+
return 1;
|
|
83
97
|
return x < a + 1 ? gammaPSeries(a, x) : 1 - gammaQContinued(a, x);
|
|
84
98
|
}
|
|
85
99
|
/**
|
|
@@ -97,6 +111,12 @@ export function erf(x) {
|
|
|
97
111
|
export const normalCdf = (x) => 0.5 * (1 + erf(x / Math.SQRT2));
|
|
98
112
|
/** Φ⁻¹(p): Acklam's inverse normal CDF, refined by one Halley step. */
|
|
99
113
|
export function normalQuantile(p) {
|
|
114
|
+
// Every branch below compares false for NaN, so it fell through to the tail formula and came back NaN.
|
|
115
|
+
if (Number.isNaN(p)) {
|
|
116
|
+
throw new PeeksafeError("PEEKSAFE_E_STAT_DOMAIN", "normalQuantile: p must be a number, got NaN", {
|
|
117
|
+
detail: { p },
|
|
118
|
+
});
|
|
119
|
+
}
|
|
100
120
|
if (p <= 0)
|
|
101
121
|
return -Infinity;
|
|
102
122
|
if (p >= 1)
|
|
@@ -215,6 +235,15 @@ export function ibeta(a, b, x) {
|
|
|
215
235
|
betaContinuedFraction(b, a, 1 - x)) /
|
|
216
236
|
b;
|
|
217
237
|
}
|
|
238
|
+
// A negative z swapped the bounds and a non-finite one made them NaN; checked before the empty-arm returns.
|
|
239
|
+
function requireZ(z, where) {
|
|
240
|
+
if (!Number.isFinite(z) || z < 0) {
|
|
241
|
+
throw new PeeksafeError("PEEKSAFE_E_STAT_DOMAIN", `${where}: z must be finite and ≥ 0, got ${z}`, {
|
|
242
|
+
detail: { z, where },
|
|
243
|
+
hint: "a standard normal quantile, such as 1.96 for a 95% interval",
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
}
|
|
218
247
|
/**
|
|
219
248
|
* Wilson score interval for a binomial proportion.
|
|
220
249
|
* Correct at the boundaries (0/n and n/n) where Wald is degenerate, which is
|
|
@@ -222,6 +251,7 @@ export function ibeta(a, b, x) {
|
|
|
222
251
|
*/
|
|
223
252
|
export function wilsonInterval(successes, n, z = 1.959963984540054) {
|
|
224
253
|
requireCounts(successes, n, "wilsonInterval");
|
|
254
|
+
requireZ(z, "wilsonInterval");
|
|
225
255
|
// No data is not "p = 0.5". The interval is the whole line and the point
|
|
226
256
|
// estimate is NaN-free only because callers must check `n`, which is why
|
|
227
257
|
// `n` is echoed back in `observations`.
|
|
@@ -268,6 +298,12 @@ export function betaQuantile(alpha, beta, q) {
|
|
|
268
298
|
detail: { alpha, beta, q },
|
|
269
299
|
});
|
|
270
300
|
}
|
|
301
|
+
// The clamps below are kept, but a NaN fails every comparison in the bisection and came back near 0.
|
|
302
|
+
if (Number.isNaN(q)) {
|
|
303
|
+
throw new PeeksafeError("PEEKSAFE_E_STAT_DOMAIN", "betaQuantile: q must be a number, got NaN", {
|
|
304
|
+
detail: { alpha, beta, q },
|
|
305
|
+
});
|
|
306
|
+
}
|
|
271
307
|
if (q <= 0)
|
|
272
308
|
return 0;
|
|
273
309
|
if (q >= 1)
|
|
@@ -325,6 +361,8 @@ export function tQuantile(p, df) {
|
|
|
325
361
|
}
|
|
326
362
|
/** Equal-tailed credible interval of a Beta posterior. */
|
|
327
363
|
export function betaCredibleInterval(post, level = 0.95) {
|
|
364
|
+
// betaQuantile clamps q to [0, 1], so a level of 95 or -1 came back as [0, 1] or [1, 0].
|
|
365
|
+
requireOpenProbability(level, "level", "betaCredibleInterval");
|
|
328
366
|
const tail = (1 - level) / 2;
|
|
329
367
|
return {
|
|
330
368
|
low: betaQuantile(post.alpha, post.beta, tail),
|
|
@@ -352,6 +390,7 @@ export function betaMassBetween(post, a, b) {
|
|
|
352
390
|
export function diffInterval(s1, n1, s2, n2, z = 1.959963984540054) {
|
|
353
391
|
requireCounts(s1, n1, "diffInterval(arm 1)");
|
|
354
392
|
requireCounts(s2, n2, "diffInterval(arm 2)");
|
|
393
|
+
requireZ(z, "diffInterval");
|
|
355
394
|
// With an empty arm there is no difference to estimate. Saying so beats
|
|
356
395
|
// reporting `p2 − 0` as if the missing arm had scored zero.
|
|
357
396
|
if (n1 === 0 || n2 === 0)
|
|
@@ -446,8 +485,9 @@ export function sprtDecision(opts) {
|
|
|
446
485
|
// against a wall that is not a number. An alpha of 0 puts `upper` at
|
|
447
486
|
// Infinity, which no evidence ever crosses. Open at both ends: an error rate
|
|
448
487
|
// of 0 is a test that never decides and one of 1 is a test that always does.
|
|
449
|
-
|
|
450
|
-
|
|
488
|
+
// At `alpha + beta >= 1` the walls meet or cross, so a test at 0 runs and a
|
|
489
|
+
// log likelihood ratio of 0 already sat on the H1 wall and answered ACCEPT_H1.
|
|
490
|
+
requireErrorRates(alpha, beta, "sprtDecision");
|
|
451
491
|
const e = 1e-12;
|
|
452
492
|
const cl = (x) => Math.min(1 - e, Math.max(e, x));
|
|
453
493
|
const q0 = cl(p0), q1 = cl(p1);
|
|
@@ -525,8 +565,9 @@ export function sprtExpectedN(p, p0, p1, alpha = 0.05, beta = 0.1) {
|
|
|
525
565
|
// and quote `maxTrials` when that fails, which both answers do, so a plan
|
|
526
566
|
// built on an out-of-range error rate priced every case at the per-case cap
|
|
527
567
|
// and reported it as a budget, with nothing to say it was not a real answer.
|
|
528
|
-
|
|
529
|
-
|
|
568
|
+
// At `alpha + beta >= 1` the test decides before its first run, and this
|
|
569
|
+
// answered 0 or a small positive number instead of saying so.
|
|
570
|
+
requireErrorRates(alpha, beta, "sprtExpectedN");
|
|
530
571
|
const A = Math.log((1 - beta) / alpha);
|
|
531
572
|
const B = Math.log(beta / (1 - alpha));
|
|
532
573
|
const logR1 = Math.log(p1 / p0);
|
|
@@ -537,17 +578,6 @@ export function sprtExpectedN(p, p0, p1, alpha = 0.05, beta = 0.1) {
|
|
|
537
578
|
// are both 0 and no number of runs ends the test.
|
|
538
579
|
if (second === 0)
|
|
539
580
|
return Infinity;
|
|
540
|
-
// `A === B` is `alpha + beta === 1`: both walls sit at a log likelihood ratio
|
|
541
|
-
// of 0, which is where the test starts, so it decides before it has seen
|
|
542
|
-
// anything and the expected sample number is 0. The general form is
|
|
543
|
-
// `(L1·(A − B) + B) / drift`, which is 0 whatever `L1` is, but it computes
|
|
544
|
-
// `L1` as `(1 − B^h) / (A^h − B^h)`, a genuine 0/0 here, and so returned NaN
|
|
545
|
-
// for in-domain error rates: (0.5, 0.5) and (0.25, 0.75) both landed on it.
|
|
546
|
-
// The neighbouring configurations already converge to 0 from both sides.
|
|
547
|
-
// Only the pairs where both logs round to exactly 0 were affected, which is
|
|
548
|
-
// why this survived the error-rate guards above.
|
|
549
|
-
if (A === B)
|
|
550
|
-
return 0;
|
|
551
581
|
// The ASN is 0/0 where the tilt vanishes, and that limit is the one place
|
|
552
582
|
// Wald's formula needs a different expression. What decides whether the
|
|
553
583
|
// quotient is really 0/0 is the *tilt*, not the drift: near the zero
|
|
@@ -581,9 +611,8 @@ export function sprtExpectedN(p, p0, p1, alpha = 0.05, beta = 0.1) {
|
|
|
581
611
|
* outside the two hypotheses, so the two powers are evaluated relative to
|
|
582
612
|
* whichever of them is largest. Written as plain `exp`, a tilt of −662, which is
|
|
583
613
|
* p = 0.0025 against p₀ = 0.999 and p₁ = 0.99, overflows `B^h` to Infinity and
|
|
584
|
-
* the ratio comes back NaN
|
|
585
|
-
*
|
|
586
|
-
* silently prices the case at `maxTrials`.
|
|
614
|
+
* the ratio comes back NaN, which a caller testing the result for `> 0` reads
|
|
615
|
+
* as no estimate at all.
|
|
587
616
|
*/
|
|
588
617
|
function sprtAcceptH1(h, A, B, drift) {
|
|
589
618
|
// No tilt exists at p = 0 or p = 1: one outcome is impossible, so the drift
|
|
@@ -665,6 +694,31 @@ function requireConcentration(k, name, where) {
|
|
|
665
694
|
});
|
|
666
695
|
}
|
|
667
696
|
}
|
|
697
|
+
/**
|
|
698
|
+
* The most runs a sample-size search may try. Below 1, or NaN, the doubling
|
|
699
|
+
* loop never ran and the search answered Infinity, "no number of runs will
|
|
700
|
+
* do", for a design that needs a few hundred.
|
|
701
|
+
*/
|
|
702
|
+
function requireSearchCap(cap, name, where) {
|
|
703
|
+
if (!(cap >= 1) || !Number.isFinite(cap)) {
|
|
704
|
+
throw new PeeksafeError("PEEKSAFE_E_STAT_DOMAIN", `${where}: ${name} must be finite and at least 1, got ${cap}`, {
|
|
705
|
+
detail: { [name]: cap, where },
|
|
706
|
+
});
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
/**
|
|
710
|
+
* The log e-value bar a sample-size search sizes a study to. A NaN bar loses
|
|
711
|
+
* every comparison the searches make, so one answered a single pair and the
|
|
712
|
+
* other Infinity, "no number of runs will do", for the same mistake.
|
|
713
|
+
*/
|
|
714
|
+
function requireLogThreshold(logThreshold, where) {
|
|
715
|
+
if (!Number.isFinite(logThreshold)) {
|
|
716
|
+
throw new PeeksafeError("PEEKSAFE_E_STAT_DOMAIN", `${where}: logThreshold must be finite, got ${logThreshold}`, {
|
|
717
|
+
detail: { logThreshold },
|
|
718
|
+
hint: "this is a log e-value bar, such as Math.log(ebhSoloThreshold(m, fdr))",
|
|
719
|
+
});
|
|
720
|
+
}
|
|
721
|
+
}
|
|
668
722
|
// Below 1 a shape piles alternative mass onto 0 or 1, which pushed type I error past alpha for thin baselines.
|
|
669
723
|
const ALT_SHAPE_FLOOR = 1;
|
|
670
724
|
/**
|
|
@@ -747,8 +801,21 @@ export function ebhCorrect(evalues, q = 0.05) {
|
|
|
747
801
|
rejected[order[k].i] = true;
|
|
748
802
|
return { rejected, discoveries: kStar, threshold: kStar > 0 ? m / (q * kStar) : m / q };
|
|
749
803
|
}
|
|
750
|
-
/**
|
|
751
|
-
|
|
804
|
+
/**
|
|
805
|
+
* The e-value a case must reach to be certain of rejection whatever the others do.
|
|
806
|
+
*
|
|
807
|
+
* `q` is checked as `ebhCorrect` checks it, so a level of 0 answers Infinity.
|
|
808
|
+
*/
|
|
809
|
+
export function ebhSoloThreshold(m, q = 0.05) {
|
|
810
|
+
if (!Number.isInteger(m) || m < 1) {
|
|
811
|
+
throw new PeeksafeError("PEEKSAFE_E_STAT_DOMAIN", `ebhSoloThreshold: m must be a positive integer, got ${m}`, {
|
|
812
|
+
detail: { m },
|
|
813
|
+
hint: "m is the number of cases in the e-BH family",
|
|
814
|
+
});
|
|
815
|
+
}
|
|
816
|
+
requireProbability(q, "q", "ebhSoloThreshold");
|
|
817
|
+
return m / q;
|
|
818
|
+
}
|
|
752
819
|
/* ──────────────────────────────── planning ──────────────────────────── */
|
|
753
820
|
/**
|
|
754
821
|
* Fixed-N sample size per arm for detecting a `delta` drop from `p0` at the
|
|
@@ -770,6 +837,12 @@ export function sampleSizeTwoProportion(p0, delta, alpha = 0.05, beta = 0.1) {
|
|
|
770
837
|
// naive design costs.
|
|
771
838
|
requireOpenProbability(alpha, "alpha", "sampleSizeTwoProportion");
|
|
772
839
|
requireOpenProbability(beta, "beta", "sampleSizeTwoProportion");
|
|
840
|
+
// Both comparisons below are false for NaN, so it fell through to the formula and came back NaN.
|
|
841
|
+
if (Number.isNaN(delta)) {
|
|
842
|
+
throw new PeeksafeError("PEEKSAFE_E_STAT_DOMAIN", "sampleSizeTwoProportion: delta must be a number, got NaN", {
|
|
843
|
+
detail: { p0, delta },
|
|
844
|
+
});
|
|
845
|
+
}
|
|
773
846
|
if (delta <= 0 || delta >= p0)
|
|
774
847
|
return Infinity;
|
|
775
848
|
const p1 = p0 - delta;
|
|
@@ -987,6 +1060,8 @@ export function expectedLogEExact(pTrue, n, baselineSuccesses, baselineTrials, m
|
|
|
987
1060
|
* that no number of runs will do.
|
|
988
1061
|
*/
|
|
989
1062
|
export function samplesForEvidence(pTrue, baselineSuccesses, baselineTrials, mde, logThreshold, maxN = 100_000, altConcentration = 8) {
|
|
1063
|
+
requireSearchCap(maxN, "maxN", "samplesForEvidence");
|
|
1064
|
+
requireLogThreshold(logThreshold, "samplesForEvidence");
|
|
990
1065
|
const ceiling = evidenceCeilingLogE(pTrue, baselineSuccesses, baselineTrials, mde, altConcentration);
|
|
991
1066
|
if (!(ceiling > logThreshold))
|
|
992
1067
|
return Infinity;
|
|
@@ -1077,7 +1152,10 @@ export function universalCeilingLogE(pTrue, baselineSuccesses, baselineTrials) {
|
|
|
1077
1152
|
const p = Math.max(1e-12, pTrue);
|
|
1078
1153
|
return occam + baselineTrials * (xlogy(pb, pb / p) + xlogy(1 - pb, (1 - pb) / (1 - p)));
|
|
1079
1154
|
}
|
|
1080
|
-
export
|
|
1155
|
+
export function discordant(p) {
|
|
1156
|
+
requirePairedCounts(p, "discordant");
|
|
1157
|
+
return p.worse + p.better;
|
|
1158
|
+
}
|
|
1081
1159
|
/**
|
|
1082
1160
|
* Phi coefficient of the 2×2 pair table, how well the pairing actually
|
|
1083
1161
|
* coupled the two arms. 0 means the seeds bought nothing (the arms are
|
|
@@ -1086,19 +1164,8 @@ export const discordant = (p) => p.worse + p.better;
|
|
|
1086
1164
|
* not assumed.
|
|
1087
1165
|
*/
|
|
1088
1166
|
export function pairPhi(p) {
|
|
1167
|
+
requirePairedCounts(p, "pairPhi");
|
|
1089
1168
|
const { bothPass: a, worse: b, better: cc, bothFail: d } = p;
|
|
1090
|
-
for (const [name, v] of [
|
|
1091
|
-
["bothPass", a],
|
|
1092
|
-
["worse", b],
|
|
1093
|
-
["better", cc],
|
|
1094
|
-
["bothFail", d],
|
|
1095
|
-
]) {
|
|
1096
|
-
if (!Number.isInteger(v) || v < 0) {
|
|
1097
|
-
throw new PeeksafeError("PEEKSAFE_E_STAT_DOMAIN", `pairPhi: ${name} must be a non-negative integer, got ${v}`, {
|
|
1098
|
-
detail: { counts: p },
|
|
1099
|
-
});
|
|
1100
|
-
}
|
|
1101
|
-
}
|
|
1102
1169
|
const n = a + b + cc + d;
|
|
1103
1170
|
if (n === 0)
|
|
1104
1171
|
return 0;
|
|
@@ -1167,17 +1234,8 @@ export function pairedDiscordance(pBaseline, mde, rho) {
|
|
|
1167
1234
|
*/
|
|
1168
1235
|
export function mcnemarSamplesForEvidence(pBaseline, mde, rho, logThreshold, maxPairs = 100_000, concentration = 6) {
|
|
1169
1236
|
requireConcentration(concentration, "concentration", "mcnemarSamplesForEvidence");
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
// not fire, and the bisection returned its own starting point. The answer
|
|
1173
|
-
// came back as one pair, where the same design at a real 15pt effect needs
|
|
1174
|
-
// 172. `samplesForEvidence` writes its guard negated and so refuses instead.
|
|
1175
|
-
if (!Number.isFinite(logThreshold)) {
|
|
1176
|
-
throw new PeeksafeError("PEEKSAFE_E_STAT_DOMAIN", `mcnemarSamplesForEvidence: logThreshold must be finite, got ${logThreshold}`, {
|
|
1177
|
-
detail: { logThreshold },
|
|
1178
|
-
hint: "this is a log e-value bar, such as Math.log(ebhSoloThreshold(m, fdr))",
|
|
1179
|
-
});
|
|
1180
|
-
}
|
|
1237
|
+
requireSearchCap(maxPairs, "maxPairs", "mcnemarSamplesForEvidence");
|
|
1238
|
+
requireLogThreshold(logThreshold, "mcnemarSamplesForEvidence");
|
|
1181
1239
|
const { rate, theta } = pairedDiscordance(pBaseline, mde, rho);
|
|
1182
1240
|
if (rate <= 0 || theta <= 0.5)
|
|
1183
1241
|
return Infinity;
|
package/dist/stats.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../src/stats.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../src/stats.ts"],"names":[],"mappings":"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"}
|
package/dist/stop.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../src/stop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAQlD,OAAO,EAEL,KAAK,QAAQ,EAId,MAAM,eAAe,CAAC;AAEvB,OAAO,EAIL,KAAK,YAAY,EAGlB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,UAAU;AACpB,mEAAmE;AACjE,WAAW;AACb;;;;GAIG;GACD,SAAS;AACX;;;GAGG;GACD,QAAQ;AACV;;;GAGG;GACD,YAAY;AACd,6CAA6C;GAC3C,QAAQ;AACV,mBAAmB;GACjB,UAAU,CAAC;AAEf,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;IACnB,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mEAAmE;IACnE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,oBAAoB;aAC/B,GAAG;aACH,GAAG;aACH,gBAAgB;aAChB,QAAQ;aACR,kBAAkB,EAAE,IAAI;CAChB,CAAC;
|
|
1
|
+
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../src/stop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAQlD,OAAO,EAEL,KAAK,QAAQ,EAId,MAAM,eAAe,CAAC;AAEvB,OAAO,EAIL,KAAK,YAAY,EAGlB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,UAAU;AACpB,mEAAmE;AACjE,WAAW;AACb;;;;GAIG;GACD,SAAS;AACX;;;GAGG;GACD,QAAQ;AACV;;;GAGG;GACD,YAAY;AACd,6CAA6C;GAC3C,QAAQ;AACV,mBAAmB;GACjB,UAAU,CAAC;AAEf,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;IACnB,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mEAAmE;IACnE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,oBAAoB;aAC/B,GAAG;aACH,GAAG;aACH,gBAAgB;aAChB,QAAQ;aACR,kBAAkB,EAAE,IAAI;CAChB,CAAC;AA6BX;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/C,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,WAAW,GACnB,YAAY,CAyJd;AAED,MAAM,WAAW,iBAAiB;IAChC,4FAA4F;IAC5F,SAAS,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gHAAgH;IAChH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE/E,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC7F,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,oHAAoH;IACpH,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,iBAAiB,GACzB,kBAAkB,CAwEpB"}
|
package/dist/stop.js
CHANGED
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
*/
|
|
47
47
|
import { PeeksafeError, requireAltConcentration, requireCounts, requireOpenProbability, requirePairedCounts, } from "./errors.js";
|
|
48
48
|
import { ceilingLogEvidence, logEvidence, requireEvidence, toEvalue, } from "./evidence.js";
|
|
49
|
-
import { cannotDropBy, DEFAULT_GATE_OPTIONS } from "./gate.js";
|
|
49
|
+
import { cannotDropBy, DEFAULT_GATE_OPTIONS, definedOptions } from "./gate.js";
|
|
50
50
|
import { discordant, ebhSoloThreshold, normalQuantile, pairedLogE, wilsonInterval, } from "./stats.js";
|
|
51
51
|
export const DEFAULT_STOP_OPTIONS = {
|
|
52
52
|
mde: DEFAULT_GATE_OPTIONS.mde,
|
|
@@ -63,7 +63,15 @@ const zFor = (confidence) => {
|
|
|
63
63
|
hint: "a two-sided confidence level such as 0.95; higher makes futility fire later",
|
|
64
64
|
});
|
|
65
65
|
}
|
|
66
|
-
|
|
66
|
+
const z = normalQuantile(1 - (1 - confidence) / 2);
|
|
67
|
+
// At the largest double below 1 the upper tail rounds to 1, and an infinite z reached the ceiling as NaN.
|
|
68
|
+
if (!Number.isFinite(z)) {
|
|
69
|
+
throw new PeeksafeError("PEEKSAFE_E_CONFIG", `shouldStop: futilityConfidence ${confidence} is too close to 1 for a finite interval`, {
|
|
70
|
+
detail: { futilityConfidence: confidence },
|
|
71
|
+
hint: "a two-sided confidence level such as 0.95; higher makes futility fire later",
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
return z;
|
|
67
75
|
};
|
|
68
76
|
/**
|
|
69
77
|
* Decide whether to keep running one case.
|
|
@@ -78,7 +86,7 @@ const zFor = (confidence) => {
|
|
|
78
86
|
* ```
|
|
79
87
|
*/
|
|
80
88
|
export function shouldStop(observed, baseline, options) {
|
|
81
|
-
const opts = { ...DEFAULT_STOP_OPTIONS, ...options };
|
|
89
|
+
const opts = { ...DEFAULT_STOP_OPTIONS, ...definedOptions(options) };
|
|
82
90
|
requireCounts(observed.successes, observed.trials, "shouldStop");
|
|
83
91
|
requireCounts(baseline.successes, baseline.trials, "shouldStop.baseline");
|
|
84
92
|
requireOpenProbability(opts.mde, "mde", "shouldStop");
|
|
@@ -189,7 +197,7 @@ export function shouldStop(observed, baseline, options) {
|
|
|
189
197
|
* second e-process against "dropped by at least `mde`", valid under repeated looks like `regressed`.
|
|
190
198
|
*/
|
|
191
199
|
export function shouldStopPaired(counts, options) {
|
|
192
|
-
const opts = { ...DEFAULT_STOP_OPTIONS, ...options };
|
|
200
|
+
const opts = { ...DEFAULT_STOP_OPTIONS, ...definedOptions(options) };
|
|
193
201
|
requirePairedCounts(counts, "shouldStopPaired");
|
|
194
202
|
requireOpenProbability(opts.mde, "mde", "shouldStopPaired");
|
|
195
203
|
requireOpenProbability(opts.fdr, "fdr", "shouldStopPaired");
|