Berechnung der Standardabweichung in C++
Dieser Artikel demonstriert die Berechnung der Standardabweichung in der Programmiersprache C++.
Die Standardabweichung
Lassen Sie uns zunächst verstehen, was die Standardabweichung ist. Es ist ein statistisches Streuungsmaß, d. h. es misst, wie verteilt Zahlen in einem Datensatz relativ zum Mittelwert sind.
Wir können die Standardabweichung erhalten, indem wir einfach die Quadratwurzel der Varianz finden. Die Varianz ist nichts anderes als der Durchschnitt der quadrierten Abweichungen vom Mittelwert.
Basierend auf der obigen Diskussion müssen wir also die folgenden Schritte ausführen, um die Standardabweichung zu berechnen:
-
Berechnen Sie den Mittelwert des Datensatzes.
-
Subtrahieren Sie dann den Mittelwert von jeder Zahl und quadrieren Sie das Ergebnis.
-
Finden Sie den Durchschnitt der oben quadrierten Differenzen, um die Varianz zu lösen.
-
Finden Sie nun die Quadratwurzel der Varianz, die wir in Schritt 3 erhalten haben.
Betrachten Sie das folgende Beispiel, um dies besser zu verstehen. Angenommen, wir haben den Datensatz,
100 , 200 , 300 , 400 , 500
- Mittelwert der Daten ist: (100 + 200 + 300 + 400 + 500)/5 = 300
- Varianz der Daten ist: ( (100 - 300)^2 + (200-300)^2 + …+(500-300)^2 )/5 = 20000
- Standardabweichung: Quadratwurzel der Varianz = 141,421
Berechnen Sie die Standardabweichung in C++
Wir müssen die folgenden Schritte ausführen, um die Standardabweichung in C++ zu finden:
-
Nimm den Eingabedatensatz entweder von einem Benutzer oder einer Datei. Speichern Sie die Daten in einer Array-Datenstruktur.
-
Finde seinen Mittelwert.
-
Iteriere über jedes Element, subtrahiere den Mittelwert und quadriere das Ergebnis.
-
Finden Sie den Durchschnitt des Ergebnisses in Schritt 3. Dies gibt uns die Varianz.
-
Finden Sie die Quadratwurzel der in Schritt 4 erhaltenen Zahl für die Standardabweichung.
Beispielcode:
#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;
}
Ausgabe:
Enter the number of elements
5
Enter the elements
100
200
300
400
500
Mean: 300
Variance: 20000
Standard deviation: 141.421