Подгонка данных к другим формулировкам моделей Гамбеля и Вейбулла в Matlab - PullRequest
0 голосов
/ 11 декабря 2018

Мне нужно приспособить распределения Extreme Value к данным о скорости ветра.Я использую Matlab для этого.Для пользователя может быть неочевидным, что существуют альтернативные формулировки моделей Гамбеля и Вейбулла, отличные от тех, которые Matlab встроил в свои команды: evfit и wblfit.Таким образом, реализованы следующие определения:

Гумбель (подходит для минимумов)

enter image description here

Однако есть и другойверсия Gumbel, к которой мне нужно вписать данные:

enter image description here

Weibull

Те же комментарии применимык моделям Вейбулла в Matlab.В предыдущих версиях Matlab реализовал версию Weibull в команде weibfit (больше не доступна), которая позже была заменена на wblfit.

enter image description here

иранее как:

enter image description here

У меня вопрос: есть ли идеи, как данные можно подогнать к предыдущим определениям моделей Гамбеля и Вейбулла в Matlab?

Спасибо,

1 Ответ

0 голосов
/ 11 декабря 2018

Вы можете оценить параметр пользовательского распределения, используя функцию mle:

Пример с вашим пользовательским Weibul PDF:

data      = wblrnd(1,1,1000,1); %random weibull data
custompdf = @(x,a,b) (b*a).*x.^(b-1).*exp(-a*x.^b);                               %your custom PDF function
opt       = statset('MaxIter',1e5,'MaxFunEvals',1e5,'FunValCheck','off');         %Iteration's option
[param,ci]= mle(data,'pdf',custompdf,'start',[1 1],'Options',opt,'LowerBound',[0 0],'UpperBound',[Inf Inf])

Если функция не сходится, выможно настроить начальную точку с помощью более подходящего значения.

...