UNPKG

taguchi

Version:

A TypeScript package for implementing Taguchi Method design of experiments

59 lines (58 loc) 1.62 kB
export type Factor = { name: string; levels: any[]; }; export type ExperimentResult = { factors: Record<string, any>; result: number; }; export type OrthogonalArrayType = 'L4' | 'L8' | 'L9' | 'L16' | 'L18'; export declare enum SNRatioType { LARGER_IS_BETTER = "LARGER_IS_BETTER", SMALLER_IS_BETTER = "SMALLER_IS_BETTER", NOMINAL_IS_BEST = "NOMINAL_IS_BEST" } export interface TaguchiConfig { type: OrthogonalArrayType; factors: Record<string, any[]>; snRatioType: SNRatioType; targetValue?: number; poolingThreshold?: number; } export type AnalysisResult = { optimalLevels: Record<string, number>; snRatios: Record<string, number[]>; mainEffects: Record<string, number[]>; contributions: Record<string, number>; variance: Record<string, { ss: number; df: number; ms: number; f: number; contribution: number; confidenceInterval?: [number, number]; isPooled?: boolean; }>; error?: { ss: number; df: number; ms: number; pooledFactors: string[]; }; }; export declare class Taguchi { private factors; private orthogonalArray; private snRatioType; private targetValue?; private poolingThreshold; private error?; constructor(config: TaguchiConfig); private validateArrayType; generateExperiments(): Array<Record<string, any>>; private calculateSNRatio; private calculateConfidenceInterval; private calculateMainEffects; private calculateANOVA; analyzeResults(results: ExperimentResult[]): AnalysisResult; }