Próbuję oszacować parametry dopasowania rozkładu gamma do gęstości ekologicznej (tj. Biomasy na obszar). Używam polecenia fitdistr() z pakietu MASS w R (wersja 3.0.0: x86_64-w64-mingw32/x64 (64-bit)). Jest to polecenie szacowania maksymalnego prawdopodobieństwa dla parametrów dystrybucji.Trudności z dopasowaniem rozkładu gamma za pomocą R
Wektory danych są dość duże, ale statystyki podsumowujące są następujące:
Min. = 0; 1st Qu. = 87.67; Median = 199.5; Mean = 1255; Variance = 2.79E+07; 3rd Qu. = 385.6; Max. = 33880
Kod używam, aby uruchomić procedurę MLE jest:
gdist <- fitdistr(data, dgamma,
start=list(shape=1, scale=1/(mean(data))),lower=c(1,0.1))
R daje mi się następujący błąd:
Error in optim(x = c(6.46791148085828, 4060.54750836902, 99.6201565968665, : non-finite finite-difference value [1]
Inni, którzy doświadczyli tego typu problemów i zwrócił się do Stackov erflow na pomoc najwyraźniej znalazł rozwiązanie dodając argument "lower =" do ich kodu i/lub usuwając zera. Uważam, że R dostarczy parametry dla dopasowania, jeśli usunę obserwacje zerowe, ale miałem wrażenie, że rozkłady gamma obejmowały zakres 0 < = x> inf (Forbes i wsp. 2011. Rozkład statystyczny)?
Czy mam złe zdanie na temat zasięgu dystrybucji gamma? Czy jest jakiś inny problem, którego mi brakuje odnośnie MLE (w którym jestem nowicjuszem).
+1 byłbym podejrzany dowolnego parametru kształtu <1. to prawda, że rozkład gamma nie pozwalają na to, ale IME taka wartość, zwłaszcza w połączeniu z masową skalę, oznacza dane są prawdopodobnie zbyt ciężkie-tailed dla gamma. Coś w rodzaju uogólnionego Pareto lub dystrybucji o ekstremalnej wartości może być lepszym rozwiązaniem. –