/// <summary> /// Gets the coefficient of determination, as known as R² (r-squared). /// </summary> /// /// <remarks> /// <para> /// The coefficient of determination is used in the context of statistical models /// whose main purpose is the prediction of future outcomes on the basis of other /// related information. It is the proportion of variability in a data set that /// is accounted for by the statistical model. It provides a measure of how well /// future outcomes are likely to be predicted by the model.</para> /// <para> /// The R² coefficient of determination is a statistical measure of how well the /// regression line approximates the real data points. An R² of 1.0 indicates /// that the regression line perfectly fits the data.</para> /// </remarks> /// /// <returns>The R² (r-squared) coefficient for the given data.</returns> /// public double CoefficientOfDetermination(double[] inputs, double[] outputs, bool adjust) { double[][] X = new double[inputs.Length][]; for (int i = 0; i < inputs.Length; i++) { // b[0]*1 + b[1]*inputs[i] X[i] = new double[] { 1.0, inputs[i] }; } return(regression.CoefficientOfDetermination(X, outputs, adjust)); }
/// <summary> /// Gets the coefficient of determination, as known as R² (r-squared). /// </summary> /// /// <remarks> /// <para> /// The coefficient of determination is used in the context of statistical models /// whose main purpose is the prediction of future outcomes on the basis of other /// related information. It is the proportion of variability in a data set that /// is accounted for by the statistical model. It provides a measure of how well /// future outcomes are likely to be predicted by the model.</para> /// <para> /// The R² coefficient of determination is a statistical measure of how well the /// regression line approximates the real data points. An R² of 1.0 indicates /// that the regression line perfectly fits the data.</para> /// </remarks> /// /// <returns>The R² (r-squared) coefficient for the given data.</returns> /// public double CoefficientOfDetermination(double[] inputs, double[] outputs, bool adjust) { double[][] X = new double[inputs.Length][]; for (int i = 0; i < inputs.Length; i++) { X[i] = new double[regression.Coefficients.Length]; for (int j = 0; j < X[i].Length; j++) { // Create polynomial members X[i][j] = Math.Pow(inputs[i], j); } } return(regression.CoefficientOfDetermination(X, outputs, adjust)); }