Я хотел бы установить гамма-распределение в набор данных из 338 элементов, с фиксированным низким порогом (Я использую R). Чтобы представить нижний предел, я подумал использовать гамма с тремя параметрами, добавив местоположение. Вот мой код:нижний предел гамма-распределения в R
library(FAdist)
library(fitdistrplus)
fit <- fitdist(mydata,"gamma3",start=list(1,1,mythreshold))
Everytime я запустить код, я получил ту же ошибку:
<simpleError in optim(par = vstart, fn = fnobj, fix.arg = fix.arg, obs = data, gr = gradient, ddistnam = ddistname, hessian = TRUE, method = meth, lower = lower, upper = upper, ...): non-finite finite-difference value [3]>
Error in fitdist(Hs, "gamma3", start = list(1, 1, 3)) :
the function mle failed to estimate the parameters,
with the error code 100
Так что я попытался изменить начальные значения, используя те, полученные с помощью подгонки гамма с два параметра, которые дали этот результат:
fit <- fitdist(mydata,"gamma")
fit
Fitting of the distribution ' gamma ' by maximum likelihood
Parameters:
estimate Std. Error
shape 21.417503 1.6348313
rate 5.352422 0.4133735
но это еще не work..I бы понять, если даже гамма с двумя параметрами не работает, но это не так, и я могу» я даю себе объяснение ция. Кроме того, QQ-сюжет и ecdf для гаммы с двумя параметрами не так хорошо ... но если я соответствовать распределению на исходном наборе данных масштабируются относительно низкого порога подгонка выглядит идеально:
fit <- fitdist(mydata-mythreshold,"gamma")
fit
Fitting of the distribution ' gamma ' by maximum likelihood
Parameters:
estimate Std. Error
shape 1.059540 0.07212832
rate 1.058007 0.09117620
Но тогда я не знаю, правильно ли это делать ... параметры очень разные, и мне нужно их рассчитать периоды возврата, связанные с моими данными! поэтому я подумал о гамме с параметром location.
p.s. я не прикреплял данные, потому что их слишком много, но я могу сообщить о них:
summary(mydata)
Min. 1st Qu. Median Mean 3rd Qu. Max.
3.003 3.282 3.753 4.001 4.444 8.087
Большое вам спасибо Бен! Я получил его, и он окончательно сработал. –