Pages

Friday, November 11, 2011

How to calculate the Linest of given numbers


Linest function in excel returns a table of statistics for a straight line that best fits a data set.

The C# code for getting the linest of numbers is given below:

public static double CalculateLinest(double[] y, double[] x)
{
   double linest = 0;
   if (y.Length == x.Length)
   {
      double avgY = y.Average();
      double avgX = x.Average();
      double[] dividend = new double[y.Length];
      double[] divisor = new double[y.Length];
      for (int i = 0; i < y.Length; i++)
      {
         dividend[i] = (x[i] - avgX) * (y[i] - avgY);
         divisor[i] = Math.Pow((x[i] - avgX), 2);
      }
      linest = dividend.Sum() / divisor.Sum();
   }
   return linest;
}

1 comment:

  1. Can you please provide a example which will calculate coefficients and residual of 2 arrays X and Y using polynomial regression in C# ?
    I would really appreciate.

    Thanks

    ReplyDelete