C#의 표준 편차

Muhammad Maisam Abbas 2023년10월12일
  1. C#에서 자체 정의 된 메서드를 사용한 표준 편차
  2. C#의 확장 기능을 사용한 표준 편차
C#의 표준 편차

이 자습서에서는 C#에서 목록 요소의 표준 편차를 찾는 방법을 소개합니다.

C#에서 자체 정의 된 메서드를 사용한 표준 편차

표준 편차는 통계의 평균으로부터의 분산의 측도입니다. 평균값에서 각 요소의 차이의 제곱을 취하고, 모든 제곱 값을 더하고, 답을 총 값 수로 나누고, 결과 값의 제곱근을 취하여 계산됩니다.

표준 편차

불행히도 C#에서는 표준 편차를 계산하는 기본 제공 방법이 없습니다. 그러나 우리는 그것을 계산하기위한 몇 가지 논리를 정의 할 수 있습니다. 다음 코드 예제는 C#에서 목록 내 요소의 표준 편차를 찾는 방법을 보여줍니다.

using System;
using System.Collections.Generic;
using System.Linq;

namespace sd_list {
  class Program {
    static double standardDeviation(IEnumerable<double> sequence) {
      double result = 0;

      if (sequence.Any()) {
        double average = sequence.Average();
        double sum = sequence.Sum(d => Math.Pow(d - average, 2));
        result = Math.Sqrt((sum) / sequence.Count());
      }
      return result;
    }
    static void Main(string[] args) {
      List<double> intList = new List<double> { 1, 2, 3, 4, 5 };
      double standard_deviation = standardDeviation(intList);
      Console.WriteLine("Standard Deviation = {0}", standard_deviation);
    }
  }
}

출력:

Standard Deviation = 1.4142135623731

위의 코드에서 우리는 C#에서 double 목록 요소의 표준 편차를 계산하는standardDeviation()함수를 만들었습니다. 먼저sequence.Average()함수를 사용하여 값의 평균을 계산했습니다. 그런 다음 평균에서 개별 값의 차이 제곱의 합을 계산하여sum변수에 저장했습니다. 결국sum을 총 값 수로 나누고 제곱근을 계산했습니다. 이 계산 결과를result변수에 저장하고result변수를 반환했습니다.

C#의 확장 기능을 사용한 표준 편차

이전 예제에서 설명한 로직은 사용 편의성을 위해 확장 기능으로 변환 할 수도 있습니다. 다음 코드 예제는 이전 예제의 논리를 C#의 확장 메서드로 변경하는 방법을 보여줍니다.

using System;
using System.Collections.Generic;
using System.Linq;

namespace sd_list {
  public static class ExtensionClass {
    public static double standardDeviation(this IEnumerable<double> sequence) {
      double average = sequence.Average();
      double sum = sequence.Sum(d => Math.Pow(d - average, 2));
      return Math.Sqrt((sum) / sequence.Count());
    }
  }
  class Program {
    static void Main(string[] args) {
      List<double> intList = new List<double> { 1, 2, 3, 4, 5 };
      double standard_deviation = intList.standardDeviation();
      Console.WriteLine("Standard Deviation = {0}", standard_deviation);
    }
  }
}

출력:

Standard Deviation = 1.4142135623731

위 코드에서 이전 코드를 C#의 확장 메서드로 변환했습니다.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

관련 문장 - Csharp Math