Standard Error of Mean (SEM) = Standard Deviation / √n
ใช้ประเมินความคลาดเคลื่อนของ Sample Mean ต่อ Population Mean
ตัวอย่างโค้ด
#include <bits/stdc++.h>
using namespace std;
float calc_mean(float arr[], int n) {
float sum = 0;
for (int i = 0; i < n; i++) sum += arr[i];
return sum / n;
}
float calc_deviation(float arr[], int n) {
float mean = calc_mean(arr, n);
float sum = 0;
for (int i = 0; i < n; i++)
sum += (arr[i] - mean) * (arr[i] - mean);
return sqrt(sum / (n - 1)); // Sample SD
}
float calc_error(float arr[], int n) {
return calc_deviation(arr, n) / sqrt(n);
}
int main() {
float arr[] = {78.53, 79.62, 80.25, 81.05, 83.21, 83.46};
int n = 6;
cout << calc_error(arr, n) << endl;
return 0;
}
ผลลัพธ์
0.8063
การคำนวณยืนยัน
- Mean = 486.12 / 6 = 81.02
- SD ≈ 1.975
- SEM = 1.975 / √6 ≈ 1.975 / 2.449 ≈ 0.806 ✓
การใช้งาน
Confidence Interval 95%: Mean ± 1.96 × SEM
81.02 ± 1.96 × 0.806 ≈ [79.44, 82.60]
หมายเหตุ
โค้ดคำนวณ Mean สองครั้งใน Deviation (เรียก calc_mean ในลูป) ควรส่ง Mean เข้าไปเป็นพารามิเตอร์แทน