Подгонка Вейбулла к обратным данным, поиск параметров масштаба / формы исходных данных - Matlab/R

Мне нужно приспособить модель Вейбулла к этим отрицательно искаженным данным:

55,6 51,2 57,3 62,3 50 59,2 54,2 60,3 53,7 52 61,4 62,3 57,8 60,9 44,5

с этой гистограммой:

Я хочу приспособить модель Вейбулла, используя wblfit в Matlab, и в этом случае я получаю

[parmhat,~] = wblfit(data,.95);
parmhat = 58.3775015628175          14.2433879423117

Но я считаю, что эти параметры неверны, потому что PDF Вейбулла определен как положительный перекос в Matlab. Итак, чтобы обратить данные, я применяю к данным простое линейное преобразование: modData = 100 - данные, и я получаю:

[parmhat,~] = wblfit(modData,.95);
parmhat = 46.1515222547038          8.62492481755511

Чтобы еще больше усложнить ситуацию, обратите внимание, что значения масштаба и формы в parmhat зависят от преобразования! Теперь используя modData2 = 1000 - данные:

[parmhat,~] = wblfit(modData2,.95);
parmhat = 946.463849591113          173.527538511119

Что для меня не интуитивно понятно. Мой вопрос: как мне "восстановить" правильные значения параметров формы и масштаба в parmhat, используя преобразование переменных в modData и modData2?

ОБНОВИТЬ:

В R я использую fitdistrplus, сначала определите Gumbel

dgumbel <- function(x, a, b) 1/b*exp((a-x)/b)*exp(-exp((a-x)/b))
pgumbel <- function(q, a, b) exp(-exp((a-q)/b))
qgumbel <- function(p, a, b) a-b*log(-log(p))

а затем подойдет распределение

fg <- fitdist(modData, "gumbel", start=list(a=10, b=10))

Но я не знаю, как найти параметры данных из modData. Спасибо!

0 ответов

Другие вопросы по тегам