Придатність для дуже великих розмірів зразків


12

Я збираю дуже великі вибірки (> 1 000 000) категоричних даних щодня і хочу, щоб дані виглядали "суттєво" різними між днями, щоб виявити помилки в зборі даних.

Я думав, що використання тесту на придатність (зокрема, G-тест) було б для цього добре (каламбур) призначений для цього. Очікуваний розподіл задається розподілом попереднього дня.

Але, оскільки розміри моїх зразків такі великі, тест має дуже високу потужність і дає багато помилкових позитивних результатів. Тобто, навіть дуже незначні денні коливання дадуть майже нульове p-значення.

Я в кінцевому підсумку помножив свою тестову статистику на деяку константу (0,001), що має чудову інтерпретацію вибірки даних із такою швидкістю. Ця стаття, здається, узгоджується з таким підходом. Кажуть, що:

Квадрат Chi най надійніший із зразками приблизно від 100 до 2500 людей

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


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

2
З математичної точки зору, випробування на придатність з дуже великим ідеально - це просто відповідна нулева гіпотеза не дуже цікава: навіщо ви хочете задати питання "так / ні", коли зможете отримати відповідь "скільки"? У вашому випадку ви щодня можете оцінювати зміну пропорції для кожної категорії, додавати довірчий інтервал у кожну та бачити, чи не вдасться вони заздалегідь задати область толерантності близько 0.n
Майкл М

Використання таких термінів, як "значущий" та "хибнопозитивний", схоже, суперечить статистичному значенню цих термінів, особливо якщо ви правильно виконуєте тест *. Я пропоную вам уникати цих термінів, якщо ви не використовуєте їх строго в технічному сенсі. Ваша основна проблема - це використання тестів на гіпотези в ситуаціях, коли це може мало сенсу робити; на звичайній, нетехнічній, англійській мові, що таке власне питання, яке вас цікавить? * (зокрема, використовуючи попередній день як "населення" не правильно, якщо ви не допускаєте його змінності - як правило, це так само
мінливо,

Відповіді:


4

Тест повертає правильний результат. Розподіли з дня на день не однакові. Це, звичайно, вам не приносить користі. Проблема, з якою ви стикаєтесь, давно відома. Див.: Карл Пірсон та Р. А. Фішер про статистичні випробування: обмін від природи 1935 року

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


4

Давайте вперед і вб'ємо священну корову на 5%.

Ви (правильно) вказали, що проблема полягає у великій силі тесту. Ви можете повторно відкалібрувати її до більш відповідної влади, як, наприклад, традиційне значення 80%:

  1. Виберіть розмір ефекту, який ви бажаєте виявити (наприклад, зміщення 0,2%)
  2. Визначте потужність, яка для вас достатньо, щоб вона не була пересилена (наприклад,1β=80%)
  3. Відверніться від існуючої теорії тесту Пірсона, щоб визначити рівень, який зробить ваш тест практичним.

Припустимо, у вас є 5 категорій з рівними ймовірностями, , і ваша альтернатива . Отже для , . Асимптотичний розподіл - це не центральний чі-квадрат з (# категорії-1) = 4 df і параметр При цьому велике значення , це досить близько до . 80% -тиль становитьp1=p2=p3=p4=p5=0.2p+δ/n=(0.198,0.202,0.2,0.2,0.2)n=106δ=(2,+2,0,0,0)k=

λ=jδj2/pj=4/0.2+4/0.2=40
λN(μ=λ+k=44,σ2=2(k+2λ)=168)44+13Φ1(0.8)=44+130.84=54.91. Отже, бажаним рівнем тесту є зворотний cdf хвіст від : Отже, це був би рівень, на якому ти повинен Подумайте про тестування ваших даних так, щоб виявити різниці 0,2%.χ42
Prob[χ42>54.91]=3.31011

(Будь ласка, перевірте мою математику. Це смішний рівень тесту, але це те, що ви хотіли зі своїми Big Data, чи не так? З іншого боку, якщо ви звичайно бачите Пірсона в діапазоні пари сотня, це може бути цілком значущим критичним значенням.)χ2

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


2

У цих випадках мій професор запропонував обчислити V Крамера, який є мірою асоціації, заснованої на статистиці хі-квадрата. Це повинно дати вам сили та допомогти вирішити, чи є тест на гіперчутливість. Але я не впевнений, чи можете ви використовувати V з такою статистикою, яку повертають тести G2.

Це має бути формулою для V:

ϕc=χ2n(k1)

де - загальна загальна кількість спостережень і - кількість рядків або кількість стовпців, залежно від того, де менше. Або на користь тестів на придатність, , мабуть, немає. рядківk knkk


0

Один із підходів - зробити тести на придатність придатності більш значущими, виконуючи їх на менших блоках даних.

Ви можете розділити свої дані з даного дня на, наприклад, 1000 блоків з 1000 зразків кожного та провести індивідуальний тест на корисність для кожного блоку, при цьому очікуваний розподіл буде наданий повним набором даних за попередній день. Зберігайте рівень значущості для кожного окремого тесту на рівні, який ви використовували (наприклад, ). Потім шукайте значні відхилення від загальної кількості позитивних тестів від очікуваної кількості помилкових позитивних результатів (за нульовою гіпотезою, що різниці в розподілах немає, загальна кількість позитивних тестів розподіляється біномічно, з параметром ).αα=0.05α

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


Не могли б ви детальніше розібратися у тому сенсі, у якому цей підхід був би "більш значущим?"
whuber

Це статистичне значення порівняно з реальним значенням. Використовуючи 10 ^ 3 замість 10 ^ 6 зразків, потужність одного тесту навмисно знижується, тому відкидання нульової гіпотези, як правило, відповідає великій невідповідності. Це робить результат єдиного тесту більш значущим, оскільки ОП не піклується про "незначні щоденні коливання". Для 10 ^ 6 зразків тест може завжди відхиляти H0 через незначні відмінності, тому незрозуміло, чи є результат тесту значимою інформацією.
CJ Stoneking

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

@whuber, чи можна проблему переосмислити таким чином, щоб нульове значення та його відхилення були інваріантними за розміром даних, але шукали якісного представлення?
Вас
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.