Standard Deviation (SD) วัดความกระจายของข้อมูล คือรากที่สองของ Variance (ความแปรปรวน) โดย Variance คือค่าเฉลี่ยของผลต่างยกกำลังสองจากค่าเฉลี่ย (Mean)
ตัวอย่างโค้ด
#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
ขั้นตอนการคำนวณ
1. หาผลรวม (Sum) แล้วหาค่าเฉลี่ย (Mean):
for(i = 0; i < 5; ++i)
sum += val[i];
mean = sum / 5;
2. หา Variance: ยกกำลังสองผลต่างจากค่าเฉลี่ย รวมกัน หารด้วย n:
for(i = 0; i < 5; ++i)
variance += pow(val[i] - mean, 2);
variance = variance / 5;
3. หา Standard Deviation = รากที่สองของ Variance แล้วแสดงผล:
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;