/// <summary> /// Генерация статистической модели на основе выбранных параметров и загруженной нормальной выборки. /// </summary> public void GenerateStatisticsModel() { var featureSets = new List <List <double> >(); foreach (var feature in _normalSet.First()) { featureSets.Add(new List <double>()); } foreach (var normalSample in _normalSet) { for (var i = 0; i < normalSample.Count; i++) { featureSets[i].Add(normalSample[i]); } } StatisticsModel = new MultiFeatureStatisticsModel(); foreach (var featureSet in featureSets) { StatisticsModel.FeatureStatisticsModels.Add(WaveletTransformator.GenerateStatisticsModel(featureSet, Wavelet)); } }
private void MenuItem_Wavelet(object sender, RoutedEventArgs e) { var wavelet = WaveletTransformator.WaveletStep(Img1, Size, 100); Img1.Source = wavelet; }
/// <summary> /// Осуществляет применение статистических алгоритмов обнаружения аномалий к переданным данным. /// </summary> /// <param name="data">Исследумеые данные, представленные в виде числовых векторов.</param> /// <param name="normalModel">Стастистическая модель нормальных данных.</param> /// <returns>Коллекцию результатов обнаружения аномалий, по одному для каждого из выбранных алгоритмов обнаружения.</returns> public IEnumerable <AnomalyDetectionResult> CheckOnAnomaly(IList <double> data, IWaveletTransformationStatisticsModel normalModel) { var testingModel = WaveletTransformator.GenerateStatisticsModel(data, normalModel.Wavelet); return(RunAnomalyDetectionAlgorithms(testingModel, normalModel)); }