UNPKG

w-distributions

Version:
84 lines (79 loc) 2.1 kB
import Uniform from './uniform.mjs' import Normal from './normal.mjs' import Binomial from './binomial.mjs' import Studentt from './studentt.mjs' /** * 計算Uniform、Normal、Binomial、Studentt分佈參數 * * 因原版distributions使用cephes時未用compiled方式來支援瀏覽器, 且cephes內有使用node的Buffer, 需配合node polyfill編譯才能給前端瀏覽器使用 * * Fork: {@link https://github.com/AndreasMadsen/distributions distributions} * * Unit Test: {@link https://github.com/yuda-lyu/wsemi/blob/master/test/distri.test.js Github} * * @returns {Object} 回傳各分佈初始化函數 * @example * * //import wd from './src/WDistributions.mjs' * //import wd from './dist/w-distributions.umd.js' * //import wd from 'w-distributions' * * async function test() { * let r * * let normal = await wd.Normal(1,2) //mean=1,std deviation=2 * * r = normal.pdf(1) * console.log(r) * // => 0.19947114020071632 * * r = normal.cdf(1) * console.log(r) * // => 0.5 * * r = normal.inv(1) * console.log(r) * // => Infiniy * * r = normal.mean() * console.log(r) * // => 1 * * r = normal.median() * console.log(r) * // => 1 * * r = normal.variance() * console.log(r) * // => 4 * * //compare with: https://stattrek.com/online-calculator/t-distribution.aspx * * let studentt = await wd.Studentt(34) //degrees of freedom=34 * * r = studentt.inv(0.95) //one or two sided test p-values=0.95 * console.log(r) * // => 1.6909242551868549 * * studentt = await wd.Studentt(4) //degrees of freedom=4 * * r = studentt.inv(0.05) //one or two sided test p-values=0.05 * console.log(r) * // => -2.1318467863266504 * * } * test() * .catch((err) => { * console.log(err) * }) * */ function WDistributions() { return { Uniform, Normal, Binomial, Studentt, } } export default WDistributions()