স্ট্যান্ডার্ড ডেভিয়েশন ডেটার মধ্যমান (mean) থেকে বিচ্যুতি মাপতে ব্যবহৃত হয়। স্ট্যান্ডার্ড ডেভিয়েশন ক্যালকুলেট করার গাণিতিক সূত্র নিম্নরূপ:
$$s=\sqrt{Variance}$$
যেখানে
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}$$
অ্যালগরিদম
দেওয়া সংখ্যাগুলোর স্ট্যান্ডার্ড ডেভিয়েশন ক্যালকুলেট করার অ্যালগরিদম নিচে দেওয়া হলো:
স্টেপ ১ - n সংখ্যক আইটেম পড়ুন।
স্টেপ ২ - আইটেমগুলোর যোগফল এবং মধ্যমান (mean) ক্যালকুলেট করুন।
স্টেপ ৩ - ভ্যারিয়েন্স (variance) ক্যালকুলেট করুন।
স্টেপ ৪ - স্ট্যান্ডার্ড ডেভিয়েশন ক্যালকুলেট করুন।
প্রোগ্রামে স্ট্যান্ডার্ড ডেভিয়েশন ক্যালকুলেট করার লজিক নিম্নরূপ:
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