public void SetData(SeriesData data, SeriesVariable variable, MovingAverageForm.MASpecification maProperties) { this.data = data; this.variable = variable; this.maProperties = maProperties; this.lblVariable.Text = variable.VariableName; this.update(); }
public void MovingAverage() { SelectAnalyzedVariable dlg = new SelectAnalyzedVariable(this.data.SeriesVariables); dlg.ShowDialog(); if (dlg.DialogResult == DialogResult.OK) { MovingAverageForm maForm = new MovingAverageForm(); maForm.SetVariable(dlg.SelectedVariable); maForm.ShowDialog(); if (maForm.DialogResult == DialogResult.Yes) { if (maForm.MaProperties.isSingleMA) { if (maForm.IsStoreSmoothed) { SeriesVariable var = new SeriesVariable(maForm.SmoothedName, "Smoothed Value of MA(" + maForm.MaProperties.orde + ") analysis of variable '" + dlg.SelectedVariable.VariableName + "'"); int lag = dlg.SelectedVariable.SeriesValues.Count - maForm.MaProperties.includedObservations; var.InitializeItem(dlg.SelectedVariable.SeriesValues.Count); for (int i = 0; i < lag; i++) var[i] = double.NaN; for (int i = lag; i < lag + maForm.MaProperties.orde; i++) var[i] = double.NaN; for (int i = lag + maForm.MaProperties.orde; i < maForm.MaProperties.includedObservations + lag; i++) var[i] = maForm.MaTable.singleSmoothed[i - lag]; this.data.SeriesVariables.Add(var); this.seriesDataList.Refresh(); } if (maForm.IsStorePredicted) { SeriesVariable var = new SeriesVariable(maForm.PredictedName, "Predicted Value of MA(" + maForm.MaProperties.orde + ") analysis of variable '" + dlg.SelectedVariable.VariableName + "'"); int lag = dlg.SelectedVariable.SeriesValues.Count - maForm.MaProperties.includedObservations; var.InitializeItem(dlg.SelectedVariable.SeriesValues.Count); for (int i = 0; i < lag; i++) var[i] = double.NaN; for (int i = lag; i < lag + maForm.MaProperties.orde; i++) var[i] = double.NaN; for (int i = lag + maForm.MaProperties.orde; i < maForm.MaProperties.includedObservations + lag; i++) var[i] = maForm.MaTable.predicted[i - lag]; this.data.SeriesVariables.Add(var); this.seriesDataList.Refresh(); } if (maForm.IsStoreResidual) { SeriesVariable var = new SeriesVariable(maForm.ResidualName, "Residual Value of MA(" + maForm.MaProperties.orde + ") analysis of variable '" + dlg.SelectedVariable.VariableName + "'"); int lag = dlg.SelectedVariable.SeriesValues.Count - maForm.MaProperties.includedObservations; var.InitializeItem(dlg.SelectedVariable.SeriesValues.Count); for (int i = 0; i < lag; i++) var[i] = double.NaN; for (int i = lag; i < lag + maForm.MaProperties.orde; i++) var[i] = double.NaN; for (int i = lag + maForm.MaProperties.orde; i < maForm.MaProperties.includedObservations + lag; i++) var[i] = maForm.MaTable.residual[i - lag]; this.data.SeriesVariables.Add(var); this.seriesDataList.Refresh(); } } else { if (maForm.IsStoreSmoothed) { SeriesVariable var = new SeriesVariable(maForm.SmoothedName, "Smoothed Value of MA(" + maForm.MaProperties.orde + "X" + maForm.MaProperties.orde + ") analysis of variable '" + dlg.SelectedVariable.VariableName + "'"); int lag = dlg.SelectedVariable.SeriesValues.Count - maForm.MaProperties.includedObservations; var.InitializeItem(dlg.SelectedVariable.SeriesValues.Count); for (int i = 0; i < lag; i++) var[i] = double.NaN; for (int i = lag; i < lag + (2 * (maForm.MaProperties.orde - 1)); i++) var[i] = double.NaN; for (int i = lag + (2 * (maForm.MaProperties.orde - 1)); i < maForm.MaProperties.includedObservations + lag; i++) var[i] = maForm.MaTable.doubleSmoothed[i - lag]; this.data.SeriesVariables.Add(var); this.seriesDataList.Refresh(); } if (maForm.IsStorePredicted) { SeriesVariable var = new SeriesVariable(maForm.PredictedName, "Predicted Value of MA(" + maForm.MaProperties.orde + "X" + maForm.MaProperties.orde + ") analysis of variable '" + dlg.SelectedVariable.VariableName + "'"); int lag = dlg.SelectedVariable.SeriesValues.Count - maForm.MaProperties.includedObservations; var.InitializeItem(dlg.SelectedVariable.SeriesValues.Count); for (int i = 0; i < lag; i++) var[i] = double.NaN; for (int i = lag; i < lag + (2 * (maForm.MaProperties.orde - 1)); i++) var[i] = double.NaN; for (int i = lag + (2 * (maForm.MaProperties.orde - 1)); i < maForm.MaProperties.includedObservations + lag; i++) var[i] = maForm.MaTable.predicted[i - lag]; this.data.SeriesVariables.Add(var); this.seriesDataList.Refresh(); } if (maForm.IsStoreResidual) { SeriesVariable var = new SeriesVariable(maForm.ResidualName, "Residual Value of MA(" + maForm.MaProperties.orde + "," + maForm.MaProperties.orde + ") analysis of variable '" + dlg.SelectedVariable.VariableName + "'"); int lag = dlg.SelectedVariable.SeriesValues.Count - maForm.MaProperties.includedObservations; var.InitializeItem(dlg.SelectedVariable.SeriesValues.Count); for (int i = 0; i < lag; i++) var[i] = double.NaN; for (int i = lag; i < lag + (2 * (maForm.MaProperties.orde - 1)); i++) var[i] = double.NaN; for (int i = lag + (2 * (maForm.MaProperties.orde - 1)); i < maForm.MaProperties.includedObservations + lag; i++) var[i] = maForm.MaTable.residual[i - lag]; this.data.SeriesVariables.Add(var); this.seriesDataList.Refresh(); } } MAResultTabPage maTabPage = new MAResultTabPage(); maTabPage.Title = "Moving Average : '" + dlg.SelectedVariable.VariableName + "'"; if (maForm.IsForecastedDataGridChecked) { if (maForm.MaProperties.isSingleMA) { maTabPage.SetData(this.data, dlg.SelectedVariable, maForm.MaProperties, maForm.MaTable, maForm.SmaForecast(maForm.ForecastingStep)); } else { maTabPage.SetData(this.data, dlg.SelectedVariable, maForm.MaProperties, maForm.MaTable, maForm.DmaForecast(maForm.ForecastingStep)); } } else { maTabPage.SetData(this.data, dlg.SelectedVariable, maForm.MaProperties, maForm.MaTable, null); } maTabPage.IsMaModelSummaryVisible = maForm.IsMaModelSummaryChecked; maTabPage.IsSmoothingVisible = maForm.IsSmoothingChecked; maTabPage.IsMovingAverageDataGridVisible = maForm.IsMovingAverageDataGridChecked; maTabPage.IsForecastedDataGridVisible = maForm.IsForecastedDataGridChecked; maTabPage.IsActualAndPredictedGraphVisible = maForm.IsActualAndPredictedGraphChecked; maTabPage.IsActualAndPredictedGraphVisible = maForm.IsActualAndPredictedGraphChecked; maTabPage.IsActualAndSmoothedGraphVisible = maForm.IsActualAndSmoothedGraphChecked; maTabPage.IsActualAndForecastedGraphVisible = maForm.IsActualAndForecastedGraphChecked; maTabPage.IsActualVsPredictedGraphVisible = maForm.IsActualVsPredictedGraphChecked; maTabPage.IsResidualGraphVisible = maForm.IsResidualGraphChecked; maTabPage.IsResidualVsActualGraphVisible = maForm.IsResidualVsActualGraphChecked; maTabPage.IsResidualVsPredictedGraphVisible = maForm.IsResidualVsPredictedGraphChecked; maTabPage.DrawControl(); maTabPage.IsDrawn = true; this.tabControlResult.AddTab(maTabPage); this.tabControlResult.SelectedItem = maTabPage; this.tabControlData.SelectedTab = this.tabPageResult; } } }
public void SetData(SeriesData data, SeriesVariable variable, MovingAverageForm.MASpecification maProperties, MovingAverageForm.MAComponent maTable, double[] forecasted) { this.data = data; this.variable = variable; this.maProperties = maProperties; this.maTable = maTable; this.forecasted = forecasted; }