ส่วนเบี่ยงเบนมาตรฐานคือการวัดการกระจายของตัวเลขในข้อมูล คือรากที่สองของความแปรปรวน โดยที่ความแปรปรวนคือค่าเฉลี่ยของผลต่างกำลังสองจากค่าเฉลี่ย
มีโปรแกรมคำนวณค่าเบี่ยงเบนมาตรฐานดังนี้
ตัวอย่าง
#include <iostream> #include <cmath> using namespace std; int main() { float val[5] = {12.5, 7.0, 10.0, 7.8, 15.5}; float sum = 0.0, mean, variance = 0.0, stdDeviation; int i; for(i = 0; i < 5; ++i) sum += val[i]; mean = sum/5; for(i = 0; i < 5; ++i) variance += pow(val[i] - mean, 2); variance=variance/5; stdDeviation = sqrt(variance); cout<<"The data values are: "; for(i = 0; i < 5; ++i) cout<< val[i] <<" "; cout<<endl; cout<<"The standard deviation of these data values is "<<stdDeviation; }
ผลลัพธ์
The data values are: 12.5 7 10 7.8 15.5 The standard deviation of these data values is 3.1232
ในโปรแกรมข้างต้น ขั้นแรกจะได้รับผลรวมของค่าข้อมูล จากนั้นหาค่าเฉลี่ยโดยการหารผลรวมด้วยจำนวนองค์ประกอบ มีให้ในข้อมูลโค้ดต่อไปนี้
for(i = 0; i < 5; ++i) sum += val[i]; mean = sum/5;
ความแปรปรวนของข้อมูลหาได้โดยการยกกำลังผลต่างจากค่าเฉลี่ย บวกแล้วจึงหาค่าเฉลี่ย ซึ่งแสดงในข้อมูลโค้ดต่อไปนี้
for(i = 0; i < 5; ++i) variance += pow(val[i] - mean, 2); variance=variance/5;
ค่าเบี่ยงเบนมาตรฐานหาได้จากการหาค่ารากที่สองของความแปรปรวน จากนั้นจะแสดงค่าข้อมูลทั้งหมดและค่าเบี่ยงเบนมาตรฐาน ได้ดังนี้
stdDeviation = sqrt(variance); cout<<"The data values are: "; for(i = 0; i < 5; ++i) cout<< val[i] <<" "; cout<<endl; cout<<"The standard deviation of these data values is "<<stdDeviation;