Я только что открыл fitdistrplus
пакет, и он у меня и работает с распределением Пуассона, и т.д .. но я застревают при попытке использовать биномиальное:использованием fitdist из fitdistplus с биномиального распределения
set.seed(20)
#Binomial distributed, mean score of 2
scorebinom <- rbinom(n=40,size=8,prob=.25)
fitBinom=fitdist(data=scorebinom, dist="binom", start=list(size=8, prob=mean(scorebinom)/8))
Я получаю ошибку:
Error in fitdist(data = scorebinom, dist = "binom", start = list(size = 8, :
the function mle failed to estimate the parameters,
with the error code 100
In addition: There were 50 or more warnings (use warnings() to see the first 50)
Я вижу много документации из этого пакета около отрицательного биномиального распределения, но не так много о биноме. Кажется, эта функция поддерживает этот дистрибутив (хотя fitdistr
в MASS
нет).
Любые мысли?
Проблема возникает из-за процедуры MLE, называемой внутри 'fitdist', - есть (несколько бесполезный) список выходных кодов в разделе ** Значение ** файла справки'? Mledist'. Время от времени я сталкиваюсь с такими ошибками, когда устанавливаю параметры, и обычно больно отслеживать точную причину. Вы можете попробовать поиграть с 'custom.optim' функцией' fitdist' переходит на 'optim'. Иногда мне повезло с * Simulated Annealing *, чем алгоритм по умолчанию, используемый 'optim'. ... – nrussell
Например, это возвращает оценки параметров, но не стандартные ошибки, и все еще вызывает предупреждения: 'fitdist (data = x, dist =" binom ", start = list (size = 8, prob = mean (x)/8), custom.optim = function (...) {optim (..., method = "SANN")}) '(где я перечислил ваш вектор' scorebinom' как 'x' для удобства). – nrussell