public void SetData(SeriesData data, SeriesVariable variable, DecompositionForm.DECSpecification decProperties) { this.data = data; this.variable = variable; this.decProperties = decProperties; this.lblVariable.Text = variable.VariableName; this.update(); }
public void Decomposition() { SelectAnalyzedVariable dlg = new SelectAnalyzedVariable(this.data.SeriesVariables); dlg.ShowDialog(); if (dlg.DialogResult == DialogResult.OK) { DecompositionForm decForm = new DecompositionForm(); decForm.SetVariable(dlg.SelectedVariable); decForm.ShowDialog(); if (decForm.DialogResult == DialogResult.Yes) { if (decForm.IsStoreTrend) { SeriesVariable var = new SeriesVariable(decForm.TrendName, "Trend Value of Decomposition Classic analysis of variable '" + dlg.SelectedVariable.VariableName + "'"); int lag = dlg.SelectedVariable.SeriesValues.Count - decForm.DecTable.trend.Length; var.InitializeItem(dlg.SelectedVariable.SeriesValues.Count); for (int i = 0; i < lag; i++) var[i] = double.NaN; for (int i = 0; i < decForm.DecTable.trend.Length; i++) var[i + lag] = decForm.DecTable.trend[i]; this.data.SeriesVariables.Add(var); this.seriesDataList.Refresh(); } if (decForm.IsStoreDetrend) { SeriesVariable var = new SeriesVariable(decForm.DetrendName, "Detrended Value of Decomposition Classic analysis of variable '" + dlg.SelectedVariable.VariableName + "'"); int lag = dlg.SelectedVariable.SeriesValues.Count - decForm.DecTable.detrend.Length; var.InitializeItem(dlg.SelectedVariable.SeriesValues.Count); for (int i = 0; i < lag; i++) var[i] = double.NaN; for (int i = 0; i < decForm.DecTable.detrend.Length; i++) var[i + lag] = decForm.DecTable.detrend[i]; this.data.SeriesVariables.Add(var); this.seriesDataList.Refresh(); } if (decForm.IsStoreDeseasonal) { SeriesVariable var = new SeriesVariable(decForm.DeseasonalName, "Seasonally Adj. Value of Decomposition Classic analysis of variable '" + dlg.SelectedVariable.VariableName + "'"); int lag = dlg.SelectedVariable.SeriesValues.Count - decForm.DecTable.deseasonal.Length; var.InitializeItem(dlg.SelectedVariable.SeriesValues.Count); for (int i = 0; i < lag; i++) var[i] = double.NaN; for (int i = 0; i < decForm.DecTable.deseasonal.Length; i++) var[i + lag] = decForm.DecTable.deseasonal[i]; this.data.SeriesVariables.Add(var); this.seriesDataList.Refresh(); } if (decForm.IsStorePredicted) { SeriesVariable var = new SeriesVariable(decForm.PredictedName, "Predicted Value of Decomposition Classic analysis of variable '" + dlg.SelectedVariable.VariableName + "'"); int lag = dlg.SelectedVariable.SeriesValues.Count - decForm.DecTable.predicted.Length; var.InitializeItem(dlg.SelectedVariable.SeriesValues.Count); for (int i = 0; i < lag; i++) var[i] = double.NaN; for (int i = 0; i < decForm.DecTable.predicted.Length; i++) var[i + lag] = decForm.DecTable.predicted[i]; this.data.SeriesVariables.Add(var); this.seriesDataList.Refresh(); } if (decForm.IsStoreResidual) { SeriesVariable var = new SeriesVariable(decForm.ResidualName, "Residual Value of Decomposition Classic analysis of variable '" + dlg.SelectedVariable.VariableName + "'"); int lag = dlg.SelectedVariable.SeriesValues.Count - decForm.DecTable.residual.Length; var.InitializeItem(dlg.SelectedVariable.SeriesValues.Count); for (int i = 0; i < lag; i++) var[i] = double.NaN; for (int i = 0; i < decForm.DecTable.residual.Length; i++) var[i + lag] = decForm.DecTable.residual[i]; this.data.SeriesVariables.Add(var); this.seriesDataList.Refresh(); } DECResultTabPage decTabPage = new DECResultTabPage(); decTabPage.Title = "Decomposition : '" + dlg.SelectedVariable.VariableName + "'"; if (decForm.IsForecastedDataGridChecked) { decTabPage.SetData(this.data, dlg.SelectedVariable, decForm.DecProperties, decForm.DecTable, decForm.Forecast(decForm.ForecastingStep)); } else { decTabPage.SetData(this.data, dlg.SelectedVariable, decForm.DecProperties, decForm.DecTable, null); } decTabPage.IsDecModelSummaryVisible = decForm.IsDecModelSummaryChecked; decTabPage.IsDecompositionDataGridVisible = decForm.IsDecompositionDataGridChecked; decTabPage.IsTrendVisible = decForm.IsTrendChecked; decTabPage.IsDetrendVisible = decForm.IsDetrendChecked; decTabPage.IsSeasonalVisible = decForm.IsSeasonalChecked; decTabPage.IsDeseasonalVisible = decForm.IsDeseasonalChecked; decTabPage.IsForecastedDataGridVisible = decForm.IsForecastedDataGridChecked; decTabPage.IsActualPredictedAndTrendGraphVisible = decForm.IsActualPredictedAndTrendGraphChecked; decTabPage.IsActualAndForecastedGraphVisible = decForm.IsActualAndForecastedGraphChecked; decTabPage.IsActualVsPredictedGraphVisible = decForm.IsActualVsPredictedGraphChecked; decTabPage.IsResidualGraphVisible = decForm.IsResidualGraphChecked; decTabPage.IsResidualVsActualGraphVisible = decForm.IsResidualVsActualGraphChecked; decTabPage.IsResidualVsPredictedGraphVisible = decForm.IsResidualVsPredictedGraphChecked; decTabPage.IsDetrendGraphVisible = decForm.IsDetrendGraphChecked; decTabPage.IsDeseasonalGraphVisible = decForm.IsDeseasonalGraphChecked; decTabPage.DrawControl(); decTabPage.IsDrawn = true; this.tabControlResult.AddTab(decTabPage); this.tabControlResult.SelectedItem = decTabPage; this.tabControlData.SelectedTab = this.tabPageResult; } } }
public void SetData(SeriesData data, SeriesVariable variable, DecompositionForm.DECSpecification decProperties, DecompositionForm.DECComponent decTable, double[] forecasted) { this.data = data; this.variable = variable; this.decProperties = decProperties; this.decTable = decTable; this.forecasted = forecasted; }