SQL-də istifadə olunan STDDEV funksiyasının addım-addım izahı

STDDEV (Standard Deviation – Standart kənarlaşma) funksiyası SQL-in qrup funksiyaları bölümündə göstərilir.

Adətən, təlimlərdə tələbələrimə digər daha çox istifadə olunan (məs: COUNT, SUM və s.) funksiyalardan fərqli olaraq, “bu funksiya (STDDEV) çox istifadə olunmur, lazım olanda mənasını öyrənib, tətbiq edərsiniz” deyirdim.

Ancaq son zamanlar bəzi tələbələrin üstündə dayanıb maraqlanmasını nəzərə alaraq, bacardığım qədər sadə şəkildə bu funksiyanın hesablama alqoritmini izah etmək qərarına gəldim.

Beləliklə:

STDDEV funksiyasının elmi hesablanma düsturu aşağıdakı kimidir:

Σ – cəm

x – qiymətlər

ẋ – bütün qiymətlər üzrə ədədi orta

n – qiymətlərin sayı

Nümunə üçün qəbul edilmiş ədədlər üzrə düsturun tətbiqini addımlar şəklində aşağıda göstərirəm.

Qiymətlərimiz:

{10, 15, 21, 32, 45, 59, 63}

Addım1:

– bütün qiymətlər üzrə ədədi ortanın tapılması

cəmi tapırıq

10 + 15 + 21 + 32 + 45 + 59 + 63 = 245

alınmış cəmi qiymətlərin sayına bölərək ədədi ortanı təyin edirik

245 / 7 = 35

ẋ = 35

Addım2:

(x- ẋ)2 fərqlərin tapılıb kvadrata yüksəldilməsi

hər qiymət ilə addım1-də tapdığımız ədədi ortanın fərqini tapaq

{10 – 35 = -25, 15 – 35 = -20, 21 – 35 = -14, 32 – 35 = -3, 45 – 35 = 10, 59 – 35 = 24, 63 – 35 = 28}

alınan fərqlərin kvadratlarını hesablayaq

{625, 400, 196, 9, 100, 576, 784}

Addım3:

∑(x- ẋ)2 cəmini hesablayaq

625 + 400 + 196 + 9 + 100 + 576 + 784 = 2690

Addım4:

∑(x- ẋ)2 / (n-1) – alınmış cəmin qiymətlərin saylarının 1 vahid azına nisbətini tapaq

 2690 / (7-1) = 2690 / 6 = 448.333333(3)

Bu qiymət VARIANCE funksiyasının qiymətidir. STDDEV = VARIANCEın kvadrt kökünə bərabərdir.

Addım5:

Alınmış qiymətdən kvadrat kökün alınması

= 21.17388328420966

Yuxarıdakı hesablama addımlarını cədvəl şəklində ompaktlaşdırsaq, növbəti şəkildə görə bilərik:

Qiymətlər

Addım1

Addım2

Addım3 və Addım4

Addım5

x

x- ẋ

(x- ẋ)2

∑(x- ẋ)2 / (n-1) və yaxud VARIANCE

STDDEV

10

35

-15

625

 

 

 2690 / 6 = 448.(3)

 

 

 = 21.17388328420966

 

15

35

-20

400

21

35

-14

193

32

35

-3

9

45

35

10

100

59

35

24

576

63

35

28

784

Cəm: 245

Ədədi orta: 245/7=35

 

Cəm: 2690

 

İndi isə misal olaraq aşağıdakı SQL sətrini icra etsək, nəticənin hesablamadan aldığımız ədədlə üst-üstə düşdüyünü görərik:

with

tmp as (

        select 10 as x from dual  union all

        select 15 from dual   union all

        select 21 from dual   union all

        select 32 from dual   union all

        select 45 from dual   union all

        select 59 from dual   union all

        select 63 from dual

        )

select variance(x), stddev(x) from tmp;

 

 

 

Əziz dostlar, ümid edirəm ki, müəyyən qədər aydınlıq gətirərək faydalı ola bildim.

Şahin Kərimov

Comments: 6

Leave a comment