C++ で標準偏差を計算する

Suraj P 2023年10月12日
  1. 標準偏差
  2. C++ で標準偏差を計算する
C++ で標準偏差を計算する

この記事では、C++ プログラミング言語での標準偏差の計算について説明します。

標準偏差

まず、標準偏差とは何かを理解しましょう。これは分散の統計的尺度であり、平均と比較してデータセット内の数値の広がりを測定することを意味します。

分散の平方根を見つけるだけで、標準偏差を取得できます。分散は、平均からの差の 2 乗の平均に他なりません。

したがって、上記の説明に基づいて、標準偏差を計算するには、次の手順を実行する必要があります。

  • データセットの平均を計算します。
  • 次に、各数値から平均を引き、結果を 2 乗します。
  • 分散を解決するために、上記の 2 乗の差の平均を求めます。
  • ここで、ステップ 3 で取得した分散の平方根を見つけます。

これをよりよく理解するために、以下の例を検討してください。データセットがあるとします。

100 , 200 , 300 , 400 , 500
  • データの平均は次のとおりです:(100 + 200 + 300 + 400 + 500)/ 5 = 300
  • データの分散は次のとおりです:((100-300)^ 2 +(200-300)^ 2 + … +(500-300)^ 2)/ 5 = 20000
  • 標準偏差は分散の平方根 = 141.421

C++ で標準偏差を計算する

C++ の標準偏差を見つけるには、次の手順を実行する必要があります。

  • ユーザーまたはファイルから入力データセットを取得します。データを配列データ構造に格納します。
  • その平均を求めます。
  • 各要素を反復処理し、平均を減算して、結果を 2 乗します。
  • 手順 3 で結果の平均を求めます。これにより、分散が得られます。
  • 標準偏差について、手順 4 で取得した数値の平方根を求めます。

コード例:

#include <bits/stdc++.h>
using namespace std;

int main() {
  int n;  // number of elements we want user to enter
  cout << "Enter the number of elements\n";
  cin >> n;

  int arr[n];  // array to store the elements

  cout << "Enter the elements\n";

  for (int i = 0; i < n; i++) cin >> arr[i];

  int sum = 0;
  for (int i = 0; i < n; i++) {
    sum = sum + arr[i];
  }

  double mean = (double)sum / n;

  double sum2 = 0.0;

  for (int i = 0; i < n; i++) {
    sum2 = sum2 + (arr[i] - mean) * (arr[i] - mean);
  }

  double variance = (double)sum2 / n;

  double standardDeviation = sqrt(variance);

  cout << "Mean: " << mean << endl;
  cout << "Variance: " << variance << endl;
  cout << "Standard deviation: " << standardDeviation;
}

出力:

Enter the number of elements
5
Enter the elements
100
200
300
400
500
Mean: 300
Variance: 20000
Standard deviation: 141.421
著者: Suraj P
Suraj P avatar Suraj P avatar

A technophile and a Big Data developer by passion. Loves developing advance C++ and Java applications in free time works as SME at Chegg where I help students with there doubts and assignments in the field of Computer Science.

LinkedIn GitHub

関連記事 - C++ Math