Чи можемо ми використовувати одне середнє і стандартне відхилення, щоб виявити людей, що вижили?


17

Припустимо, я нормально поширював дані. Для кожного елементу даних я хочу перевірити, наскільки кількість SD знаходиться далеко від середнього. У даних може бути зовнішній вигляд (ймовірно, лише один, але може бути і два-три), чи ні, але в основному це те, що я шукаю. Чи має сенс тимчасово виключити елемент, на який я зараз дивлюся, з обчислення середнього значення та SD? Я думаю, що якщо вона близька до середньої, це не матиме ніякого впливу. Якщо це зовнішній вигляд, він може змістити обчислення середнього та SD та знизити ймовірність його виявлення. Я не статистик, тому будь-яка допомога вдячна!


7
Це має ідеальний сенс і є основою для багатьох методів виявлення сторонніх людей. Але замість того, щоб вигадувати свій власний метод, який може чи не може працювати (а останній набагато ймовірніший навіть за методів, що були нещодавно винайдені статистиками, тому вони потребують ретельного вивчення), чому б вам не скористатись теоретично перевірено та емпірично перевірене?
whuber

Дякуємо, що вказали на це. Я перегляну ці методи і побачу, чи добре вони працюють на моїх даних!
Олівер

1
Перегляньте цю сторінку на сторінці "Діагностика видалення регресії" на R: stat.ethz.ch/R-manual/R-patched/library/stats/html/…
Бен Огорек

.... І ця відповідь для ілюстрації того, чому від них не можна залежати, щоб знайти більше, ніж одне чуже.
user603

Вище чудові думки щодо ідеї позначення чужих людей. Якось назад я написав статтю про ідею фільтрів втрат пропускання на аномаліях, що позначаються. Сподіваюся, це допоможе розширити ідею, представлену вище. Посилання на статтю: datascience.com/blog/python-anomaly-detection
Pramit

Відповіді:


25

Це може здатися контрінтуїтивним, але використовувати описаний підхід не має сенсу (якщо прийняти формулювання, я б швидше написав: "може призвести до результатів, дуже відмінних від призначених"), і ніколи цього не слід робити: ризики це не працює, і, крім того, існує простіша, набагато безпечніша та краще встановлена ​​альтернатива, доступна без зайвих витрат.

По-перше, це правда, що якщо є одиночний зовнішній вигляд , то з часом ви знайдете його, використовуючи запропоновану вами процедуру. Але в цілому (коли даних може бути більше ніж один), алгоритм, який ви пропонуєте, повністю розпадається, в сенсі, що потенційно може призвести до того, що ви відхилите гарну точку даних, як чужа людина, або залиште сторонні люди як хороші точки даних з потенційно катастрофічними наслідками.

Нижче я наводжу простий числовий приклад, коли правило, яке ви пропонуєте, виходить з ладу, і тоді я пропоную набагато безпечнішу і більш усталену альтернативу, але перед цим я поясню: а) що не так із запропонованим вами методом; і б) що зазвичай надає перевагу альтернативою йому є.

По суті, ви не можете використовувати відстань спостереження від середнього вихідного та стандартного відхилень ваших даних для надійного виявлення людей, які випадають, тому що використовувані вами оцінки (залишити середнє та стандартне відхилення) все ще можуть бути витягнуті до решти віджимання: це називається ефектом маскування.

Коротше кажучи, один простий спосіб надійного виявлення людей, що випадають, - це використовувати загальну ідею, яку ви запропонували (відстань від оцінки місця розташування та масштабу), але замінити використовувані вами оцінювачі (залиште середнє значення, sd) на надійні - тобто, оцінки розроблений таким чином, щоб бути менш сприйнятливим до коливання сторонніми людьми.

Розглянемо цей приклад, де я додаю 3 атрибути до 47 справжніх спостережень, отриманих із норми 0,1:

n    <- 50
set.seed(123)  # for reproducibility
x    <- round(rnorm(n,0,1), 1)
x[1] <- x[1]+1000
x[2] <- x[2]+10
x[3] <- x[3]+10

Код внизу обчислює індекс виваженості на основі середнього виходу та стандартного відхилення (наприклад, запропонованого вами підходу).

out_1 <- rep(NA,n)
for(i in 1:n){  out_1[i] <- abs( x[i]-mean(x[-i]) )/sd(x[-i])  }

і цей код створює сюжет, який ви бачите нижче.

plot(x, out_1, ylim=c(0,1), xlim=c(-3,20))
points(x[1:3], out_1[1:3], col="red", pch=16)

Зображення 1 зображує значення вашого індексу зовнішності як функцію від значення спостережень (найдальша частина залишків знаходиться поза межами цього сюжету, але інші два зображені у вигляді червоних крапок). Як ви бачите, за винятком самого екстремального, індекс вишуканості, побудований, як ви пропонуєте, не зможе виявити людей, що випадають: справді другий та третій (м'якіші) люди, що перебувають зараз, навіть мають значення (за вашим індексом ексклюзивності) менше, ніж усісправжні спостереження! ... Відповідно до запропонованого вами підходу, ви б утримували цих двох крайніх переживальників у наборі справжніх спостережень, змушуючи вас використовувати 49 решти спостережень так, ніби вони виходили з того самого однорідного процесу, даючи вам остаточне Оцінка середнього та sd на основі цих 49 точок даних 0,45 та 2,32, дуже поганий опис будь- якої частини вашої вибірки!

зображення2

xiX

O(xi,X)=|ximed(X)|mad(X)

med(X)Xmad(X)

У R цей другий індекс зовнішності можна обчислити як:

out_2 <- abs( x-median(x) )/mad(x)

і побудували графік (як і раніше), використовуючи:

plot(x, out_2, ylim=c(0,15), xlim=c(-3,20))
points(x[1:3], out_2[1:3], col="red", pch=16)

зображення2

Зображення 2 відображає значення цього альтернативного індексу зовнішності для одного набору даних. Як бачимо, зараз усі три люди, що переживають, чітко виявляються як такі. Крім того, це правило виявлення зовнішніх властивостей має деякі встановлені статистичні властивості. Це, серед іншого, призводить до застосовних правил скорочення. Наприклад, якщо справжню частину даних можна вважати виведеною із симетричного розподілу з кінцевим другим моментом, ви можете відхилити всі точки даних, для яких

|ximed(X)|mad(X)>3.5

як люди, що віджили У наведеному вище прикладі застосування цього правила призвело б до правильного спостереження за позначенням 1,2 та 3. Відкидаючи ці, середнє та sd решти спостережень становить 0,021 та 0,93 сприйнятливо, набагато кращий опис справжньої частини вибірки !


2
+1, незважаючи на перше речення, яке вам негайно суперечить (пропозиція ОП має сенс, якщо передбачається, щонайменше, один чужий; ваше заперечення стосується проблем із цією процедурою, коли це припущення порушено).
whuber

1
Дякую. Тим часом я видалив попередній коментар, очікуючи, що він застаріє після ваших змін.
whuber

3
Явище, коли декілька людей, що переживають люди, роблять виявлення одноразового виявлення сліпим для будь-якого з них, часто називають маскуванням . Це може допомогти людям знайти більше інформації, що стосується проблеми.
Glen_b -Встановіть Моніку

1
@ user603 Приємна робота зі створення наочного сценарію, але я думаю, що ви викидаєте дитину разом з водою. Діагностика видалення регресії не є досконалою, але вони широко застосовуються і витримали перевірку часом. Прийняття медіани чудово, але мені цікаво, як би ви поширили свій підхід на більш складні моделі, що базуються на вірогідності.
Бен Огорек

2
+6, Це дійсно чудова відповідь - чітко та ретельно пояснено, проілюстровано кодом, фігурами та формулами. Я трохи змінив форматування коду, щоб полегшити його читання. Якщо вам це не подобається, поверніть його назад / мої вибачення.
gung - Відновіть Моніку
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.