diff options
Diffstat (limited to 'pbt/ts/src/stats.ts')
| -rw-r--r-- | pbt/ts/src/stats.ts | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/pbt/ts/src/stats.ts b/pbt/ts/src/stats.ts index 8c50856..8f9832c 100644 --- a/pbt/ts/src/stats.ts +++ b/pbt/ts/src/stats.ts @@ -86,15 +86,11 @@ export function chiSquare (samples : number [], expected : number []) : number { throw new Error("Samples and expected arrays must have the same length."); } - let chiSquareValue = 0; - for (let i = 0; i < samples.length; i++) { - const observed = samples[i]; + return samples.reduce((acc, observed, i) => { const exp = expected[i]; if (exp === 0) { throw new Error("Expected frequency cannot be zero."); } - chiSquareValue += Math.pow(observed - exp, 2) / exp; - } - - return chiSquareValue; + return acc + Math.pow(observed - exp, 2) / exp; + }, 0); } |
