2014-03-15 9 views
0

Я сделал генератор случайных чисел и генерируется N чисел в диапазоне от 0 до 10007, я хочу, чтобы проверить, насколько хорошо этот генератор в R.Тест Chisquare и тест K-S для заданного набора случайных чисел в диапазоне [0, num_max] в R?

+0

Что такое распространение? Распределены ли они как N (0,1), или U (0,1), или что-то еще? – jlhoward

+0

U (0,1), также, пожалуйста, скажите мне, как интерпретировать о pvalue? – user3392464

+0

Я думаю, ваша проблема не в R, а в математике, потому что ваш вопрос не в программировании. Может быть, вам будет больше удачи на http://stats.stackexchange.com/ (также, вот проблема с оценкой генераторов случайных чисел: http://bit.ly/1gzVa1C) – Jealie

ответ

0

Вы можете использовать ks.test, чтобы проверить, если ваш образец соответствует заданному распределению. Например, мы можем сравнить вывод runif на U (0, 1) распределение:

set.seed(144) 
x <- runif(1000, 0, 1) 
ks.test(x, "punif", 0, 1) 
# One-sample Kolmogorov-Smirnov test 
# 
# data: x 
# D = 0.0326, p-value = 0.2374 
# alternative hypothesis: two-sided 

В D значение утверждает, что эмпирическая CDF ваших образцов отличается от ВПР в U (0, 1) распределение на максимум 0,0326. Значение p говорит о том, что существует вероятность 0.2374, что эмпирический cdf из 1000 случайных выборок из случайной величины R будет отличаться от cdf R на D или более.

+2

Я не думаю, что ваше последнее предложение верный. – Roland

+0

так, означает ли это, что высокая величина p хорошая? Я применил тест Chisquare, и результат: X-squared = 1662, df = 10006, p-value = 1 Хорошо это или плохо? ks test дал p-value = 0.8775 – user3392464

+0

@Roland thanks - я обновил предложение. – josliber