Dado un intervalo de clase y la frecuencia de la clase y la tarea es encontrar la desviación estándar de los datos agrupados.
Fórmula para encontrar la desviación estándar
Desviación estándar = √( (∑(F x M 2 – nx μ 2 )) / (n-1) )
Donde,
F – frecuencia de la clase.
M : valor medio del intervalo de clase.
μ – Media de los datos agrupados.
n – suma de frecuencias.
Ejemplos:
Input : lower_limit[] = {50, 61, 71, 86, 96} upper_limit[] = {60, 70, 85, 95, 100} freq[] = {9, 7, 9, 12, 8} Output : 15.757 Explanation : Standard deviation = sqrt(287127.75 - 45 * 78.3444 * 78.3444) / (45 - 1) = 15.757 Input : lower_limit[] = {37, 47, 57, 67} upper_limit[] = {46, 56, 66, 76} freq[] = {19, 23, 27, 28} Output : 10.9817
CPP
// CPP Program to implement standard // deviation of grouped data. #include <bits/stdc++.h> using namespace std; // Function to find mean of grouped data. float mean(float mid[], int freq[], int n) { float sum = 0, freqSum = 0; for (int i = 0; i < n; i++) { sum = sum + mid[i] * freq[i]; freqSum = freqSum + freq[i]; } return sum / freqSum; } // Function to find standard // deviation of grouped data. float groupedSD(float lower_limit[], float upper_limit[], int freq[], int n) { float mid[n], sum = 0, freqSum = 0, sd; for (int i = 0; i < n; i++) { mid[i] = (lower_limit[i] + upper_limit[i]) / 2; sum = sum + freq[i] * mid[i] * mid[i]; freqSum = freqSum + freq[i]; } // Formula to find standard deviation // of grouped data. sd = sqrt((sum - freqSum * mean(mid, freq, n) * mean(mid, freq, n)) / (freqSum - 1)); return sd; } // Driver function. int main() { // Declare and initialize // the lower limit of interval. float lower_limit[] = { 50, 61, 71, 86, 96 }; // Declare and initialize // the upper limit of interval. float upper_limit[] = { 60, 70, 85, 95, 100 }; int freq[] = { 9, 7, 9, 12, 8 }; // Calculating the size of array. int n = sizeof(lower_limit) / sizeof(lower_limit[0]); cout << groupedSD(lower_limit, upper_limit, freq, n); return 0; }
Java
// Java program to implement // standard deviation of grouped data. import java.io.*; class GFG { // Function to find mean of grouped data. static float mean(float mid[], int freq[], int n) { float sum = 0, freqSum = 0; for (int i = 0; i < n; i++) { sum = sum + mid[i] * freq[i]; freqSum = freqSum + freq[i]; } return sum / freqSum; } // Function to find standard // deviation of grouped data. static float groupedSD(float lower_limit[], float upper_limit[], int freq[], int n) { float mid[] = new float[n]; float sum = 0, freqSum = 0, sd; for (int i = 0; i < n; i++) { mid[i] = (lower_limit[i] + upper_limit[i]) / 2; sum = sum + freq[i] * mid[i] * mid[i]; freqSum = freqSum + freq[i]; } // Formula to find standard deviation // deviation of grouped data. sd = (float)Math.sqrt((sum - freqSum * mean(mid, freq, n) * mean(mid, freq, n)) / (freqSum - 1)); return sd; } // Driver function. public static void main (String[] args) { // Declare and initialize // the lower limit of interval. float lower_limit[] = { 50, 61, 71, 86, 96 }; // Declare and initialize // the upper limit of interval. float upper_limit[] = { 60, 70, 85, 95, 100 }; int freq[] = { 9, 7, 9, 12, 8 }; // Calculating the size of array. int n = lower_limit.length; System.out.println( groupedSD(lower_limit, upper_limit, freq, n)); } } // This code is contributed by vt_m
Python3
# Python Program to implement standard # deviation of grouped data. import math # Function to find mean of grouped data. def mean( mid, freq, n): sum = 0 freqSum = 0 for i in range(0,n): sum = sum + mid[i] * freq[i] freqSum = freqSum + freq[i] return sum / freqSum # Function to find standard # deviation of grouped data. def groupedSD(lower_limit, upper_limit ,freq , n): mid=[[0] for i in range(0,n)] sum = 0 freqSum = 0 sd=0 for i in range(0,n): mid[i] = (lower_limit[i] + upper_limit[i]) / 2 sum = sum + freq[i] * mid[i] * mid[i] freqSum = freqSum + freq[i] # Formula to find standard deviation # of grouped data. sd = math.sqrt((sum - freqSum * mean(mid, freq, n)* mean(mid, freq, n)) / (freqSum - 1)) return sd # driver code # Declare and initialize # the lower limit of interval. lower_limit= [ 50, 61, 71, 86, 96 ] # Declare and initialize # the upper limit of interval. upper_limit= [ 60, 70, 85, 95, 100 ] freq =[ 9, 7, 9, 12, 8 ] # Calculating the size of array. n = len(lower_limit) print(groupedSD(lower_limit, upper_limit, freq, n)) # This code is contributed by Gitanjali.
C#
// C# program to implement // standard deviation of grouped data. using System; class GFG { // Function to find mean of grouped data. static float mean(float []mid, int []freq, int n) { float sum = 0, freqSum = 0; for (int i = 0; i < n; i++) { sum = sum + mid[i] * freq[i]; freqSum = freqSum + freq[i]; } return sum / freqSum; } // Function to find standard // deviation of grouped data. static float groupedSD(float []lower_limit, float []upper_limit, int []freq, int n) { float []mid = new float[n]; float sum = 0, freqSum = 0, sd; for (int i = 0; i < n; i++) { mid[i] = (lower_limit[i] + upper_limit[i]) / 2; sum = sum + freq[i] * mid[i] * mid[i]; freqSum = freqSum + freq[i]; } // Formula to find standard deviation // deviation of grouped data. sd = (float)Math.Sqrt((sum - freqSum * mean(mid, freq, n) * mean(mid, freq, n)) / (freqSum - 1)); return sd; } // Driver function. public static void Main () { // Declare and initialize // the lower limit of interval. float []lower_limit = { 50, 61, 71, 86, 96 }; // Declare and initialize // the upper limit of interval. float []upper_limit = { 60, 70, 85, 95, 100 }; int []freq = { 9, 7, 9, 12, 8 }; // Calculating the size of array. int n = lower_limit.Length; Console.WriteLine(groupedSD(lower_limit, upper_limit, freq, n)); } } // This code is contributed by vt_m
PHP
<?php // PHP Program to implement standard // deviation of grouped data. // Function to find mean of grouped data. function mean($mid, $freq, $n) { $sum = 0; $freqSum = 0; for ( $i = 0; $i <$n; $i++) { $sum = $sum + $mid[$i] * $freq[$i]; $freqSum = $freqSum + $freq[$i]; } return $sum / $freqSum; } // Function to find standard // deviation of grouped data. function groupedSD($lower_limit, $upper_limit, $freq, $n) { $mid=array(); $sum = 0; $freqSum = 0; $sd; for ( $i = 0; $i < $n; $i++) { $mid[$i] = ($lower_limit[$i] + $upper_limit[$i]) / 2; $sum = $sum + $freq[$i] * $mid[$i] * $mid[$i]; $freqSum = $freqSum + $freq[$i]; } // Formula to find standard deviation // of grouped data. $sd = sqrt(($sum - $freqSum * mean($mid, $freq, $n) * mean($mid, $freq, $n)) / ($freqSum - 1)); return $sd; } // Driver Code // Declare and initialize // the lower limit of interval. $lower_limit = array(50, 61, 71, 86, 96); // Declare and initialize // the upper limit of interval. $upper_limit = array(60, 70, 85, 95, 100); $freq = array( 9, 7, 9, 12, 8 ); // Calculating the size of array. $n = count($lower_limit); echo groupedSD($lower_limit, $upper_limit, $freq, $n); // This code is contributed by anuj_67. ?>
Javascript
<script> // JavaScript program to implement // standard deviation of grouped data. // Function to find mean of grouped data. function mean(mid, freq, n) { let sum = 0, freqSum = 0; for (let i = 0; i < n; i++) { sum = sum + mid[i] * freq[i]; freqSum = freqSum + freq[i]; } return sum / freqSum; } // Function to find standard // deviation of grouped data. function groupedSD(lower_limit, upper_limit, freq, n) { let mid = []; let sum = 0, freqSum = 0, sd; for (let i = 0; i < n; i++) { mid[i] = (lower_limit[i] + upper_limit[i]) / 2; sum = sum + freq[i] * mid[i] * mid[i]; freqSum = freqSum + freq[i]; } // Formula to find standard deviation // deviation of grouped data. sd = Math.sqrt((sum - freqSum * mean(mid, freq, n) * mean(mid, freq, n)) / (freqSum - 1)); return sd; } // Driver code // Declare and initialize // the lower limit of interval. let lower_limit = [50, 61, 71, 86, 96]; // Declare and initialize // the upper limit of interval. let upper_limit = [ 60, 70, 85, 95, 100 ]; let freq = [ 9, 7, 9, 12, 8]; // Calculating the size of array. let n = lower_limit.length; document.write( groupedSD(lower_limit, upper_limit, freq, n)); </script>
Producción:
15.757
Publicación traducida automáticamente
Artículo escrito por Dharmendra_Kumar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA