UNPKG

@ai-on-browser/data-analysis-models

Version:

Data analysis model package without any dependencies

97 lines (96 loc) 3.04 kB
/** * Hidden Markov model */ export class HMM extends HMMBase { _b: any; _x_cand: any[]; _type: string; _bt(x: any, t: any): Matrix<T>; /** * Fit model. * @param {Array<Array<*>>} datas Training data * @param {boolean} scaled Do scaled calculation or not */ fit(datas: Array<Array<any>>, scaled?: boolean): void; /** * Returns probability of the datas. * @param {Array<Array<*>>} datas Sample data * @returns {number[]} Predicted values */ probability(datas: Array<Array<any>>): number[]; /** * Returns best path of the datas. * @param {Array<Array<*>>} data Sample data * @returns {Array<Array<number>>} Predicted path */ bestPath(data: Array<Array<any>>): Array<Array<number>>; } /** * Continuous hidden Markov model */ export class ContinuousHMM extends HMMBase { _k: number; _d: number; _c: Matrix<T>; _m: any[]; _s: any[]; _btk(o: any, t: any, k: any): Matrix<T>; _bt(o: any, t: any): Matrix<T>; /** * Fit model. * @param {Array<Array<number>> | Array<Array<Array<number>>>} x Training data * @param {boolean} scaled Do scaled calculation or not */ fit(x: Array<Array<number>> | Array<Array<Array<number>>>, scaled?: boolean): void; /** * Returns probability of the datas. * @param {Array<Array<number>> | Array<Array<Array<number>>>} datas Sample data * @returns {number[]} Predicted values */ probability(datas: Array<Array<number>> | Array<Array<Array<number>>>): number[]; /** * Returns best path of the datas. * @param {Array<Array<number>> | Array<Array<Array<number>>>} data Sample data * @returns {Array<Array<number>>} Predicted path */ bestPath(data: Array<Array<number>> | Array<Array<Array<number>>>): Array<Array<number>>; /** * Returns generated values. * @param {number} n Number of generated data * @param {number} length Path length * @returns {Array<Array<Array<number>>>} Generated values */ generate(n?: number, length?: number): Array<Array<Array<number>>>; } /** * Hidden Markov model */ declare class HMMBase { /** * @param {number} n Number of states */ constructor(n: number); _n: number; _a: Matrix<number>; _p: Matrix<T>; _bt(x: any, t: any): void; _forward(x: any, scaled?: boolean): (Matrix<T> | Matrix<T>[])[]; _backward(x: any, c?: any, prob?: boolean): Matrix<number>[]; _gamma(alpha: any, beta: any): Matrix<number>[]; _xi(x: any, alpha: any, beta: any, c: any): any[][]; _update(gamma: any, xi: any): void; /** * Returns probability of the datas. * @param {Matrix} x Sample data * @returns {Matrix} Predicted values */ probability(x: Matrix): Matrix; /** * Returns best path of the datas. * @param {Matrix} x Sample data * @returns {Matrix} Predicted path */ bestPath(x: Matrix): Matrix; } import Matrix from '../util/matrix.js'; export {};