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

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

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

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

enter image description here

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

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

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

enter image description here

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

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

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

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

UPDATE:

В 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. Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...