This package helps run Chi-Squared hypothesis tests for testing distributions on numerical data. Details follow.
This library can easily be integrated in to your project manually. Alternatively, the library can be included using npm/GitHub packages.
npm install chi-sq-test
To run chi-squared test for a given dataset
ChiSqTest.gof(fObs, fExp, ddof)
Documentation
fObs
: [Array] Array of observed frequencies for each category
Default: No default value, essential argfExp
: [Array] Array of expected frequencies in each category
Default: By default all categories are assumed to be equally likely. Expected frequency of each category would be the mean of observed frequencies.ddof
: [number] delta degrees of freedom.
Effective degrees of freedom =k - 1 - ddof
, where k is the number of observed frequencies.
Default ddof: 0
const ChiSqTest = require('chi-sq-test');
const obs = [2, 3, 4]; // observed frequencies
const exp = [3, 4, 5]; // expected frequencies
const ddof = 0; // delta degree of freedom (Degree Of Freedom = 3-1 = 2)
const testres1 = ChiSqTest.gof(obs, exp, ddof);
console.log(testres1);
/*
=> { value: 0.7833333333333332, pValue: 0.6759293959125221 }
*/
const testres2 = ChiSqTest.gof(obs); // mean fObs is used as fExp by default
console.log(testres2);
/*
=> { value: 0.6666666666666666, pValue: 0.7165313783925148 }
*/
Function gof
returns a JSON object, which contains Chi-Square value
and the pValue
for the given dataset.
ChiSqTest.independence(fObs, ddof)
Documentation
fObs
: [2D Array] 2D-Array of observed frequencies of interestcting categories Tij = (Ai ∩ Bj)
Default: No default value, essential argddof
: [number] delta degrees of freedom.
Effective degrees of freedom =(k - 1).(m - 1) - ddof
, where k and m are number of categories in sets A and B respectively.
Default ddof: 0
Statement
We have an email-dataset which is divided in two ways. \ A = {with image, without images} \ B = {Spam, No Spam}fObs(i,j) | With Images | Without Images |
---|---|---|
Spam | 160 | 240 |
No Spam | 140 | 460 |
const ChiSqTest = require('chi-sq-test');
const obs = [
[160, 240],
[140, 460]
];
console.log(
ChiSqTest.independence(obs, 0)
);
/*
=> { value: 31.746031746031747, pValue: 1.7570790822318827e-8 }
*/
Output:
Function independence
returns a JSON object, which contains Chi-Square value
and the pValue
for the hypothesis for indpendence.