Я пытаюсь провести тест на соответствие Пуассона для ряда наблюдений с использованием R. Я подсчитываю, сколько людей делали определенные вещи в минуту в течение 57 минут. У меня никогда не было наблюдений больше 13, и я получил следующие данные: (для случаев от 0 до 13+ человек):
observed = c(3/57, 4/57, 9/57, 7/57, 9/57, 8/57, 2/57, 3/57, 7/57, 2/57, 1/57, 0, 1/57, 1/57, 0)
это означает, что 3 раза я наблюдал 0 человек, 4 раза 1 человека, 9 раз 2 человека и так далее (последний 0 означает, что я никогда не видел 14 или более человек).
mn = 4.578947
cases = c(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
estimated = c()
for (i in cases)(estimated <- c(estimated, dpois(i, lambda = mn)))
estimated <- c(estimated, (1-ppois(13, lambda=mn)))
где mn
— среднее значение, полученное из данных. Наконец, я бегу
chisq.test(observed, p=estimated)
и я получаю:
Chi-squared test for given probabilities
data: observed
X-squared = 1.0182, df = 14, p-value = 1
Warning message:
In chisq.test(observed, p = estimated) :
Chi-squared approximation may be incorrect
Я не очень хорошо разбираюсь в этой области (ни в статистике, ни в программировании на R), но у меня есть идея, что я не должен получать p-значение ровно 1,0. Что я делаю неправильно? (Кстати: мой код, скорее всего, не оптимален для того, что я пытаюсь сделать, но я почти не использую R, и сейчас это не является целью моей работы.)
expected frequencies >= 5
для каждого бина/категории возникновения. объяснил в моем ответе ниже о том, как этого добиться. - person Mankind_008   schedule 18.06.2018