ttest
Version:
Perform the Student's t hypothesis test
181 lines (151 loc) • 5.36 kB
JavaScript
'use strict';
const test = require('tap').test;
const ttest = require('../../hypothesis.js');
const equals = require('../equals.js');
const summary = require('summary');
test('testing not equal alternative', function (t) {
const res = ttest([1, 2, 2, 2, 4], [0, 3, 3, 3, 2], {
mu: 1,
varEqual: false,
alpha: 0.05,
alternative: 'not equal'
});
equals(t, res, {
valid: true,
freedom: 7.769053117782910966582,
pValue: 0.22661539838413605,
testValue: -1.313064328597225660644,
confidence: [
-1.7653291692417925,
1.7653291692417925
]
});
t.end();
});
test('testing not equal alternative with summary', function (t) {
const res = ttest(summary([1, 2, 2, 2, 4]), summary([0, 3, 3, 3, 2]), {
mu: 1,
varEqual: false,
alpha: 0.05,
alternative: 'not equal'
});
equals(t, res, {
valid: true,
freedom: 7.769053117782910966582,
pValue: 0.22661539838413605,
testValue: -1.313064328597225660644,
confidence: [
-1.7653291692417925,
1.7653291692417925
]
});
t.end();
});
test('testing less alternative', function (t) {
const res = ttest([1, 2, 2, 2, 4], [0, 3, 3, 3, 2], {
mu: 1,
varEqual: false,
alpha: 0.05,
alternative: 'less'
});
equals(t, res, {
valid: true,
freedom: 7.769053117782910966582,
pValue: 0.11330769919206803,
testValue: -1.313064328597225660644,
confidence: [
-Infinity,
1.4216665293566955
]
});
t.end();
});
test('testing greater alternative', function (t) {
const res = ttest([1, 2, 2, 2, 4], [0, 3, 3, 3, 2], {
mu: 1,
varEqual: false,
alpha: 0.05,
alternative: 'greater'
});
equals(t, res, {
valid: true,
freedom: 7.769053117782910966582,
pValue: 0.8866923008079319,
testValue: -1.313064328597225660644,
confidence: [
-1.4216665293566955,
Infinity
]
});
t.end();
});
test('numerical error when p is close to zero', function (t) {
const ttest = require('ttest');
const ref = [
3.861147687082808,4.1833109086557325,3.973594179324881,
4.067660887263925,3.7661981850423203,3.8407050592346477,
3.983494353110395,3.791224198364107,3.7573201433330223,
3.6326953678695757,3.649353001081396,4.008367559943343,
3.642362926456249,3.9386159539971635,3.965380930294604,
3.720419087302582,4.019779785322333,3.916874280250766,
3.9826331513375517,3.8487184246955795,3.9777597010041306,
3.9301399596581796,3.3977074280624233,4.016225096648127,
3.9947182452600187,3.7147293468453944,3.9650116229578796,
4.15261985914954,4.072283338272716,4.018258042542346,
4.275900504663435,4.247052603538485,3.8632869646479966,
4.195181524801175,4.061338223974988,3.997470766890559,
4.151394128832368,3.956574144537081,4.102028418283781,
3.895513445852064,4.294429613680861,4.147884159109542,
4.324981618980995,3.9225663296782742,3.9036535245451747,
3.996488485132162,4.068017402803237,3.9086757816917657,
4.1985806684438485,4.215712687842988,4.141082407873602,
4.130592122446437,3.9844787517550766,4.055413115719177,
4.295688728970604,3.9295909891273317,4.018853727187908,
4.211687367710041,4.039532923487119,4.150267003760778,
3.9571008871840943,4.250207443005561,3.6432440226648395,
4.0926554219335065,3.9671228831029244,4.050496312050845,
4.08886200014234,3.9569368332194244,3.973713976092726,
4.078102228403546,3.8457644781798885,4.063690907132751,
4.072802425585134
];
const other = [
4.196088504937897,4.297600006725063,4.380931627957188,
4.229470416380346,4.51424161894835,4.15374761736698,
4.185259220991428,4.1184978606339735,4.242710204234378,
4.357880244428704,4.2342678907235465,4.417689232509152,
4.391094295930451,4.270372284867759,4.404107881034074,
4.088192613114767,4.327923994691726,4.094632609126974,
4.169154407256733,4.291471956751135,3.9389016863511612,
4.236946427323764,4.429129606388344,4.362366516924023,
4.15712520715034,4.273894263027447,4.291340851721514,
4.156093971770384,4.18322608310349,4.242268731414564,
4.282951092770966,4.250751025033699,4.1722021750486595,
4.223035449341226,4.236514858116207,4.370006322215913,
4.2523040462607495,4.418104161273623,4.005054694044181,
4.332140449797302,4.114901342239478,4.235374982468168,
4.189091743846535,4.391354534957378,4.395337620628255,
4.331974041511989,4.406671154699146,4.399646144051766,
4.2813460855899175,4.289620122487038,4.390782160631226,
4.229368785039166,4.006587130212967,4.179324028691534,
4.126061175939888,4.2893865958789,4.26270828836601,
4.439895292474625,4.221064697480762,4.1670134964393455,
4.123864672737084,4.416479313108734,4.253537292991181,
4.141417410861353,4.239734666096584,4.263623754941469,
3.9763012135882425,4.251617630059521,4.292616064339593,
4.498105896751339,4.266088146494694,4.175256450633397,
4.375893778023997,4.2857149056812665,4.298162810306891,
4.40570741930156,4.332451872647763
];
const res = ttest(ref, other, { varEqual: false });
equals(t, res, {
valid: false,
freedom: 124.78698315673383,
pValue: 9.192938947804553e-20,
testValue: -10.865820339325207,
confidence: [
-0.31682232117864595,
-0.21919020661869715
]
});
t.end();
});