pragmastat 5.2.0 → 6.0.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/README.md +13 -8
- package/dist/assumptions.d.ts +4 -0
- package/dist/assumptions.d.ts.map +1 -1
- package/dist/assumptions.js +14 -0
- package/dist/assumptions.js.map +1 -1
- package/dist/estimators.d.ts +20 -1
- package/dist/estimators.d.ts.map +1 -1
- package/dist/estimators.js +35 -11
- package/dist/estimators.js.map +1 -1
- package/dist/fastShift.d.ts +12 -0
- package/dist/fastShift.d.ts.map +1 -1
- package/dist/fastShift.js +28 -0
- package/dist/fastShift.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
Install from npm:
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
npm i pragmastat@
|
|
6
|
+
npm i pragmastat@6.0.0
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Source code: https://github.com/AndreyAkinshin/pragmastat/tree/
|
|
9
|
+
Source code: https://github.com/AndreyAkinshin/pragmastat/tree/v6.0.0/ts
|
|
10
10
|
|
|
11
11
|
Pragmastat on npm: https://www.npmjs.com/package/pragmastat
|
|
12
12
|
|
|
@@ -14,7 +14,7 @@ Pragmastat on npm: https://www.npmjs.com/package/pragmastat
|
|
|
14
14
|
|
|
15
15
|
```typescript
|
|
16
16
|
import {
|
|
17
|
-
median, center, spread, relSpread, shift, ratio, avgSpread, disparity, shiftBounds, pairwiseMargin,
|
|
17
|
+
median, center, spread, relSpread, shift, ratio, avgSpread, disparity, shiftBounds, ratioBounds, pairwiseMargin,
|
|
18
18
|
Rng, Uniform, Additive, Exp, Power, Multiplic
|
|
19
19
|
} from '../src';
|
|
20
20
|
|
|
@@ -58,14 +58,14 @@ function main() {
|
|
|
58
58
|
|
|
59
59
|
// --- Single-Sample Statistics ---
|
|
60
60
|
|
|
61
|
-
let x = [
|
|
61
|
+
let x = [1, 3, 5, 7, 9];
|
|
62
62
|
|
|
63
|
-
console.log(median(x)); //
|
|
64
|
-
console.log(center(x)); //
|
|
63
|
+
console.log(median(x)); // 5
|
|
64
|
+
console.log(center(x)); // 5
|
|
65
65
|
console.log(spread(x)); // 4
|
|
66
66
|
console.log(spread(x.map(v => v + 10))); // 4
|
|
67
67
|
console.log(spread(x.map(v => v * 2))); // 8
|
|
68
|
-
console.log(relSpread(x)); //
|
|
68
|
+
console.log(relSpread(x)); // 0.8
|
|
69
69
|
|
|
70
70
|
// --- Two-Sample Comparison ---
|
|
71
71
|
|
|
@@ -81,6 +81,7 @@ function main() {
|
|
|
81
81
|
x = [1, 2, 4, 8, 16];
|
|
82
82
|
y = [2, 4, 8, 16, 32];
|
|
83
83
|
console.log(ratio(x, y)); // 0.5
|
|
84
|
+
console.log(ratio(y, x)); // 2
|
|
84
85
|
|
|
85
86
|
// --- Confidence Bounds ---
|
|
86
87
|
|
|
@@ -89,7 +90,11 @@ function main() {
|
|
|
89
90
|
|
|
90
91
|
console.log(pairwiseMargin(30, 30, 1e-4)); // 390
|
|
91
92
|
console.log(shift(x, y)); // -20
|
|
92
|
-
console.log(shiftBounds(x, y, 1e-4)); //
|
|
93
|
+
console.log(shiftBounds(x, y, 1e-4)); // { lower: -30, upper: -10 }
|
|
94
|
+
|
|
95
|
+
x = [1, 2, 3, 4, 5];
|
|
96
|
+
y = [2, 3, 4, 5, 6];
|
|
97
|
+
console.log(ratioBounds(x, y, 0.05)); // { lower: 0.333..., upper: 1.5 }
|
|
93
98
|
}
|
|
94
99
|
|
|
95
100
|
main();
|
package/dist/assumptions.d.ts
CHANGED
|
@@ -30,4 +30,8 @@ export declare class AssumptionError extends Error {
|
|
|
30
30
|
export declare function checkValidity(values: number[], subject: Subject, functionName: string): void;
|
|
31
31
|
export declare function checkPositivity(values: number[], subject: Subject, functionName: string): void;
|
|
32
32
|
export declare function checkSparity(values: number[], subject: Subject, functionName: string): void;
|
|
33
|
+
/**
|
|
34
|
+
* Log-transforms an array. Throws AssumptionError if any value is non-positive.
|
|
35
|
+
*/
|
|
36
|
+
export declare function log(values: number[], subject: Subject, functionName: string): number[];
|
|
33
37
|
//# sourceMappingURL=assumptions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assumptions.d.ts","sourceRoot":"","sources":["../src/assumptions.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,YAAY;;;;CAIf,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAE5E,MAAM,MAAM,OAAO,GAAG,GAAG,GAAG,GAAG,CAAC;AAEhC,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,YAAY,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;gBAElB,SAAS,EAAE,SAAS;IAMhC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,eAAe;IAIzE,MAAM,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,eAAe;IAI3E,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,eAAe;CAGzE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAO5F;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAI9F;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAQ3F"}
|
|
1
|
+
{"version":3,"file":"assumptions.d.ts","sourceRoot":"","sources":["../src/assumptions.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,YAAY;;;;CAIf,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAE5E,MAAM,MAAM,OAAO,GAAG,GAAG,GAAG,GAAG,CAAC;AAEhC,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,YAAY,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;gBAElB,SAAS,EAAE,SAAS;IAMhC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,eAAe;IAIzE,MAAM,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,eAAe;IAI3E,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,eAAe;CAGzE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAO5F;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAI9F;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAQ3F;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAStF"}
|
package/dist/assumptions.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.AssumptionError = exports.AssumptionId = void 0;
|
|
|
4
4
|
exports.checkValidity = checkValidity;
|
|
5
5
|
exports.checkPositivity = checkPositivity;
|
|
6
6
|
exports.checkSparity = checkSparity;
|
|
7
|
+
exports.log = log;
|
|
7
8
|
const fastSpread_1 = require("./fastSpread");
|
|
8
9
|
/**
|
|
9
10
|
* Assumption validation framework for Pragmastat estimators.
|
|
@@ -60,4 +61,17 @@ function checkSparity(values, subject, functionName) {
|
|
|
60
61
|
throw AssumptionError.sparity(functionName, subject);
|
|
61
62
|
}
|
|
62
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Log-transforms an array. Throws AssumptionError if any value is non-positive.
|
|
66
|
+
*/
|
|
67
|
+
function log(values, subject, functionName) {
|
|
68
|
+
const result = new Array(values.length);
|
|
69
|
+
for (let i = 0; i < values.length; i++) {
|
|
70
|
+
if (values[i] <= 0) {
|
|
71
|
+
throw AssumptionError.positivity(functionName, subject);
|
|
72
|
+
}
|
|
73
|
+
result[i] = Math.log(values[i]);
|
|
74
|
+
}
|
|
75
|
+
return result;
|
|
76
|
+
}
|
|
63
77
|
//# sourceMappingURL=assumptions.js.map
|
package/dist/assumptions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assumptions.js","sourceRoot":"","sources":["../src/assumptions.ts"],"names":[],"mappings":";;;AAmDA,sCAOC;AAED,0CAIC;AAED,oCAQC;
|
|
1
|
+
{"version":3,"file":"assumptions.js","sourceRoot":"","sources":["../src/assumptions.ts"],"names":[],"mappings":"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"}
|
package/dist/estimators.d.ts
CHANGED
|
@@ -40,7 +40,9 @@ export declare function relSpread(x: number[]): number;
|
|
|
40
40
|
*/
|
|
41
41
|
export declare function shift(x: number[], y: number[]): number;
|
|
42
42
|
/**
|
|
43
|
-
* Calculate the Ratio - median of all pairwise ratios (x[i] / y[j])
|
|
43
|
+
* Calculate the Ratio - median of all pairwise ratios (x[i] / y[j]) via log-transformation
|
|
44
|
+
* Equivalent to: exp(Shift(log(x), log(y)))
|
|
45
|
+
* Uses fast O((m + n) * log(precision)) algorithm.
|
|
44
46
|
*
|
|
45
47
|
* Assumptions:
|
|
46
48
|
* positivity(x) - all values in x must be strictly positive
|
|
@@ -98,4 +100,21 @@ export interface Bounds {
|
|
|
98
100
|
* @throws AssumptionError if either sample is empty or contains NaN/Inf
|
|
99
101
|
*/
|
|
100
102
|
export declare function shiftBounds(x: number[], y: number[], misrate: number): Bounds;
|
|
103
|
+
/**
|
|
104
|
+
* Provides bounds on the Ratio estimator with specified misclassification rate (RatioBounds)
|
|
105
|
+
*
|
|
106
|
+
* Computes bounds via log-transformation and ShiftBounds delegation:
|
|
107
|
+
* RatioBounds(x, y, misrate) = exp(ShiftBounds(log(x), log(y), misrate))
|
|
108
|
+
*
|
|
109
|
+
* Assumptions:
|
|
110
|
+
* positivity(x) - all values in x must be strictly positive
|
|
111
|
+
* positivity(y) - all values in y must be strictly positive
|
|
112
|
+
*
|
|
113
|
+
* @param x First sample
|
|
114
|
+
* @param y Second sample
|
|
115
|
+
* @param misrate Misclassification rate (probability that true ratio falls outside bounds)
|
|
116
|
+
* @returns An object containing the lower and upper bounds
|
|
117
|
+
* @throws AssumptionError if either sample is empty, contains NaN/Inf, or contains non-positive values
|
|
118
|
+
*/
|
|
119
|
+
export declare function ratioBounds(x: number[], y: number[], misrate: number): Bounds;
|
|
101
120
|
//# sourceMappingURL=estimators.d.ts.map
|
package/dist/estimators.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"estimators.d.ts","sourceRoot":"","sources":["../src/estimators.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"estimators.d.ts","sourceRoot":"","sources":["../src/estimators.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAI1C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAM1C;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAW7C;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAMtD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAWtD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAkB1D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAqB1D;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAqC7E;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAgB7E"}
|
package/dist/estimators.js
CHANGED
|
@@ -11,7 +11,7 @@ exports.ratio = ratio;
|
|
|
11
11
|
exports.avgSpread = avgSpread;
|
|
12
12
|
exports.disparity = disparity;
|
|
13
13
|
exports.shiftBounds = shiftBounds;
|
|
14
|
-
|
|
14
|
+
exports.ratioBounds = ratioBounds;
|
|
15
15
|
const fastCenter_1 = require("./fastCenter");
|
|
16
16
|
const fastSpread_1 = require("./fastSpread");
|
|
17
17
|
const fastShift_1 = require("./fastShift");
|
|
@@ -82,7 +82,9 @@ function shift(x, y) {
|
|
|
82
82
|
return (0, fastShift_1.fastShift)(x, y, [0.5], false)[0];
|
|
83
83
|
}
|
|
84
84
|
/**
|
|
85
|
-
* Calculate the Ratio - median of all pairwise ratios (x[i] / y[j])
|
|
85
|
+
* Calculate the Ratio - median of all pairwise ratios (x[i] / y[j]) via log-transformation
|
|
86
|
+
* Equivalent to: exp(Shift(log(x), log(y)))
|
|
87
|
+
* Uses fast O((m + n) * log(precision)) algorithm.
|
|
86
88
|
*
|
|
87
89
|
* Assumptions:
|
|
88
90
|
* positivity(x) - all values in x must be strictly positive
|
|
@@ -102,15 +104,7 @@ function ratio(x, y) {
|
|
|
102
104
|
(0, assumptions_1.checkPositivity)(x, 'x', 'Ratio');
|
|
103
105
|
// Check positivity for y (priority 1, subject y)
|
|
104
106
|
(0, assumptions_1.checkPositivity)(y, 'y', 'Ratio');
|
|
105
|
-
|
|
106
|
-
const ny = y.length;
|
|
107
|
-
const pairwiseRatios = [];
|
|
108
|
-
for (let i = 0; i < nx; i++) {
|
|
109
|
-
for (let j = 0; j < ny; j++) {
|
|
110
|
-
pairwiseRatios.push(x[i] / y[j]);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
return (0, utils_1.median)(pairwiseRatios);
|
|
107
|
+
return (0, fastShift_1.fastRatio)(x, y, [0.5], false)[0];
|
|
114
108
|
}
|
|
115
109
|
/**
|
|
116
110
|
* Calculate the AvgSpread - weighted average of spreads: (n*Spread(x) + m*Spread(y))/(n+m)
|
|
@@ -213,4 +207,34 @@ function shiftBounds(x, y, misrate) {
|
|
|
213
207
|
const upper = Math.max(left, right);
|
|
214
208
|
return { lower, upper };
|
|
215
209
|
}
|
|
210
|
+
/**
|
|
211
|
+
* Provides bounds on the Ratio estimator with specified misclassification rate (RatioBounds)
|
|
212
|
+
*
|
|
213
|
+
* Computes bounds via log-transformation and ShiftBounds delegation:
|
|
214
|
+
* RatioBounds(x, y, misrate) = exp(ShiftBounds(log(x), log(y), misrate))
|
|
215
|
+
*
|
|
216
|
+
* Assumptions:
|
|
217
|
+
* positivity(x) - all values in x must be strictly positive
|
|
218
|
+
* positivity(y) - all values in y must be strictly positive
|
|
219
|
+
*
|
|
220
|
+
* @param x First sample
|
|
221
|
+
* @param y Second sample
|
|
222
|
+
* @param misrate Misclassification rate (probability that true ratio falls outside bounds)
|
|
223
|
+
* @returns An object containing the lower and upper bounds
|
|
224
|
+
* @throws AssumptionError if either sample is empty, contains NaN/Inf, or contains non-positive values
|
|
225
|
+
*/
|
|
226
|
+
function ratioBounds(x, y, misrate) {
|
|
227
|
+
(0, assumptions_1.checkValidity)(x, 'x', 'RatioBounds');
|
|
228
|
+
(0, assumptions_1.checkValidity)(y, 'y', 'RatioBounds');
|
|
229
|
+
// Log-transform samples (includes positivity check)
|
|
230
|
+
const logX = (0, assumptions_1.log)(x, 'x', 'RatioBounds');
|
|
231
|
+
const logY = (0, assumptions_1.log)(y, 'y', 'RatioBounds');
|
|
232
|
+
// Delegate to shiftBounds in log-space
|
|
233
|
+
const logBounds = shiftBounds(logX, logY, misrate);
|
|
234
|
+
// Exp-transform back to ratio-space
|
|
235
|
+
return {
|
|
236
|
+
lower: Math.exp(logBounds.lower),
|
|
237
|
+
upper: Math.exp(logBounds.upper),
|
|
238
|
+
};
|
|
239
|
+
}
|
|
216
240
|
//# sourceMappingURL=estimators.js.map
|
package/dist/estimators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"estimators.js","sourceRoot":"","sources":["../src/estimators.ts"],"names":[],"mappings":";AAAA;;GAEG;;
|
|
1
|
+
{"version":3,"file":"estimators.js","sourceRoot":"","sources":["../src/estimators.ts"],"names":[],"mappings":"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"}
|
package/dist/fastShift.d.ts
CHANGED
|
@@ -17,4 +17,16 @@
|
|
|
17
17
|
* @internal
|
|
18
18
|
*/
|
|
19
19
|
export declare function fastShift(x: number[], y: number[], p: number[], assumeSorted?: boolean): number[];
|
|
20
|
+
/**
|
|
21
|
+
* Computes quantiles of all pairwise ratios { x_i / y_j } via log-transformation.
|
|
22
|
+
* Time: O((m + n) * log(precision)) per quantile. Space: O(m + n).
|
|
23
|
+
*
|
|
24
|
+
* @param x First array of positive numeric values
|
|
25
|
+
* @param y Second array of positive numeric values
|
|
26
|
+
* @param p Probabilities in [0, 1]
|
|
27
|
+
* @param assumeSorted If false, arrays will be sorted
|
|
28
|
+
* @returns Array of quantile values corresponding to probabilities in p
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
export declare function fastRatio(x: number[], y: number[], p: number[], assumeSorted?: boolean): number[];
|
|
20
32
|
//# sourceMappingURL=fastShift.d.ts.map
|
package/dist/fastShift.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fastShift.d.ts","sourceRoot":"","sources":["../src/fastShift.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"fastShift.d.ts","sourceRoot":"","sources":["../src/fastShift.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CACvB,CAAC,EAAE,MAAM,EAAE,EACX,CAAC,EAAE,MAAM,EAAE,EACX,CAAC,EAAE,MAAM,EAAE,EACX,YAAY,GAAE,OAAe,GAC5B,MAAM,EAAE,CAwEV;AAmHD;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CACvB,CAAC,EAAE,MAAM,EAAE,EACX,CAAC,EAAE,MAAM,EAAE,EACX,CAAC,EAAE,MAAM,EAAE,EACX,YAAY,GAAE,OAAe,GAC5B,MAAM,EAAE,CAiBV"}
|
package/dist/fastShift.js
CHANGED
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.fastShift = fastShift;
|
|
11
|
+
exports.fastRatio = fastRatio;
|
|
12
|
+
const assumptions_1 = require("./assumptions");
|
|
11
13
|
/**
|
|
12
14
|
* Computes quantiles of all pairwise differences { x_i - y_j }.
|
|
13
15
|
* Time: O((m + n) * log(precision)) per quantile. Space: O(1).
|
|
@@ -171,4 +173,30 @@ function countAndNeighbors(x, y, threshold) {
|
|
|
171
173
|
function midpoint(a, b) {
|
|
172
174
|
return a + (b - a) * 0.5;
|
|
173
175
|
}
|
|
176
|
+
/**
|
|
177
|
+
* Computes quantiles of all pairwise ratios { x_i / y_j } via log-transformation.
|
|
178
|
+
* Time: O((m + n) * log(precision)) per quantile. Space: O(m + n).
|
|
179
|
+
*
|
|
180
|
+
* @param x First array of positive numeric values
|
|
181
|
+
* @param y Second array of positive numeric values
|
|
182
|
+
* @param p Probabilities in [0, 1]
|
|
183
|
+
* @param assumeSorted If false, arrays will be sorted
|
|
184
|
+
* @returns Array of quantile values corresponding to probabilities in p
|
|
185
|
+
* @internal
|
|
186
|
+
*/
|
|
187
|
+
function fastRatio(x, y, p, assumeSorted = false) {
|
|
188
|
+
if (!x || !y || !p) {
|
|
189
|
+
throw new Error('All inputs must be non-null');
|
|
190
|
+
}
|
|
191
|
+
if (x.length === 0 || y.length === 0) {
|
|
192
|
+
throw new Error('x and y must be non-empty');
|
|
193
|
+
}
|
|
194
|
+
// Log-transform both samples (includes positivity check)
|
|
195
|
+
const logX = (0, assumptions_1.log)(x, 'x', 'Ratio');
|
|
196
|
+
const logY = (0, assumptions_1.log)(y, 'y', 'Ratio');
|
|
197
|
+
// Delegate to fastShift in log-space
|
|
198
|
+
const logResult = fastShift(logX, logY, p, assumeSorted);
|
|
199
|
+
// Exp-transform back to ratio-space
|
|
200
|
+
return logResult.map((v) => Math.exp(v));
|
|
201
|
+
}
|
|
174
202
|
//# sourceMappingURL=fastShift.js.map
|
package/dist/fastShift.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fastShift.js","sourceRoot":"","sources":["../src/fastShift.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;
|
|
1
|
+
{"version":3,"file":"fastShift.js","sourceRoot":"","sources":["../src/fastShift.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* A collection of robust statistical estimators for real-world data analysis.
|
|
5
5
|
*/
|
|
6
6
|
export { AssumptionId, AssumptionError, type Subject, type Violation } from './assumptions';
|
|
7
|
-
export { center, spread, relSpread, shift, ratio, avgSpread, disparity, shiftBounds, type Bounds, } from './estimators';
|
|
7
|
+
export { center, spread, relSpread, shift, ratio, avgSpread, disparity, shiftBounds, ratioBounds, type Bounds, } from './estimators';
|
|
8
8
|
export { median } from './utils';
|
|
9
9
|
export { pairwiseMargin } from './pairwiseMargin';
|
|
10
10
|
export { Rng } from './rng';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAG5F,OAAO,EACL,MAAM,EACN,MAAM,EACN,SAAS,EACT,KAAK,EACL,KAAK,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,KAAK,MAAM,GACZ,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,EAAE,KAAK,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAG5F,OAAO,EACL,MAAM,EACN,MAAM,EACN,SAAS,EACT,KAAK,EACL,KAAK,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,WAAW,EACX,KAAK,MAAM,GACZ,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,EAAE,KAAK,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* A collection of robust statistical estimators for real-world data analysis.
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.Power = exports.Exp = exports.Multiplic = exports.Additive = exports.Uniform = exports.Rng = exports.pairwiseMargin = exports.median = exports.shiftBounds = exports.disparity = exports.avgSpread = exports.ratio = exports.shift = exports.relSpread = exports.spread = exports.center = exports.AssumptionError = exports.AssumptionId = void 0;
|
|
8
|
+
exports.Power = exports.Exp = exports.Multiplic = exports.Additive = exports.Uniform = exports.Rng = exports.pairwiseMargin = exports.median = exports.ratioBounds = exports.shiftBounds = exports.disparity = exports.avgSpread = exports.ratio = exports.shift = exports.relSpread = exports.spread = exports.center = exports.AssumptionError = exports.AssumptionId = void 0;
|
|
9
9
|
// Assumptions
|
|
10
10
|
var assumptions_1 = require("./assumptions");
|
|
11
11
|
Object.defineProperty(exports, "AssumptionId", { enumerable: true, get: function () { return assumptions_1.AssumptionId; } });
|
|
@@ -20,6 +20,7 @@ Object.defineProperty(exports, "ratio", { enumerable: true, get: function () { r
|
|
|
20
20
|
Object.defineProperty(exports, "avgSpread", { enumerable: true, get: function () { return estimators_1.avgSpread; } });
|
|
21
21
|
Object.defineProperty(exports, "disparity", { enumerable: true, get: function () { return estimators_1.disparity; } });
|
|
22
22
|
Object.defineProperty(exports, "shiftBounds", { enumerable: true, get: function () { return estimators_1.shiftBounds; } });
|
|
23
|
+
Object.defineProperty(exports, "ratioBounds", { enumerable: true, get: function () { return estimators_1.ratioBounds; } });
|
|
23
24
|
var utils_1 = require("./utils");
|
|
24
25
|
Object.defineProperty(exports, "median", { enumerable: true, get: function () { return utils_1.median; } });
|
|
25
26
|
var pairwiseMargin_1 = require("./pairwiseMargin");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,cAAc;AACd,6CAA4F;AAAnF,2GAAA,YAAY,OAAA;AAAE,8GAAA,eAAe,OAAA;AAEtC,aAAa;AACb,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,cAAc;AACd,6CAA4F;AAAnF,2GAAA,YAAY,OAAA;AAAE,8GAAA,eAAe,OAAA;AAEtC,aAAa;AACb,2CAWsB;AAVpB,oGAAA,MAAM,OAAA;AACN,oGAAA,MAAM,OAAA;AACN,uGAAA,SAAS,OAAA;AACT,mGAAA,KAAK,OAAA;AACL,mGAAA,KAAK,OAAA;AACL,uGAAA,SAAS,OAAA;AACT,uGAAA,SAAS,OAAA;AACT,yGAAA,WAAW,OAAA;AACX,yGAAA,WAAW,OAAA;AAIb,iCAAiC;AAAxB,+FAAA,MAAM,OAAA;AAEf,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AAEvB,6BAA4B;AAAnB,0FAAA,GAAG,OAAA;AAEZ,+CAAoG;AAAxE,gGAAA,OAAO,OAAA;AAAE,iGAAA,QAAQ,OAAA;AAAE,kGAAA,SAAS,OAAA;AAAE,4FAAA,GAAG,OAAA;AAAE,8FAAA,KAAK,OAAA"}
|