public void SetData(SeriesVariable dependentVariable, SeriesVariables independentVariables, LinearRegressionAnalysisForm.LRSpecification lrProperties) { this.dependentVariable = dependentVariable; this.independentVariables = independentVariables; this.lrProperties = lrProperties; this.update(); }
public void SetFilePath(string filePath) { this.filePathLabel.Text = filePath; this.reader = new CSVReader(filePath); this.stringData = this.reader.ReadDataToString(); this.variableCount = this.reader.ColumnCount; ValidatedNameTextBoxCell cellTemplate = new ValidatedNameTextBoxCell(); this.nameColumn.CellTemplate = cellTemplate; this.variableNameGrid.RowCount = this.variableCount; for (int i = 0; i < this.variableCount; i++) { this.variableNameGrid[0, i].Value = true; this.variableNameGrid[1, i].Value = (i + 1).ToString(); this.variableNameGrid[2, i].Value = "variable" + (i + 1).ToString(); } for (int i = 0; i < reader.RowCount; i++) { for (int j = 0; j < reader.ColumnCount - 1; j++) { this.previewTextBox.AppendText(this.stringData[i][j] + "\t"); } this.previewTextBox.AppendText(this.stringData[i][reader.ColumnCount - 1] + "\n"); } this.previewTextBox.Text = this.previewTextBox.Text; this.selectedVariables = new SeriesVariables(); }
public void SetData(SeriesVariable dependentVariable, SeriesVariables independentVariables, LinearRegressionAnalysisForm.LRSpecification lrProperties) { this.dependentVariable = dependentVariable; this.independentVariables = independentVariables; this.lrProperties = lrProperties; this.update(); }
/// <summary> /// Mencari index variabel pada list /// </summary> /// <param name="variableCollection">list variabel</param> /// <param name="name">nama variabel</param> /// <returns>index</returns> public static int FindVariableIndex(SeriesVariables variableCollection, string name) { variableToFind = new SeriesVariable(name, ""); System.Predicate<SeriesVariable> search = findVariablePredicate; return variableCollection.FindIndex(search); }
/// <summary> /// Mencari index group pada list /// </summary> /// <param name="variableCollection">list group</param> /// <param name="name">nama group</param> /// <returns>index</returns> public static int FindGroupIndex(SeriesGroups groupCollection, string name) { SeriesVariables a = new SeriesVariables(); groupToFind = new SeriesGroup(name, a); System.Predicate<SeriesGroup> search = findGroupPredicate; return groupCollection.FindIndex(search); }
public void SetData(SeriesVariables sourceVariables, SeriesGroups sourceGroups) { this.sourceVariables = sourceVariables; this.sourceGroups = sourceGroups; this.sourceVariables.Changed += new ChangedEventHandler(sourceVariables_Changed); this.sourceGroups.Changed += new ChangedEventHandler(sourceGroups_Changed); this.update(); }
private void getSelectedVariable() { this.dependentVariable = (SeriesVariable)this.lstDependent.Items[0]; this.independentVariables = new SeriesVariables(); foreach (Object item in this.lstIndependents.Items) { this.independentVariables.Add((SeriesVariable)item); } }
public TransformVariable(SeriesVariables sourceVariables) { InitializeComponent(); this.lstVariables.Items.Clear(); foreach (SeriesVariable item in sourceVariables) { this.lstVariables.Items.Add(item); } }
public SelectAnalyzedVariable(SeriesVariables sourceVariables) { InitializeComponent(); this.lstVariables.Items.Clear(); foreach (SeriesVariable item in sourceVariables) { this.lstVariables.Items.Add(item); } }
public CreateSeriesStock(SeriesVariables sourceVariables) { InitializeComponent(); this.sourceVariables = sourceVariables; this.lstVariables.Items.Clear(); foreach (SeriesVariable item in sourceVariables) { this.lstVariables.Items.Add(item); } }
public EditSeriesStock(SeriesVariables sourceVariables) { InitializeComponent(); this.sourceVariables = sourceVariables; this.lstVariables.Items.Clear(); foreach (SeriesVariable item in sourceVariables) { this.lstVariables.Items.Add(item); } }
public EditSeriesGroup(SeriesVariables sourceVariables) { InitializeComponent(); this.sourceVariables = sourceVariables; this.groupList = new SeriesVariables(); this.lstVariables.Items.Clear(); foreach (SeriesVariable item in sourceVariables) { this.lstVariables.Items.Add(item); } }
public EditSeriesGroup(SeriesVariables sourceVariables) { InitializeComponent(); this.sourceVariables = sourceVariables; this.groupList = new SeriesVariables(); this.lstVariables.Items.Clear(); foreach (SeriesVariable item in sourceVariables) { this.lstVariables.Items.Add(item); } }
/// <summary> /// Constructor /// </summary> /// <param name="name">nama project</param> /// <param name="frequency">frekuensi</param> /// <param name="start">tangal awal</param> /// <param name="end">tangal akhir</param> public SeriesData(string name,SeriesFrequency frequency, DateTime start, DateTime end) { this.seriesName = name; this.frequency = frequency; this.startDate = start; this.endDate = end; this.computeNumberObservations(); this.createNewTimeData(); this.seriesVariables = new SeriesVariables(); this.seriesGroups = new SeriesGroups(); }
/// <summary> /// Constructor. untuk undated /// </summary> /// <param name="name">nama project</param> /// <param name="numberObservations">jumlah observasi</param> public SeriesData(string name, int numberObservations) { this.seriesName = name; this.frequency = SeriesData.SeriesFrequency.Undated; this.numberObservations = numberObservations; this.createNewTimeData(); this.seriesVariables = new SeriesVariables(); this.seriesGroups = new SeriesGroups(); this.seriesVariables.Changed += new ChangedEventHandler(OnChanged); this.seriesGroups.Changed += new ChangedEventHandler(OnChanged); this.time.Changed += new ChangedEventHandler(OnChanged); }
/// <summary> /// Constructor /// </summary> /// <param name="name">nama project</param> /// <param name="frequency">frekuensi</param> /// <param name="start">tangal awal</param> /// <param name="end">tangal akhir</param> public SeriesData(string name,SeriesFrequency frequency, DateTime start, DateTime end) { this.seriesName = name; this.frequency = frequency; this.startDate = start; this.endDate = end; this.computeNumberObservations(); this.createNewTimeData(); this.seriesVariables = new SeriesVariables(); this.seriesGroups = new SeriesGroups(); this.seriesStocks = new SeriesStocks(); this.seriesVariables.Changed += new ChangedEventHandler(OnChanged); this.seriesGroups.Changed += new ChangedEventHandler(OnChanged); this.seriesStocks.Changed += new ChangedEventHandler(OnChanged); this.time.Changed += new ChangedEventHandler(OnChanged); }
public void SetData(SeriesData data, SeriesVariable dependentVariable, SeriesVariables independentVariables, LinearRegressionAnalysisForm.LRSpecification lrProperties, LinearRegressionAnalysisForm.LRComponent lrTable, double[,] testValues, string[] forcastedTime, double[] forcastedData) { this.data = data; this.dependentVariable = dependentVariable; this.independentVariables = independentVariables; this.lrProperties = lrProperties; this.lrTable = lrTable; this.testValues = testValues; this.time = forcastedTime; this.forcasted = forcastedData; }
public void SetData(SeriesVariables independentVariables, SeriesVariable dependentVariable, double[,] testValues, string[] forcastedTime, double[] forcastedData) { foreach (SeriesVariable var in independentVariables) { DataGridViewTextBoxColumn clm = new DataGridViewTextBoxColumn(); clm.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells; clm.HeaderText = var.VariableName; clm.Name = "clm" + var.VariableName; clm.ReadOnly = true; clm.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Programmatic; this.grdForcasted.Columns.Add(clm); } DataGridViewTextBoxColumn c = new DataGridViewTextBoxColumn(); c.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells; c.HeaderText = dependentVariable.VariableName; c.Name = "clm" + dependentVariable.VariableName; c.ReadOnly = true; c.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Programmatic; this.grdForcasted.Columns.Add(c); this.grdForcasted.RowCount = forcastedTime.Length; for (int i = 0; i < this.grdForcasted.Rows.Count; i++) { this.grdForcasted.Rows[i].HeaderCell.Value = forcastedTime[i]; for (int j = 0; j < independentVariables.Count; j++) { this.grdForcasted.Rows[i].Cells[j].Value = testValues[j, i].ToString("F4"); } this.grdForcasted.Rows[i].Cells[independentVariables.Count].Value = forcastedData[i].ToString("F4"); } this.grdForcasted.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders; }
public void SetFilePath(string filePath) { this.filePathLabel.Text = filePath; excel = new ExcelReader(filePath); this.excelData = excel.ReadData(); cboSheet.Items.Clear(); cboSheet.DisplayMember = "TableName"; foreach (DataTable dt in this.excelData.Tables) { cboSheet.Items.Add(dt); } if (cboSheet.Items.Count == 0) { return; } cboSheet.SelectedIndex = 0; ValidatedNameTextBoxCell cellTemplate = new ValidatedNameTextBoxCell(); this.nameColumn.CellTemplate = cellTemplate; if (this.excelData.Tables[cboSheet.SelectedIndex].Rows.Count > 0) { this.variableNameGrid.RowCount = this.excelData.Tables[0].Columns.Count; for (int i = 0; i < this.excelData.Tables[0].Columns.Count; i++) { this.variableNameGrid[0, i].Value = false; this.variableNameGrid[1, i].Value = (i + 1).ToString(); this.variableNameGrid[2, i].Value = "variable" + (i + 1).ToString(); } } this.selectedVariables = new SeriesVariables(); }
public void SetData(SeriesVariables independentVariables, SeriesVariable dependentVariable, double[,] testValues, string[] forcastedTime, double[] forcastedData) { foreach (SeriesVariable var in independentVariables) { DataGridViewTextBoxColumn clm = new DataGridViewTextBoxColumn(); clm.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells; clm.HeaderText = var.VariableName; clm.Name = "clm" + var.VariableName; clm.ReadOnly = true; clm.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Programmatic; this.grdForcasted.Columns.Add(clm); } DataGridViewTextBoxColumn c = new DataGridViewTextBoxColumn(); c.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells; c.HeaderText = dependentVariable.VariableName; c.Name = "clm" + dependentVariable.VariableName; c.ReadOnly = true; c.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Programmatic; this.grdForcasted.Columns.Add(c); this.grdForcasted.RowCount = forcastedTime.Length; for (int i = 0; i < this.grdForcasted.Rows.Count; i++) { this.grdForcasted.Rows[i].HeaderCell.Value = forcastedTime[i]; for (int j = 0; j < independentVariables.Count; j++) { this.grdForcasted.Rows[i].Cells[j].Value = testValues[j, i].ToString("F4"); } this.grdForcasted.Rows[i].Cells[independentVariables.Count].Value = forcastedData[i].ToString("F4"); } this.grdForcasted.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders; }
public void SetData(SeriesData data, SeriesVariables independentVariables) { this.data = data; this.independentVariables = independentVariables; }
public void SetData(SeriesData data, SeriesVariable dependentVariable, SeriesVariables independentVariables, LinearRegressionAnalysisForm.LRSpecification lrProperties, LinearRegressionAnalysisForm.LRComponent lrTable, double[,] testValues, string[] forcastedTime, double[] forcastedData) { this.data = data; this.dependentVariable = dependentVariable; this.independentVariables = independentVariables; this.lrProperties = lrProperties; this.lrTable = lrTable; this.testValues = testValues; this.time = forcastedTime; this.forcasted = forcastedData; }
private void getSelectedVariable() { this.dependentVariable = (SeriesVariable)this.lstDependent.Items[0]; this.independentVariables = new SeriesVariables(); foreach (Object item in this.lstIndependents.Items) { this.independentVariables.Add((SeriesVariable)item); } }
public void SetData(SeriesData data, SeriesVariables independentVariables) { this.data = data; this.independentVariables = independentVariables; }
/// <summary> /// Constructor /// </summary> /// <param name="name">nama group</param> /// <param name="groupList">list variabel anggota group</param> public SeriesGroup(string name, SeriesVariables groupList) { this.groupName = name; this.groupList = groupList; }
/// <summary> /// Linear regression with Y and one or more independent variables /// equation: y = b0 + b1x1 + b2x2 + ... + b(p-1)x(p-1) + e /// equation in matrix form: Y = XB + E /// </summary> /// <param name="dependent">SeriesVariable. dependent variable</param> /// <param name="independents">SeriesVariables. independent variable</param> public LinearRegressionModel(SeriesVariable dependent, SeriesVariables independents) { //Vector vY = new Vector(dependent.SeriesValuesNoNaN.ToArray()); //int n = vY.Tuples; //int p = independents.Count + 1; //Matrix mX = new Matrix(n, p); //for (int i = 0; i < p; i++) //kolom //{ // for (int j = 0; j < n; j++) //baris // { // if (i == 0) // mX[j, i] = 1.0; // else // mX[j, i] = independents[i - 1][j]; // } //} // changed to deal with missing values Vector vY = new Vector(dependent.SeriesValuesNoNaN.ToArray()); int n = vY.Tuples; int p = independents.Count + 1; Matrix mX = new Matrix(n, p); for (int i = 0; i < p; i++) //kolom { for (int j = 0; j < n; j++) //baris { if (i == 0) mX[j, i] = 1.0; else mX[j, i] = independents[i - 1].SeriesValuesNoNaN[j]; } } this.lse = new LeastSquareEstimator(mX, vY); this.f = this.lse.MSR / this.lse.MSE; this.sigOfF = Distribution.F.PValue(this.f, p - 1, n - p); double sumOfEtMinusEt_1Square = 0; double sumOfESquare = this.lse.ESquare[0]; for (int i = 1; i < n; i++) { sumOfEtMinusEt_1Square += Math.Pow(this.lse.E[i] - this.lse.E[i - 1],2.0); sumOfESquare += this.lse.ESquare[i]; } this.durbinWatson = sumOfEtMinusEt_1Square / sumOfESquare; this.stdErrorOfParameters = new double[p]; this.t = new double[p]; this.sigOfT = new double[p]; this.lbOfParameters = new double[p]; this.ubOfParameters = new double[p]; for (int i = 0; i < p; i++) { this.stdErrorOfParameters[i] = Math.Sqrt(this.lse.SbSquare[i, i]); this.t[i] = this.lse.B[i] / this.stdErrorOfParameters[i]; this.sigOfT[i] = Distribution.T.PValue(this.t[i], n - p, Distribution.T.TestType.TwoSided); double error = Distribution.T.InversCDF(0.975, n - p); this.ubOfParameters[i] = this.lse.B[i] + error * this.stdErrorOfParameters[i]; this.lbOfParameters[i] = this.lse.B[i] - error * this.stdErrorOfParameters[i]; } this.vifForPredictors = new double[p - 1]; this.partialCorr = new double[p - 1]; this.corr = new double[p - 1]; for (int i = 1; i < p; i++) { Vector y = new Vector(mX.GetColData(i)); Matrix x = new Matrix(n, p - 1); int col = 0; for (int j = 0; j < p; j++) { if (j != i) { for (int k = 0; k < n; k++) { x[k, col] = mX[k, j]; } col++; } } Matrix xtx = x.GetTranspose() * x; Vector xty = x.GetTranspose() * y; Vector b = xtx.Solve(xty); Matrix mJ = new Matrix(n, n); mJ.InitializeAllValue(1.0); double yty = Vector.DoubleMultiply(y.GetTranspose(), y); Vector jy = mJ * y; double ssto = yty - Vector.DoubleMultiply(y.GetTranspose(), jy) / n; double sse = yty - Vector.DoubleMultiply(b.GetTranspose(), xty); double ssr = ssto - sse; double rSquare = ssr / ssto; this.vifForPredictors[i - 1] = 1 / (1 - rSquare); this.corr[i - 1] = computePearsonCorr(vY,y); Vector xty2 = x.GetTranspose() * vY; Vector b2 = xtx.Solve(xty2); double yty2 = Vector.DoubleMultiply(vY.GetTranspose(), vY); double sse2 = yty2 - Vector.DoubleMultiply(b2.GetTranspose(), xty2); double partDetermination = (sse2 - this.lse.SSE) / sse2; this.partialCorr[i - 1] = Math.Sqrt(partDetermination); } this.expectedResidual = new double[n]; for (int k = 1; k <= n; k++) { this.expectedResidual[k - 1] = this.lse.StandardError * Distribution.Normal.InversCDF((k - 0.375) / (n + 0.25)); } }
/// <summary> /// Membaca data /// </summary> /// <returns>Series Data hasil pembacaan</returns> public SeriesData ReadData() { SeriesData tmpData; seriesDataReader.ReadToFollowing("SeriesData"); seriesDataReader.ReadStartElement(); { string seriesName = seriesDataReader.ReadElementContentAsString(); SeriesData.SeriesFrequency freq = (SeriesData.SeriesFrequency)seriesDataReader.ReadElementContentAsInt(); DateTime startDate = new DateTime(); DateTime endDate = new DateTime(); if (freq != SeriesData.SeriesFrequency.Undated) { startDate = XmlConvert.ToDateTime(seriesDataReader.ReadElementContentAsString(), "dd/MM/yyyy"); endDate = XmlConvert.ToDateTime(seriesDataReader.ReadElementContentAsString(), "dd/MM/yyyy"); } else { seriesDataReader.Skip(); seriesDataReader.Skip(); } int numberObservations = seriesDataReader.ReadElementContentAsInt(); if (freq != SeriesData.SeriesFrequency.Undated) tmpData = new SeriesData(seriesName, freq, startDate, endDate); else tmpData = new SeriesData(seriesName, numberObservations); } seriesDataReader.ReadStartElement(); while (seriesDataReader.IsStartElement("SeriesVariable")) { SeriesVariable tmpVariable; seriesDataReader.ReadStartElement(); { string variableName = seriesDataReader.ReadElementContentAsString(); string variableDescription = seriesDataReader.ReadElementContentAsString(); tmpVariable = new SeriesVariable(variableName, variableDescription); } seriesDataReader.ReadStartElement(); for (int i = 0; i < tmpData.NumberObservations; i++) { tmpVariable.SeriesValues.Add(seriesDataReader.ReadElementContentAsDouble()); } seriesDataReader.ReadEndElement(); tmpData.SeriesVariables.Add(tmpVariable); seriesDataReader.ReadEndElement(); } seriesDataReader.ReadToFollowing("SeriesGroups"); seriesDataReader.ReadStartElement(); while (seriesDataReader.IsStartElement("SeriesGroup")) { SeriesGroup tmpGroup; SeriesVariables tmpGroupList= new SeriesVariables(); seriesDataReader.ReadStartElement(); string groupName = seriesDataReader.ReadElementContentAsString(); seriesDataReader.ReadStartElement(); while (seriesDataReader.IsStartElement("SeriesVariableItem")) { SeriesVariable tmpVariableItem; string variableName = seriesDataReader.ReadElementContentAsString(); tmpVariableItem = tmpData.SeriesVariables[VariableFinder.FindVariableIndex(tmpData.SeriesVariables, variableName)]; tmpGroupList.Add(tmpVariableItem); } tmpGroup = new SeriesGroup(groupName, tmpGroupList); seriesDataReader.ReadEndElement(); tmpData.SeriesGroups.Add(tmpGroup); seriesDataReader.ReadEndElement(); } return tmpData; }
public void SetFilePath(string filePath) { this.filePathLabel.Text = filePath; excel = new ExcelReader(filePath); this.excelData = excel.ReadData(); cboSheet.Items.Clear(); cboSheet.DisplayMember = "TableName"; foreach (DataTable dt in this.excelData.Tables) cboSheet.Items.Add(dt); if (cboSheet.Items.Count == 0) return; cboSheet.SelectedIndex = 0; ValidatedNameTextBoxCell cellTemplate = new ValidatedNameTextBoxCell(); this.nameColumn.CellTemplate = cellTemplate; if (this.excelData.Tables[cboSheet.SelectedIndex].Rows.Count > 0) { this.variableNameGrid.RowCount = this.excelData.Tables[0].Columns.Count; for (int i = 0; i < this.excelData.Tables[0].Columns.Count; i++) { this.variableNameGrid[0, i].Value = false; this.variableNameGrid[1, i].Value = (i + 1).ToString(); this.variableNameGrid[2, i].Value = "variable" + (i + 1).ToString(); } } this.selectedVariables = new SeriesVariables(); }
/// <summary> /// Constructor /// </summary> /// <param name="name">nama group</param> /// <param name="groupList">list variabel anggota group</param> public SeriesGroup(string name, SeriesVariables groupList) { this.groupName = name; this.groupList = groupList; groupList.Changed += new ChangedEventHandler(groupList_Changed); }
public void SetFilePath(string filePath) { this.filePathLabel.Text = filePath; this.reader = new CSVReader(filePath); this.stringData = this.reader.ReadDataToString(); this.variableCount = this.reader.ColumnCount; ValidatedNameTextBoxCell cellTemplate = new ValidatedNameTextBoxCell(); this.nameColumn.CellTemplate = cellTemplate; this.variableNameGrid.RowCount = this.variableCount; for (int i = 0; i < this.variableCount; i++) { this.variableNameGrid[0, i].Value = true; this.variableNameGrid[1, i].Value = (i + 1).ToString(); this.variableNameGrid[2, i].Value = "variable" + (i + 1).ToString(); } for (int i = 0; i < reader.RowCount; i++) { for (int j = 0; j < reader.ColumnCount - 1; j++) { this.previewTextBox.AppendText(this.stringData[i][j] + "\t"); } this.previewTextBox.AppendText(this.stringData[i][reader.ColumnCount - 1] + "\n"); } this.previewTextBox.Text = this.previewTextBox.Text; this.selectedVariables = new SeriesVariables(); }
public void SetData(SeriesVariables sourceVariables, SeriesGroups sourceGroups) { this.sourceVariables = sourceVariables; this.sourceGroups = sourceGroups; this.sourceVariables.Changed += new ChangedEventHandler(sourceVariables_Changed); this.sourceGroups.Changed += new ChangedEventHandler(sourceGroups_Changed); this.update(); }