Я пытаюсь оценить параметры для гамма-распределения, соответствующие данным экологической плотности (т.е. по биомассе на область). Я использовал команду fitdistr() из пакета MASS в R (версия 3.0.0: x86_64-w64-mingw32/x64 (64-разрядная версия)). Это команда оценки максимального правдоподобия для параметров распределения.
Векторы данных довольно велики, но сводная статистика выглядит следующим образом:
Мин. = 0; 1-й кв. = 87,67; Медиана = 199,5; Среднее value = 1255; Разница = 2.79E + 07; 3 кв. = 385,6; Максимум. = 33880
Код, который я использую для запуска процедуры MLE:
gdist <- fitdistr(data, dgamma,
start=list(shape=1, scale=1/(mean(data))),lower=c(1,0.1))
R дает мне следующую ошибку:
Ошибка в оптимизации (x = c (6.46791148085828, 4060.54750836902, 99.6201565968665,: конечное конечное разностное значение [1]
Другие, которые испытали этот тип проблемы и обратились к stackoverflow для справки, похоже, нашли решение в добавлении аргумента "lower =" к своему коду и/или удалению нулей. Я обнаружил, что R будет предоставлять параметры для подгонки, если я удалю нулевые наблюдения, но у меня создалось впечатление, что гамма-распределения охватывают диапазон 0 <= x > inf (Forbes et al., 2011. Статистические распределения)?
Я получил неправильное впечатление относительно диапазона гамма-распределения? Или есть еще одна проблема, которую я пропускаю в отношении MLE (в которой я новичок).