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
sr-flagSR
Прочитајте ову причу на српском!
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
SR

Предуго; Читати

Аналитичари се често сусрећу са одступницима у подацима током свог рада. Одлуке се обично заснивају на средњој вредности узорка, која је веома осетљива на одступања. Од кључне је важности управљати изванредним вредностима да бисте донели исправну одлуку. Хајде да размотримо неколико једноставних и брзих приступа за рад са необичним вредностима.

Companies Mentioned

Mention Thumbnail
effect
Mention Thumbnail
Series
featured image - Откривање одступања: шта треба да знате
Natalia Ogneva HackerNoon profile picture
Natalia Ogneva

Natalia Ogneva

@nataliaogneva

Statistics lover

Аналитичари се често сусрећу са одступницима у подацима током свог рада, као што је током анализе АБ-теста, креирања предиктивних модела или праћења трендова. Одлуке се обично заснивају на средњој вредности узорка, која је веома осетљива на одступања и може драматично да промени вредност. Дакле, кључно је управљати изванредним вредностима да бисте донели исправну одлуку.


Хајде да размотримо неколико једноставних и брзих приступа за рад са необичним вредностима.

Формулација проблема

Замислите да треба да извршите анализу експеримента користећи просечну вредност поруџбине као примарни показатељ. Рецимо да наша метрика обично има нормалну дистрибуцију. Такође, знамо да се метричка дистрибуција у тест групи разликује од оне у контролној. Другим речима, средња вредност дистрибуције у контроли је 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]

Боотстрап

Други метод који смо овде разматрали је боотстрап. У овом приступу, средња вредност је конструисана као средња вредност подузорака. У нашем примеру, средња вредност у контролној групи је 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