Exemplo n.º 1
0
 public void RemoveStatisticalComparisonOperationModel(StatisticalComparisonOperationModel model)
 {
     if (model != null)
     {
         model.OperationModelUpdated -= StatisticalComparisonOperationModel_OperationModelUpdated;
         model.PropertyChanged       -= StatisticalComparisonOperationModel_PropertyChanged;
     }
 }
Exemplo n.º 2
0
        public void AddStatisticalComparisonOperationModel(StatisticalComparisonOperationModel model)
        {
            model.ModelId = _riskOperationModel.ModelId;

            model.OperationModelUpdated -= StatisticalComparisonOperationModel_OperationModelUpdated;
            model.PropertyChanged       -= StatisticalComparisonOperationModel_PropertyChanged;

            model.OperationModelUpdated += StatisticalComparisonOperationModel_OperationModelUpdated;
            model.PropertyChanged       += StatisticalComparisonOperationModel_PropertyChanged;
            model.FireOperationModelUpdated(new OperationModelUpdatedEventArgs());
        }
        public static AddComparisonParameters GetAddComparisonOperationParameters(StatisticalComparisonOperationModel model, int sampleSize)
        {
            var addComparison = new AddComparisonParameters
            {
                ComparisonOrder = model.ComparisonOrder,
                ModelId         = model.ModelId
            };

            if (model.TestType == TestType.chi2)
            {
                addComparison.ChildOperationParameters = new List <OperationParameters>()
                {
                    new ChiSquaredTestOperationParameters
                    {
                        ChildOperationParameters = new List <OperationParameters>
                        {
                            GetHistogramOperationParameters(model.StatisticallyComparableOperationModels[0] as HistogramOperationModel, sampleSize),
                            GetHistogramOperationParameters(model.StatisticallyComparableOperationModels[1] as HistogramOperationModel, sampleSize)
                        }
                    }
                };
            }
            else if (model.TestType == TestType.ttest)
            {
                addComparison.ChildOperationParameters = new List <OperationParameters>()
                {
                    new TTestOperationParameters()
                    {
                        ChildOperationParameters = new List <OperationParameters>
                        {
                            GetEmpiricalDistOperationParameters(model.StatisticallyComparableOperationModels[0] as HistogramOperationModel, sampleSize),
                            GetEmpiricalDistOperationParameters(model.StatisticallyComparableOperationModels[1] as HistogramOperationModel, sampleSize)
                        }
                    }
                };
            }
            else if (model.TestType == TestType.corr)
            {
                addComparison.ChildOperationParameters = new List <OperationParameters>()
                {
                    new CorrelationTestOperationParameters()
                    {
                        ChildOperationParameters = new List <OperationParameters>
                        {
                            GetEmpiricalDistOperationParameters(
                                model.StatisticallyComparableOperationModels[0] as HistogramOperationModel,
                                model.StatisticallyComparableOperationModels[1] as HistogramOperationModel, sampleSize)
                        }
                    }
                };
            }

            return(addComparison);
        }
 private void _model_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
 {
     if (e.PropertyName == _model.GetPropertyName(() => _model.StatisticalComparisonOperationModel))
     {
         if (_statModel != null)
         {
             _statModel.PropertyChanged -= _statModel_PropertyChanged;
         }
         _statModel = _model.StatisticalComparisonOperationModel;
         _statModel.PropertyChanged += _statModel_PropertyChanged;
         updateRendering();
     }
 }
        private void HypothesisView_DataContextChanged(FrameworkElement sender, DataContextChangedEventArgs args)
        {
            if (_model != null)
            {
                _model.PropertyChanged -= _model_PropertyChanged;
            }
            if (args.NewValue is MenuItemViewModel)
            {
                _model = ((MenuItemViewModel)args.NewValue).MenuItemComponentViewModel as StatisticalComparisonMenuItemViewModel;
                _model.PropertyChanged += _model_PropertyChanged;

                if (_model.StatisticalComparisonOperationModel != null)
                {
                    if (_statModel != null)
                    {
                        _statModel.PropertyChanged -= _statModel_PropertyChanged;
                    }
                    _statModel = _model.StatisticalComparisonOperationModel;
                    _statModel.PropertyChanged += _statModel_PropertyChanged;
                }
                updateRendering();
            }
        }
Exemplo n.º 6
0
        private void OperationModel_OperationModelUpdated(object sender, OperationModelUpdatedEventArgs e)
        {
            if (_mainModel.IsDefaultHypothesisEnabled)
            {
                var model = sender as HistogramOperationModel;

                var filter       = "";
                var filterModels = new List <FilterModel>();
                filter = FilterModel.GetFilterModelsRecursive(model, new List <IFilterProviderOperationModel>(), filterModels, true);

                if (!filterModels.Any())
                {
                    if (model.StatisticalComparisonOperationModel != null)
                    {
                        RemoveStatisticalComparisonOperationModel(model.StatisticalComparisonOperationModel);
                        model.StatisticalComparisonOperationModel = null;
                    }
                }
                else
                {
                    bool anyComparison = false;
                    foreach (var statisticalComparisonOperationViewModel in ComparisonViewController.Instance.StatisticalComparisonViews.Keys)
                    {
                        foreach (var ovm in statisticalComparisonOperationViewModel.OperationViewModels)
                        {
                            if (ovm.OperationModel == model)
                            {
                                anyComparison = true;
                                break;
                            }
                        }
                    }

                    if (!anyComparison)
                    {
                        StatisticalComparisonOperationModel statModel = model.StatisticalComparisonOperationModel;
                        bool add = false;
                        if (model.StatisticalComparisonOperationModel == null)
                        {
                            statModel = new StatisticalComparisonOperationModel(model.SchemaModel);
                            var a1 = model.GetAttributeUsageTransformationModel(AttributeUsage.X).FirstOrDefault();
                            if ((a1.AttributeModel as AttributeFieldModel).InputDataType == InputDataTypeConstants.FLOAT ||
                                (a1.AttributeModel as AttributeFieldModel).InputDataType == InputDataTypeConstants.INT)
                            {
                                //statModel.TestType = TestType.ttest;
                            }
                            model.StatisticalComparisonOperationModel = statModel;
                            add = true;
                        }
                        foreach (var m in statModel.StatisticallyComparableOperationModels.ToArray())
                        {
                            statModel.RemoveStatisticallyComparableOperationModel(m);
                        }
                        statModel.AddStatisticallyComparableOperationModel(model);
                        statModel.AddStatisticallyComparableOperationModel(
                            OperationViewModelFactory.CreateDefaultHistogramOperationViewModel(
                                model.SchemaModel,
                                model.GetAttributeUsageTransformationModel(AttributeUsage.X).First().AttributeModel, new Pt()).HistogramOperationModel);


                        if (add)
                        {
                            this.AddStatisticalComparisonOperationModel(statModel);
                        }
                    }
                }
            }
        }
 public StatisticalComparisonOperationViewModel(
     StatisticalComparisonOperationModel statisticalComparisonOperationModel)
 {
     StatisticalComparisonOperationModel = statisticalComparisonOperationModel;
 }