Calcular la desviación estándar en C++
Este artículo demostrará el cálculo de la desviación estándar en el lenguaje de programación C++.
La desviación estándar
Primero, comprendamos qué es la desviación estándar. Es una medida estadística de dispersión, lo que significa que mide qué tan dispersos están los números en un conjunto de datos en relación con la media.
Podemos obtener la desviación estándar simplemente encontrando la raíz cuadrada de la varianza. La varianza no es más que el promedio de las diferencias al cuadrado de la media.
Entonces, según la discusión anterior, para calcular la desviación estándar, debemos realizar los siguientes pasos:
-
Calcular la media del conjunto de datos.
-
Luego, resta la media de cada número y eleva el resultado al cuadrado.
-
Encuentra el promedio de las diferencias de arriba al cuadrado para resolver la varianza.
-
Ahora, encuentre la raíz cuadrada de la varianza, que obtuvimos en el paso 3.
Considere el siguiente ejemplo para entender esto mejor. Supongamos que tenemos el conjunto de datos,
100 , 200 , 300 , 400 , 500
- La media de los datos es: (100 + 200 + 300 + 400 + 500)/5 = 300
- La varianza de los datos es: ( (100 - 300)^2 + (200-300)^2 + …+(500-300)^2 )/5 = 20000
- Desviación estándar: raíz_cuadrada de la varianza = 141,421
Calcular la desviación estándar en C++
Tenemos que realizar los siguientes pasos para encontrar la desviación estándar en C++:
-
Tome el conjunto de datos de entrada de un usuario o un archivo. Almacene los datos en una estructura de datos de matriz.
-
Encuentra su media.
-
Iterar sobre cada elemento, restar la media y elevar al cuadrado el resultado.
-
Encuentra el promedio del resultado en el paso 3. Esto nos da la varianza.
-
Encuentra la raíz cuadrada del número obtenido en el paso 4 para la desviación estándar.
Código de ejemplo:
#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;
}
Producción :
Enter the number of elements
5
Enter the elements
100
200
300
400
500
Mean: 300
Variance: 20000
Standard deviation: 141.421