paint-brush
Чектөөлөрдү аныктоо: Сиз эмнени билишиңиз керектарабынан@nataliaogneva
54,626 окуулар
54,626 окуулар

Чектөөлөрдү аныктоо: Сиз эмнени билишиңиз керек

тарабынан Natalia Ogneva
Natalia Ogneva HackerNoon profile picture

Natalia Ogneva

@nataliaogneva

Statistics lover

4 мин read2024/04/23
Read on Terminal Reader
Read this story in a terminal
Print this story
Read this story w/o Javascript
Read this story w/o Javascript
tldt arrow
ky-flagKY
Бул окуяны кыргызча окуңуз!
en-flagEN
Read this story in the original language, English!
ln-flagLN
Tanga lisolo oyo na lingala!
lo-flagLO
ອ່ານເລື່ອງນີ້ເປັນພາສາລາວ!
ps-flagPS
دا کیسه په پښتو ژبه ولولئ!
lt-flagLT
Skaitykite šią istoriją lietuvių kalba!
hr-flagHR
Pročitajte ovu priču na hrvatskom!
lv-flagLV
Izlasi šo stāstu latviešu valodā!
ht-flagHT
Li istwa sa a an kreyòl ayisyen!
hu-flagHU
Olvasd el ezt a történetet magyarul!
hy-flagHY
Կարդացեք այս պատմությունը հայերեն։
uk-flagUK
Читайте цю історію українською!
mg-flagMG
Vakio amin'ny teny malagasy ity tantara ity!
More
KY

өтө узун; Окуу

Аналитиктер өз иштеринин жүрүшүндө маалыматтардын чегинен чыккан көрсөткүчтөрдү көп жолугат. Чечимдер, адатта, четтөөлөргө өтө сезгич болгон орточо үлгүгө негизделет. Туура чечим кабыл алуу үчүн четтөөлөрдү башкаруу өтө маанилүү. Келгиле, адаттан тыш баалуулуктар менен иштөө үчүн бир нече жөнөкөй жана тез ыкмаларды карап көрөлү.

Companies Mentioned

Mention Thumbnail
effect
Mention Thumbnail
Series
featured image - Чектөөлөрдү аныктоо: Сиз эмнени билишиңиз керек
Natalia Ogneva HackerNoon profile picture
Natalia Ogneva

Natalia Ogneva

@nataliaogneva

Statistics lover

Аналитиктер көбүнчө AB-тест анализи, болжолдуу моделдерди түзүү же тенденцияларга көз салуу сыяктуу иш учурунда маалыматтардын чегинен чыгуучу көрсөткүчтөргө туш болушат. Чечимдер, адатта, үлгүдөгү орточо көрсөткүчкө негизделет, ал четтөөлөргө өтө сезгич жана маанини кескин өзгөртө алат. Ошентип, туура чечим кабыл алуу үчүн четтөөлөрдү башкаруу абдан маанилүү.


Келгиле, адаттан тыш баалуулуктар менен иштөө үчүн бир нече жөнөкөй жана тез ыкмаларды карап көрөлү.

Проблеманы түзүү

Негизги метрика катары орточо буйрутма маанисин колдонуу менен эксперимент талдоо жүргүзүү керек деп элестетиңиз. Биздин метрика адатта нормалдуу бөлүштүрүүгө ээ деп айталы. Ошондой эле, биз тест тобундагы метрикалык бөлүштүрүү башкаруудагыдан башкача экенин билебиз. Башкача айтканда, башкаруудагы бөлүштүрүүнүн орточо мааниси 10, ал эми тестте 12. Эки топто тең стандарттык четтөө 3кө барабар.


Бирок, эки үлгү тең үлгүнүн каражатын жана үлгүнүн стандарттык четтөөсүн кыйшайткан чектерге ээ.

image

 import numpy as np N = 1000 mean_1 = 10 std_1 = 3 mean_2 = 12 std_2 = 3 x1 = np.concatenate((np.random.normal(mean_1, std_1, N), 10 * np.random.random_sample(50) + 20)) x2 = np.concatenate((np.random.normal(mean_2, std_2, N), 4 * np.random.random_sample(50) + 1))

Эскертүү: метриканы эске алуу эки тараптан тең четтөөлөргө ээ болушу мүмкүн. Эгерде сиздин метрикаңызда бир тараптан гана четтөөлөр болушу мүмкүн болсо, методдор бул максат үчүн оңой эле өзгөртүлүшү мүмкүн.

Куйруктарды кесип

Эң оңой ыкма - 5% пайыздык чекке чейин жана 95% пайыздык көрсөткүчтөн кийин бардык байкоолорду кесип салуу. Бул учурда биз маалыматтын 10% ын доомат катары жоготтук. Бирок, бөлүштүрүү көбүрөөк калыптанган көрүнөт, ал эми үлгү учурлары бөлүштүрүү моменттерине жакыныраак.

image

 import numpy as np x1_5pct = np.percentile(x1, 5) x1_95pct = np.percentile(x1, 95) x1_cutted = [i for i in x1 if i > x1_5pct and i < x1_95pct] x2_5pct = np.percentile(x2, 5) x2_95pct = np.percentile(x2, 95) x2_cutted = [i for i in x2 if i > x2_5pct and i < x2_95pct]


Дагы бир жолу - белгилүү диапазондон тышкары байкоолорду алып салуу. Төмөн тилке 25% пайыздык минус квартал аралык диапазонун жарымына, ал эми жогорку тилке 75% пайыздык плюс жарымга барабар. Бул жерде биз маалыматтын 0,7% гана жоготобуз. Бөлүштүрүүлөр баштапкыга караганда көбүрөөк калыптанган көрүнөт. Үлгү моменттери бөлүштүрүү моменттерине көбүрөөк барабар.

image

 import numpy as np low_band_1 = np.percentile(x1, 25) - 1.5 * np.std(x1) high_band_1 = np.percentile(x1, 75) + 1.5 * np.std(x1) x1_cutted = [i for i in x1 if i > low_band_1 and i < high_band_1] low_band_2 = np.percentile(x2, 25) - 1.5 * np.std(x2) high_band_2 = np.percentile(x2, 75) + 1.5 * np.std(x2) x2_cutted = [i for i in x2 if i > low_band_2 and i < high_band_2]

Bootstrap

Бул жерде биз карап чыккан экинчи ыкма - жүктөө. Бул ыкмада орточо маани чакан үлгүлөрдүн орточосу сыяктуу түзүлөт. Биздин мисалда, башкаруу тобунун орточо көрсөткүчү 10,35ке барабар, ал эми тест тобу 11,78. Бул дагы эле кошумча маалыматтарды иштетүү менен салыштырганда жакшы натыйжа болуп саналат.

 import pandas as pd def create_bootstrap_samples( sample_list: np.array, sample_size: int, n_samples: int ): # create a list for sample means sample_means = [] # loop n_samples times for i in range(n_samples): # create a bootstrap sample of sample_size with replacement bootstrap_sample = pd.Series(sample_list).sample(n = sample_size, replace = True) # calculate the bootstrap sample mean sample_mean = bootstrap_sample.mean() # add this sample mean to the sample means list sample_means.append(sample_mean) return pd.Series(sample_means) (create_bootstrap_samples(x1, len(x1), 1000).mean(), create_bootstrap_samples(x2, len(x2), 1000).mean())

Корутунду

Чектөөлөрдү аныктоо жана иштетүү туура чечим кабыл алуу үчүн маанилүү. Эми, жок эле дегенде, үч тез жана жөнөкөй ыкмалар анализден мурун маалыматтарды текшерүүгө жардам берет.


Бирок, аныкталган чектен чыгуулар адаттан тыш баалуулуктар жана жаңылык эффектиси үчүн өзгөчөлүк болушу мүмкүн экенин эстен чыгарбоо керек. Бирок бул башка окуя :)

L O A D I N G
. . . comments & more!

About Author

Natalia Ogneva HackerNoon profile picture
Natalia Ogneva@nataliaogneva
Statistics lover

ТАГИП АЛУУ

БУЛ МАКАЛА БЕРИЛГЕН...

Permanent on Arweave
Read on Terminal Reader
Read this story in a terminal
 Terminal
Read this story w/o Javascript
Read this story w/o Javascript
 Lite

Mentioned in this story

companies