UNPKG

agentjs-core

Version:

A comprehensive agent-based modeling framework with built-in p5.js visualization

80 lines 2.56 kB
import { EventEmitter } from 'eventemitter3'; import type { DataCollector } from './DataCollector'; export interface StatisticsResult { name: string; value: number; confidence?: number; metadata?: Record<string, any>; } export interface TrendAnalysis { slope: number; correlation: number; direction: 'increasing' | 'decreasing' | 'stable'; strength: 'weak' | 'moderate' | 'strong'; significance: number; } export interface DistributionAnalysis { mean: number; median: number; mode: number[]; standardDeviation: number; variance: number; skewness: number; kurtosis: number; quartiles: [number, number, number]; outliers: number[]; } export interface NetworkAnalysis { density: number; clustering: number; averagePathLength: number; centralityMetrics: { degree: Record<string, number>; betweenness: Record<string, number>; closeness: Record<string, number>; }; communities: string[][]; smallWorldCoefficient: number; } export interface StatisticsEngineConfig { analysisInterval: number; enableTrendAnalysis: boolean; enableDistributionAnalysis: boolean; enableNetworkAnalysis: boolean; minDataPointsForAnalysis: number; confidenceLevel: number; } export declare class StatisticsEngine extends EventEmitter { private dataCollector; private config; private analysisResults; private lastAnalysisTime; constructor(dataCollector: DataCollector, config?: Partial<StatisticsEngineConfig>); private setupEventListeners; private shouldPerformAnalysis; private performAnalysis; private analyzeTimeSeries; private calculateBasicStatistics; private analyzeTrend; private analyzeDistribution; private analyzeSimulationMetrics; private analyzeNetworkMetrics; private storeResult; getStatistic(category: string, metric: string): StatisticsResult | null; getStatisticHistory(category: string, metric: string): StatisticsResult[]; getAllCurrentStatistics(): Record<string, StatisticsResult>; getAvailableMetrics(): string[]; generateReport(): { summary: Record<string, number>; trends: Record<string, TrendAnalysis>; distributions: Record<string, DistributionAnalysis>; timestamp: number; }; reset(): void; exportResults(): { statistics: Record<string, StatisticsResult[]>; config: StatisticsEngineConfig; exportTimestamp: number; }; } //# sourceMappingURL=StatisticsEngine.d.ts.map