Стандартные ошибки оценки и размера "NA" (не NaN) при подборе отрицательного биномиального распределения с использованием fitdist()

Это мой первый пост, поэтому, если есть какие-либо улучшения или дополнительная информация, которую я могу дать, пожалуйста, дайте мне знать.

Я использую R 3.4.3 на Mac под управлением 10.11.6.

Я работаю с данными подсчета. Меня интересует параметр тета / дисперсия / размер (k) отрицательного биномиального распределения (насколько я понимаю, эти термины используются взаимозаменяемо). Я подгоняю распределение NB к этим данным, оценивая параметры по максимальной вероятности, используя fitdistrplus пакет, с fitdist функция. Меня интересует, лучше ли моделируются разные группы моих данных с использованием разных распределений. Поэтому я подгоняю распределение ко всем данным. Затем данные разделяются на основе одного двухуровневого фактора, и распределение соответствует этим двум отдельным группам.

Когда я подгоняю распределение ко всему набору данных, я получаю оценку му и размера со стандартными ошибками. Затем я разделил данные. Этот же подход прекрасно работает для половины данных (группа A), но не для другой половины (группа B), которая, теоретически, должна быть структурно одинаковой. Вместо этого я получаю оценку му и размера, но с NA для стандартных ошибок.

Наложение нижнего = с (0,0) и верхнего = с (инф, инф) для optim функция позади fitdist также ничего не добивается, и поскольку на выходе получается NA, а не NaN, я не думаю, что это как-то связано с попыткой оценить отрицательные числа в любом случае (ошибка 100, которая часто обсуждается).

И просто ради интереса я удалил все нули на случай, если это было как-то связано с этим, и это тоже ничего не сделало.

Итак, мой вопрос: почему создаются NA (и, в конечном счете, как я могу получить стандартную ошибку для оценок)?

Вот мои данные и мой код:

require(fitdistrplus)

data.set <- read.csv("data.set.csv")
count.A <- subset(data.set, category == "A")
count.B <- subset(data.set, category == "B")

    # All Data

plotdist(data.set$count, histo = TRUE, demp = TRUE)

count.nb <- fitdist(data.set$count, "nbinom")
plot(count.nb)
LL.nb <- logLik(count.nb)

count.p <- fitdist(data.set$count, "pois")
plot(count.p)
LL.p <- logLik(count.p)

cdfcomp(list(count.p, count.nb),legendtext = c("Poisson", "negative binomial"))

gofstat(list(count.p, count.nb),fitnames = c("Poisson", "negative binomial"))

    # Group A

plotdist(count.A$count, histo = TRUE, demp = TRUE)

A.count.nb <- fitdist(count.A$count, "nbinom")
plot(A.count.nb)
A.LL.nb <- logLik(A.count.nb)

A.count.p <- fitdist(count.A$count, "pois")
plot(A.count.p)
A.LL.p <- logLik(A.count.p)

cdfcomp(list(A.count.p, A.count.nb),legendtext = c("Poisson", "negative binomial"))

gofstat(list(A.count.p, A.count.nb),fitnames = c("Poisson", "negative binomial"))

    # Group B

plotdist(count.B$count, histo = TRUE, demp = TRUE)

B.count.nb <- fitdist(count.B$count, "nbinom", method = "mle")

plot(B.count.nb)
B.LL.nb <- logLik(B.count.nb)

B.count.p <- fitdist(count.B$count, "pois")
plot(B.count.p)
B.LL.p <- logLik(B.count.p)

cdfcomp(list(B.count.p, B.count.nb),legendtext = c("Poisson", "negative binomial"))

gofstat(list(B.count.p, B.count.nb),fitnames = c("Poisson", "negative binomial"))

вот мой код

0 ответов

Другие вопросы по тегам