ส่วนเบี่ยงเบนมาตรฐานใช้เพื่อวัดค่าเบี่ยงเบนของข้อมูลจากค่าเฉลี่ย สูตรทางคณิตศาสตร์ในการคำนวณค่าเบี่ยงเบนมาตรฐานมีดังนี้ −
$$s=\sqrt{Variance}$$
ที่ไหน
ความแปรปรวน$$=\frac{1}{n}\:\:\displaystyle\sum\limits_{i=1}^n (x_{i}-m)^{2}$$
และ
$$m=mean=\frac{1}{n}\:\displaystyle\sum\limits_{i=1}^n x_{i}$$
อัลกอริทึม
อ้างถึงอัลกอริทึมที่ระบุด้านล่างเพื่อคำนวณค่าเบี่ยงเบนมาตรฐานสำหรับตัวเลขที่ระบุ
ขั้นตอนที่ 1 - อ่าน n รายการ
ขั้นตอนที่ 2 - คำนวณผลรวมและค่าเฉลี่ยของรายการ
ขั้นตอนที่ 3 - คำนวณความแปรปรวน
ขั้นตอนที่ 4 - คำนวณค่าเบี่ยงเบนมาตรฐาน
ตรรกะที่ใช้ในโปรแกรมคำนวณค่าเบี่ยงเบนมาตรฐานมีดังนี้ −
for (i = 1 ; i<= n; i++){
deviation = value[i] - mean;
sumsqr += deviation * deviation;
}
variance = sumsqr/(float)n ;
stddeviation = sqrt(variance) ; ตัวอย่าง
ต่อไปนี้เป็นโปรแกรม C เพื่อคำนวณค่าเบี่ยงเบนมาตรฐานสำหรับตัวเลขที่กำหนด -
#include <math.h>
#define MAXSIZE 100
main( ) {
int i,n;
float value [MAXSIZE], deviation,
sum,sumsqr,mean,variance,stddeviation;
sum = sumsqr = n = 0 ;
printf("Input values: input -1 to end \n");
for (i=1; i< MAXSIZE ; i++) {
scanf("%f", &value[i]);
if (value[i] == -1)
break;
sum += value[i];
n += 1;
}
mean = sum/(float)n;
for (i = 1 ; i<= n; i++) {
deviation = value[i] - mean;
sumsqr += deviation * deviation;
}
variance = sumsqr/(float)n ;
stddeviation = sqrt(variance) ;
printf("\nNumber of items : %d\n",n);
printf("Mean : %f\n", mean);
printf("Standard deviation : %f\n", stddeviation);
} ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะสร้างผลลัพธ์ต่อไปนี้ -
Input values: input -1 to end 2 4 6 8 12 4.5 6.7 0.3 2.4 -1 Number of items: 9 Mean: 5.100000 Standard deviation: 3.348300