Распределения Вейбула

О моделях распределения Вейбула

Распределение Вейбула широко используется в анализе данных надежности и срока службы (частоты отказов). Тулбокс обеспечивает двухпараметровое распределение Вейбула

y=abxb1eaxb

где a - параметр шкалы, а b - параметр формы.

Обратите внимание, что существуют другие распределения Вейбула, но вы должны создать пользовательское уравнение, чтобы использовать эти распределения:

  • Трехпараметровое распределение Вейбула с x замененным x – c, где c - параметр местоположения

  • Однопараметрическое распределение Вейбула, где параметр формы фиксирован и установлен только параметр шкалы.

Curve Fitting Toolbox™ не подгоняет распределения вероятностей Вейбула к выборке данных. Вместо этого он подбирает кривые к данным отклика и предиктора так, что кривая имеет ту же форму, что и распределение Вейбула.

Интерактивная подгонка моделей Вейбула

  1. Откройте приложение Аппроксимирование Кривыми, введя cftool. Также щелкните Аппроксимированием кривыми на вкладке Приложений.

  2. В приложении Аппроксимирование Кривыми выберите данные кривой (X data и Y data, или просто Y data с индексом).

    Приложение Аппроксимирование Кривыми создает подгонку кривой по умолчанию, Polynomial.

  3. Измените тип модели из 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)
Эта модель Вейбула задана тремя параметрами: первый масштабирует кривую вдоль горизонтальной оси, второй определяет форму кривой, а третий масштабирует кривую вдоль вертикальной оси. Заметьте, что хотя эта кривая имеет почти ту же форму, что и функция плотности вероятностей Вейбула, она не является плотностью, потому что она включает параметр c, который необходим, чтобы позволить высоте кривой подстраиваться под данные.

См. также

| |

Похожие темы