private void computeInformation() { // Store model information this.results = regression.Compute(inputData); this.deviance = regression.GetDeviance(inputData, outputData); this.logLikelihood = regression.GetLogLikelihood(inputData, outputData); this.chiSquare = regression.ChiSquare(inputData, outputData); this.coefficients = regression.Coefficients; this.standardErrors = regression.StandardErrors; // Store coefficient information for (int i = 0; i < waldTests.Length; i++) { this.waldTests[i] = regression.GetWaldTest(i); this.confidences[i] = regression.GetConfidenceInterval(i); this.oddsRatios[i] = regression.GetOddsRatio(i); } }
private MultinomialLogisticRegression buildModel() { if (independent == null) { formatData(); } mlr = new MultinomialLogisticRegression(nvars, ncat); LowerBoundNewtonRaphson lbn = new LowerBoundNewtonRaphson(mlr); do { delta = lbn.Run(independent, dependent); iteration++; } while (iteration < totit && delta > converg); coefficients = mlr.Coefficients; standarderror = new double[ncat - 1][]; waldstat = new double[ncat - 1][]; waldpvalue = new double[ncat - 1][]; for (int i = 0; i < coefficients.Length; i++) { double[] steArr = new double[nvars + 1]; double[] waldStatArr = new double[nvars + 1]; double[] waldPvalueArr = new double[nvars + 1]; for (int j = 0; j < nvars + 1; j++) { Accord.Statistics.Testing.WaldTest wt = mlr.GetWaldTest(i, j); steArr[j] = wt.StandardError; waldStatArr[j] = wt.Statistic; waldPvalueArr[j] = wt.PValue; } waldstat[i] = waldStatArr; waldpvalue[i] = waldPvalueArr; standarderror[i] = steArr; } loglikelihood = mlr.GetLogLikelihood(independent, dependent); deviance = mlr.GetDeviance(independent, dependent); x2 = mlr.ChiSquare(independent, dependent).Statistic; pv = mlr.ChiSquare(independent, dependent).PValue; return(mlr); }