Կոլմոգորով-Սմիրնովի թեստ (KS Test)


<h2>Ներածություն <p>Վիճակագրական վերլուծության մեջ օգտագործվում են բազմաթիվ գործիքներ և մեթոդներ, որոնք օգնում են չմշակված տվյալները վերածել խորաթափանց տեղեկատվության: Կոլմոգորով-Սմիրնովի թեստը (KS Test) այնպիսի հզոր գործիք է, որը հայտնի է իր հարմարվողականությամբ և դիմացկունությամբ: Այս ոչ պարամետրային թեստը տվյալների վերլուծության ոլորտում հիմնական հիմքն է և հայտնի է երկու նմուշների հակադրությամբ կամ նմուշը հղման հավանականության բաշխման հետ համեմատելու համար (մեկ նմուշ KS թեստ): Մենք կբացատրենք KS Test-ի հայեցակարգը, օգտագործումը և աշխատանքը այս գրառման մեջ՝ պարզ ընկալման համար Python-ով կոդավորված օրինակներով:

Կոլմոգորով-Սմիրնով թեստի վերծանում

KS թեստը, որը մշակվել է Նիկոլայ Սմիրնովի և Անդրեյ Կոլմոգորովի կողմից, ոչ պարամետրային տեխնիկա է, որն օգտագործվում է գնահատելու այն աստիճանը, որով տվյալները համապատասխանում են տվյալ բաշխմանը կամ հակադրելու երկու կուտակային բաշխման ֆունկցիաները (CDF): Դրա հարմարվողականությունը մեծանում է նրանով, որ իր ոչ պարամետրիկ բնույթի պատճառով այն չի անում որևէ նախնական ենթադրություն տվյալ բաշխմանը հաջորդող տվյալների վերաբերյալ:

Նմուշի էմպիրիկ բաշխման ֆունկցիայի (EDF) և հղման բաշխման կուտակային բաշխման ֆունկցիայի (CDF) կամ երկու էմպիրիկ նմուշների CDF-ների միջև քանակականացումը KS թեստի հիմնական գաղափարն է:

Python-ի օրինակներ Կոլմոգորով-Սմիրնով թեստի համար

Օրինակ 1. Մեկ նմուշ KS թեստ Python-ում

Պատկերացրեք, որ դուք ունեք 50 մարդու կշիռներով տվյալների բազա և կարծում եք, որ այդ կշիռները կանոնավոր կերպով բաշխվում են: Այս վարկածը ստուգելու համար կատարեք մեկ օրինակով KS թեստ: Python-ի կոդը դա անելու համար հետևյալն է

# Import necessary libraries
from scipy import stats
import numpy as np

# Generate a sample of size 50 from a normal distribution
np.random.seed(0)
sample = np.random.normal(loc=0, scale=1, size=50)

# One-sample KS Test
d_statistic, p_value = stats.kstest(sample, 'norm')

print("One-sample KS Test:")
print("D statistic:", d_statistic)
print("p-value:", p_value)

Արդյունք

One-sample KS Test:
D statistic: 0.10706475374815838
p-value: 0.5781417630622738

Մենք նմուշը համեմատում ենք այս կոդի սովորական նորմալ բաշխման հետ՝ օգտագործելով kstest ֆունկցիայի «նորմա» արգումենտը: Զրոյական վարկածը մերժվում է, եթե p-արժեքը փոքր է նշանակալի մակարդակից, որը սովորաբար 0,05 է: Սա ցույց է տալիս, որ տվյալները չեն կարող հետևել նորմալ բաշխմանը:

Օրինակ 2. KS երկու նմուշ Python-ում

Ենթադրենք, դուք ցանկանում եք համեմատել A և B քաղաքների մարդկանց կշիռները՝ տեսնելու, թե արդյոք նրանք վերցված են նույն բաշխումից: Այս դեպքում երկու նմուշների KS թեստը իդեալական է: Դա անելու համար Python կոդը հետևյալն է 

# Generate another sample of size 50 from a normal distribution
sample_2 = np.random.normal(loc=0.5, scale=1.5, size=50)

# Two-sample KS Test
d_statistic_2, p_value_2 = stats.ks_2samp(sample, sample_2)

print("\nTwo-sample KS Test:")
print("D statistic:", d_statistic_2)
print("p-value:", p_value_2)

Երկու նմուշների բաշխումները համեմատվում են ks_2samp ֆունկցիայի միջոցով: Մենք մերժում ենք զրոյական վարկածը և գալիս ենք այն եզրակացության, որ A և B քաղաքների կշիռները գալիս են տարբեր բաշխումներից, եթե p-արժեքը փոքր է մեր նշանակության մակարդակից:

Կոլմոգորով-Սմիրնովի թեստի ուժի կիրառում

KS Test-ը շատ տիրույթներում օգտակար գործիք է իր հարմարվողականության շնորհիվ: Թեստն օգտագործվում է ֆինանսական վերլուծաբանների կողմից՝ որոշելու համար, թե արդյոք որոշակի բաժնետոմսից ստացված եկամուտները հետևում են նորմալ բաշխմանը: Թեստը կարող է օգտագործվել բնապահպանական գիտության մեջ՝ համեմատելու երկու տարբեր շրջանների տեղումների եղանակները:

KS Test-ը նաև շատ օգտակար է տվյալների գիտության և մեքենայական ուսուցման ոլորտներում: KS թեստը, օրինակ, կարող է օգտագործվել կանխատեսվող հավանականության բաշխումները դրական և բացասական արդյունքների համար համեմատելու համար, երբ ստեղծվում է երկուական իրադարձությունների կանխատեսման մոդել: KS-ի ուժեղ վիճակագրությունը, որը ցույց է տալիս այս բաշխումների միջև զգալի տարբերությունը, ցույց կտա հաջող մոդել:

KS Test-ը օգտակար է թվային գովազդի ոլորտին՝ հասկանալու օգտատերերի վարքագիծը: Մեկ օրինակ բերելու համար թեստը կարող է ուսումնասիրել վեբ-էջում անցկացրած օգտվողի ժամանակը, որպեսզի որոշի, թե արդյոք այն հետևում է որոշակի բաշխմանը, ինչը կազմակերպություններին հնարավորություն է տալիս կայացնել տվյալների վրա հիմնված որոշումներ:

Եզրակացություն

Վիճակագրական վերլուծության ոլորտում Կոլմոգորով-Սմիրնով թեստը հզոր, ոչ պարամետրիկ տեխնիկա է հարմարեցվածությունը և տարբեր նմուշների հակադրությունը գնահատելու համար: Թեստի լայն կիրառելիությունը բազմաթիվ ոլորտներում ընդգծում է, թե որքան կարևոր է այն այսօրվա տվյալների վրա հիմնված միջավայրում:

KS Test-ը հասանելի է և հեշտ կիրառելի Python-ի պրակտիկ ներդրմամբ՝ առաջարկելով ամուր վիճակագրական պատկերացումներ: KS Test-ը կարող է լինել ձեր հիմնական գործիքը մանրակրկիտ վիճակագրական թեստավորման համար՝ անկախ նրանից, թե դուք տվյալների գիտնական եք, որը փորձում է ստուգել մեքենայական ուսուցման մոդելի աշխատանքը, ձեր տվյալների վերաբերյալ ենթադրությունները ստուգող ֆինանսական վերլուծաբան, թե տվյալների հավաքածուները համեմատող հետազոտող: