12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- 'use strict';
- function AbstactStudentT(options) {
- this._options = options;
- }
- module.exports = AbstactStudentT;
- AbstactStudentT.prototype.testValue = function () {
- const diff = (this._mean - this._options.mu);
- return diff / this._se;
- };
- // Use cdf(-t) instead of 1 - cdf(t), and cdf(-|t|) instead of 1 - cdf(|t|)
- // to avoid a numerical error when computing 1 - epsilon.
- AbstactStudentT.prototype.pValue = function () {
- const t = this.testValue();
- switch (this._options.alternative) {
- case 1: // mu > mu[0]
- return this._dist.cdf(-t);
- case -1: // mu < mu[0]
- return this._dist.cdf(t);
- case 0: // mu != mu[0]
- return 2 * (this._dist.cdf(-Math.abs(t)));
- }
- };
- AbstactStudentT.prototype.confidence = function () {
- let pm;
- switch (this._options.alternative) {
- case 1: // mu > mu[0]
- pm = Math.abs(this._dist.inv(this._options.alpha)) * this._se;
- return [this._mean - pm, Infinity];
- case -1: // mu < mu[0]
- pm = Math.abs(this._dist.inv(this._options.alpha)) * this._se;
- return [-Infinity, this._mean + pm];
- case 0: // mu != mu[0]
- pm = Math.abs(this._dist.inv(this._options.alpha / 2)) * this._se;
- return [this._mean - pm, this._mean + pm];
- }
- };
- AbstactStudentT.prototype.valid = function () {
- return this.pValue() >= this._options.alpha;
- };
- AbstactStudentT.prototype.freedom = function () {
- return this._df;
- }
|