Կոլմոգորով-Սմիրնովի թեստ (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-ը կարող է լինել ձեր հիմնական գործիքը մանրակրկիտ վիճակագրական թեստավորման համար՝ անկախ նրանից, թե դուք տվյալների գիտնական եք, որը փորձում է ստուգել մեքենայական ուսուցման մոդելի աշխատանքը, ձեր տվյալների վերաբերյալ ենթադրությունները ստուգող ֆինանսական վերլուծաբան, թե տվյալների հավաքածուները համեմատող հետազոտող: