Standard Deviation

From ILNumerics.Net software wiki

Jump to: navigation, search

  1.  
  2.  
  3. /// <summary>
  4. /// Find the standard deviation of a data set:
  5. /// Formula found from here : http://www.johndcook.com/variance.gif
  6. /// </summary>
  7. public static double GetVariance(ILArray<double> ilX) {
  8.  
  9. /*
  10. * 1 | |
  11. * s^2 = ---------- | n*sum( Xi^2 ) - sum(Xi) ^ 2 |
  12. * n(n - 1) | |
  13. *
  14. */
  15.  
  16. double dN = ilX.Dimensions[0];
  17. double dSumXX = 0;
  18. double dSumX2 = STMath.Pow((double)ILMath.sum(ilX), 2);
  19.  
  20. //Loop through the dataset, find the Summed components:
  21. foreach (double dX in ilX) {
  22. dSumXX += dX * dX;
  23. }
  24.  
  25. double dVariance = (1 / (dN * (dN - 1))) * ((dN * dSumXX) - dSumX2);
  26.  
  27. return dVariance;
  28. }
  29.  
  30.  
  31.  
  32.  
  33. /// <summary>
  34. /// Get the standard deviation of the data set,
  35. /// </summary>
  36. public static double GetDeviation(ILArray<double> ilX) {
  37. return STMath.Sqrt(GetVariance(ilX));
  38. }
  39.  
Personal tools