Колмогоров-Смирнов з дискретними даними: Яке правильне використання dgof :: ks.test у R?


23

Питання для початківців:

Я хочу перевірити, чи походять два дискретні набори даних з одного розподілу. Мені було запропоновано тест Колмогорова-Смірнова.

Коновер ( Практична непараметрична статистика , 3d), схоже, говорить про те, що для цього можна використати тест Колмогорова-Смірнова, але його поведінка є «консервативною» з дискретними розподілами, і я не впевнений, що це означає тут.

Коментар DavidR на інше запитання говорить: "... Ви все ще можете зробити тест рівня α на основі статистики KS, але вам доведеться знайти якийсь інший метод, щоб отримати критичне значення, наприклад, за допомогою моделювання".

Версія ks.test () у пакеті dgof R ( article , cran ) додає деякі можливості, відсутні у версії ks.test () за замовчуванням у пакеті статистики. Серед іншого, dgof :: ks.test включає цей параметр:

simulate.p.value: логічне вказівка, чи слід обчислювати р-значення методом Монте-Карло, лише для дискретних тестів на придатність.

Чи є метою simulate.p.value = T виконати те, що пропонує DavidR?

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

Якщо y числовий, проводиться двопробний тест нульової гіпотези про те, що x і y були проведені з одного і того ж безперервного розподілу.

Альтернативно, y може бути символьним рядком, що називає функцію безперервного (кумулятивного) розподілу (або таку функцію), або функцію ecdf (або об'єкт класу stepfun), що дає дискретний розподіл. У цих випадках проводиться одноразове випробування з нуля, що функція розподілу, яка генерувала x, - це розподіл y ....

(Довідкові відомості: Власне кажучи, мої основні розподіли є безперервними, але дані, як правило, знаходяться дуже близько до декількох точок. Кожна точка є результатом моделювання і є середнім значенням 10 або 20 реальних чисел між -1 і 1. Наприкінці моделювання ці числа майже завжди дуже близькі до .9 або -9. Таким чином, засоби кластеруються навколо декількох значень, і я розглядаю їх як дискретні. Моделювання складне, і у мене немає причина думати, що дані слідують за відомим розподілом.)

Поради?


Я щойно помітив тут коментар доктора Г., який говорить про те, що ks.boot - це те, що мені потрібно, але мені все ще цікаво, чи зможе працювати моделювання dgof :: ks.test і що означає "конвертація".
Марс

Відповіді:


16

Це відповідь на розширення @jbrucks (але відповідає також оригінал).

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

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

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

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


Грег, дякую. Це дуже корисна загальна відповідь на питання jbruck, і це корисно і для мене. (Мої запитання були більш конкретними. Можливо, занадто вузькими, щоб очікувати відповідей.)
Марс,

1
@ Mars, я думаю, що моя відповідь опосередковано відповідає хоча б частинам ваших. Регулярний тест KS не передбачає зв’язків і використовує теоретичну модель для статистики тесту під нульовою гіпотезою. За допомогою зв'язків теоретична модель не є точною, але ви можете замість цього використовувати моделювання (тест перестановки, моделювання з нульового dist і т. Д.) Для обчислення нульового розподілу і, отже, отримання p-значення і т. Д. Я б здогадався, що саме це моделює аргумент, який ви згадуєте, робить.
Грег Сніг
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.