Распределение Вейбула широко используется в анализе данных надежности и срока службы (частоты отказов). Тулбокс обеспечивает двухпараметровое распределение Вейбула
где a - параметр шкалы, а b - параметр формы.
Обратите внимание, что существуют другие распределения Вейбула, но вы должны создать пользовательское уравнение, чтобы использовать эти распределения:
Трехпараметровое распределение Вейбула с x замененным x – c, где c - параметр местоположения
Однопараметрическое распределение Вейбула, где параметр формы фиксирован и установлен только параметр шкалы.
Curve Fitting Toolbox™ не подгоняет распределения вероятностей Вейбула к выборке данных. Вместо этого он подбирает кривые к данным отклика и предиктора так, что кривая имеет ту же форму, что и распределение Вейбула.
Откройте приложение Аппроксимирование Кривыми, введя cftool
. Также щелкните Аппроксимированием кривыми на вкладке Приложений.
В приложении Аппроксимирование Кривыми выберите данные кривой (X data и Y data, или просто Y data с индексом).
Приложение Аппроксимирование Кривыми создает подгонку кривой по умолчанию, Polynomial
.
Измените тип модели из Polynomial
на Weibull
.
Настройка параметров подгонки отсутствует.
(Необязательно) Щелкните Fit Options, чтобы задать начальные значения коэффициентов и ограничения или изменить настройки алгоритма.
Тулбокс вычисляет случайные начальные точки для моделей Вейбула, заданные на интервале [0,1]. Можно переопределить начальные точки и задать свои собственные значения в диалоговом окне Опции подгонки (Fit Options).
Для получения дополнительной информации о настройках см. Раздел «Задание опций подгонки» и «Оптимизированные начальные точки».
Задайте тип модели weibull
.
Например, чтобы загрузить некоторые примеры данных, измеряющих концентрацию соединения в крови относительно времени, и подгонять и построить модель Вейбула, определяющую начальную точку:
time = [ 0.1; 0.1; 0.3; 0.3; 1.3; 1.7; 2.1;... 2.6; 3.9; 3.9; ... 5.1; 5.6; 6.2; 6.4; 7.7; 8.1; 8.2;... 8.9; 9.0; 9.5; ... 9.6; 10.2; 10.3; 10.8; 11.2; 11.2; 11.2;... 11.7; 12.1; 12.3; ... 12.3; 13.1; 13.2; 13.4; 13.7; 14.0; 14.3;... 15.4; 16.1; 16.1; ... 16.4; 16.4; 16.7; 16.7; 17.5; 17.6; 18.1;... 18.5; 19.3; 19.7;]; conc = [0.01; 0.08; 0.13; 0.16; 0.55; 0.90; 1.11;... 1.62; 1.79; 1.59; ... 1.83; 1.68; 2.09; 2.17; 2.66; 2.08; 2.26;... 1.65; 1.70; 2.39; ... 2.08; 2.02; 1.65; 1.96; 1.91; 1.30; 1.62;... 1.57; 1.32; 1.56; ... 1.36; 1.05; 1.29; 1.32; 1.20; 1.10; 0.88;... 0.63; 0.69; 0.69; ... 0.49; 0.53; 0.42; 0.48; 0.41; 0.27; 0.36;... 0.33; 0.17; 0.20;]; f=fit(time, conc/25, 'Weibull', ... 'StartPoint', [0.01, 2] ) plot(f,time,conc/25, 'o');
Если вы хотите изменить опции подгонки, такие как начальные значения коэффициентов и ограничения, соответствующие вашим данным, или изменить настройки алгоритма, смотрите таблицу дополнительных свойств с NonlinearLeastSquares
на fitoptions
страница с описанием.
Соответствующие значения начальной точки и масштабирование conc/25
для двухпараметрической модели Вейбула были вычислены путем подгонки модели Вейбула 3 параметра с помощью этого пользовательского уравнения:
f=fit(time, conc, ' c*a*b*x^(b-1)*exp(-a*x^b)', 'StartPoint', [0.01, 2, 5] ) f = General model: f(x) = c*a*b*x^(b-1)*exp(-a*x^b) Coefficients (with 95% confidence bounds): a = 0.009854 (0.007465, 0.01224) b = 2.003 (1.895, 2.11) c = 25.65 (24.42, 26.89)
fit
| fitoptions
| fittype