Я написал программу, которая генерирует случайные данные. Если программа работает правильно, эти данные должны соответствовать определенному, известному распределению вероятности. Я хотел бы запустить программу, сделать некоторые расчеты по результату и получить значение p.
Прежде чем кто-либо еще скажет это: я понимаю, что проверка гипотез не может определить, когда программа работает правильно. Он может только обнаружить, когда он работает неправильно определенным образом. (И даже в этом случае тест «должен» провалиться X% времени, в зависимости от того, какой уровень значимости вы выберете ...)
Итак, я пытаюсь понять, какие инструменты могут быть подходящими. Особенно:
Я могу генерировать столько случайных данных, сколько захочу. Все, что мне нужно сделать, это оставить программу работающей достаточно долго. Так что я не ограничен каким-либо конкретным размером выборки.
Я заинтересован в методах, которые производят р-значение. Так что смотреть на график и говорить «да, это выглядит довольно линейно» - не интересный вариант. Если не существует какого-либо способа поставить жесткое число на «шаткость» графа. ;-)
Что я знаю до сих пор:
Я видел три основных вида упомянутых тестов, которые звучат так, будто они могут быть применимы: критерий хи-квадрат [Пирсона], тест Колмогорова-Смирнова и тест Андерсона-Дарлинга.
Похоже, что критерий хи-квадрат подходит для дискретных распределений, в то время как два других больше подходят для непрерывных распределений. (?)
Различные источники намекают на то, что тест AD "лучше", чем тест KS, но не вдаваться в подробности.
В конечном итоге все эти тесты предположительно обнаруживают «разные способы» отклонения от указанного нулевого распределения. Но я пока не знаю, в чем различия ... В общем, я ищу какое-то общее описание того, где каждый тип теста наиболее применим, и какие проблемы он обнаруживает лучше всего.