fitnlm

Аппроксимация нелинейной регрессионой модели

Описание

пример

mdl = fitnlm(tbl,modelfun,beta0) подходит для модели, заданной modelfun к переменным в таблице или массиве набора данных tbl, и возвращает нелинейную модель mdl.

fitnlm оценивает коэффициенты модели с помощью итерационной процедуры, начиная с начальных значений в beta0.

пример

mdl = fitnlm(X,y,modelfun,beta0) подходит для нелинейной регрессионой модели с использованием вектора-столбца y как переменная отклика и столбцы матрицы X как переменные предиктора.

пример

mdl = fitnlm(___,modelfun,beta0,Name,Value) подходит для нелинейной регрессионой модели с дополнительными опциями, заданными одним или несколькими Name,Value аргументы в виде пар.

Примеры

свернуть все

Создайте нелинейную модель для автопробега на основе carbig данные.

Загрузите данные и создайте нелинейную модель.

load carbig
tbl = table(Horsepower,Weight,MPG);
modelfun = @(b,x)b(1) + b(2)*x(:,1).^b(3) + ...
    b(4)*x(:,2).^b(5);
beta0 = [-50 500 -1 500 -1];
mdl = fitnlm(tbl,modelfun,beta0)
mdl = 
Nonlinear regression model:
    MPG ~ b1 + b2*Horsepower^b3 + b4*Weight^b5

Estimated Coefficients:
          Estimate      SE        tStat       pValue 
          ________    _______    ________    ________

    b1     -49.383     119.97    -0.41164     0.68083
    b2      376.43     567.05     0.66384     0.50719
    b3    -0.78193    0.47168     -1.6578    0.098177
    b4      422.37     776.02     0.54428     0.58656
    b5    -0.24127    0.48325    -0.49926     0.61788


Number of observations: 392, Error degrees of freedom: 387
Root Mean Squared Error: 3.96
R-Squared: 0.745,  Adjusted R-Squared 0.743
F-statistic vs. constant model: 283, p-value = 1.79e-113

Создайте нелинейную модель для автопробега на основе carbig данные.

Загрузите данные и создайте нелинейную модель.

load carbig
X = [Horsepower,Weight];
y = MPG;
modelfun = @(b,x)b(1) + b(2)*x(:,1).^b(3) + ...
    b(4)*x(:,2).^b(5);
beta0 = [-50 500 -1 500 -1];
mdl = fitnlm(X,y,modelfun,beta0)
mdl = 
Nonlinear regression model:
    y ~ b1 + b2*x1^b3 + b4*x2^b5

Estimated Coefficients:
          Estimate      SE        tStat       pValue 
          ________    _______    ________    ________

    b1     -49.383     119.97    -0.41164     0.68083
    b2      376.43     567.05     0.66384     0.50719
    b3    -0.78193    0.47168     -1.6578    0.098177
    b4      422.37     776.02     0.54428     0.58656
    b5    -0.24127    0.48325    -0.49926     0.61788


Number of observations: 392, Error degrees of freedom: 387
Root Mean Squared Error: 3.96
R-Squared: 0.745,  Adjusted R-Squared 0.743
F-statistic vs. constant model: 283, p-value = 1.79e-113

Создайте нелинейную модель для автопробега на основе carbig данные. Стремиться к большей точности путем опускания TolFun опция и наблюдать итерации путем установки Display опция.

Загрузите данные и создайте нелинейную модель.

load carbig
X = [Horsepower,Weight];
y = MPG;
modelfun = @(b,x)b(1) + b(2)*x(:,1).^b(3) + ...
    b(4)*x(:,2).^b(5);
beta0 = [-50 500 -1 500 -1];

Создайте опции для снижения TolFun и для сообщения итерационного отображения и создания модели с помощью опций.

opts = statset('Display','iter','TolFun',1e-10);
mdl = fitnlm(X,y,modelfun,beta0,'Options',opts);
 
                                     Norm of         Norm of
   Iteration             SSE        Gradient           Step 
  -----------------------------------------------------------
           0     1.82248e+06
           1          678600          788810         1691.07
           2          616716     6.12739e+06         45.4738
           3          249831      3.9532e+06         293.557
           4           17675          361544         369.284
           5         11746.6         69670.5         169.079
           6         7242.22          343738         394.822
           7         6250.32          159719         452.941
           8         6172.87         91622.9         268.674
           9            6077         6957.44         100.208
          10         6076.34         6370.39         88.1905
          11         6075.75         5199.08         77.9694
          12          6075.3         4646.61          69.764
          13         6074.91         4235.96         62.9114
          14         6074.55         3885.28         57.0647
          15         6074.23          3571.1         52.0036
          16         6073.93         3286.48         47.5795
          17         6073.66         3028.34         43.6844
          18          6073.4         2794.31         40.2352
          19         6073.17         2582.15         37.1663
          20         6072.95         2389.68         34.4243
          21         6072.74         2214.84          31.965
          22         6072.55         2055.78         29.7516
          23         6072.37         1910.83          27.753
          24         6072.21         1778.51         25.9428
          25         6072.05          1657.5         24.2986
          26          6071.9         1546.65         22.8011
          27         6071.76         1444.93         21.4338
          28         6071.63         1351.44         20.1822
          29         6071.51         1265.39         19.0339
          30         6071.39         1186.06          17.978
          31         6071.28         1112.83         17.0052
          32         6071.17         1045.13          16.107
          33         6071.07         982.465         15.2762
          34         6070.98         924.389         14.5063
          35         6070.89         870.498         13.7916
          36          6070.8         820.434          13.127
          37         6070.72         773.872         12.5081
          38         6070.64         730.521         11.9307
          39         6070.57         690.117         11.3914
          40          6070.5         652.422          10.887
          41         6070.43         617.219         10.4144
          42         6070.37         584.315         9.97114
          43         6070.31          553.53         9.55489
          44         6070.25         524.703          9.1635
          45         6070.19         497.686         8.79506
          46         6070.14         472.345         8.44785
          47         6070.08         448.557         8.12028
          48         6070.03          426.21         7.81092
          49         6069.99         405.201         7.51845
          50         6069.94         385.435          7.2417
          51          6069.9         366.825         6.97956
          52         6069.85         349.293         6.73104
          53         6069.81         332.764         6.49523
          54         6069.77         317.171         6.27127
          55         6069.74         302.453          6.0584
          56          6069.7          288.55         5.85591
          57         6069.66         275.411         5.66315
          58         6069.63         262.986         5.47949
          59          6069.6          251.23          5.3044
          60         6069.57           240.1         5.13734
          61         6069.54         229.558         4.97784
          62         6069.51         219.567         4.82545
          63         6069.48         210.094         4.67977
          64         6069.45         201.108          4.5404
          65         6069.43         192.578           4.407
          66          6069.4         184.479         4.27923
          67         6069.38         176.785         4.15678
          68         6069.35         169.472         4.03935
          69         6069.33         162.518          3.9267
          70         6069.31         155.903         3.81855
          71         6069.29         149.608         3.71468
          72         6069.26         143.615         3.61486
          73         6069.24         137.907         3.51889
          74         6069.22         132.468         3.42658
          75         6069.21         127.283         3.33774
          76         6069.19         122.339         3.25221
          77         6069.17         117.623         3.16981
          78         6069.15         113.123         3.09041
          79         6069.14         108.827         3.01386
          80         6069.12         104.725         2.94002
          81          6069.1         100.806         2.86877
          82         6069.09         97.0611             2.8
          83         6069.07         93.4814         2.73358
          84         6069.06         90.0584         2.66942
          85         6069.05         86.7842         2.60741
          86         6069.03         83.6513         2.54745
          87         6069.02         80.6528         2.48947
          88         6069.01         77.7821         2.43338
          89         6068.99         75.0328         2.37908
          90         6068.98          72.399         2.32652
          91         6068.97         69.8752         2.27561
          92         6068.96         67.4561         2.22629
          93         6068.95         65.1366         2.17849
          94         6068.94         62.9123         2.13216
          95         6068.93         60.7784         2.08723
          96         6068.92         58.7308         2.04364
          97         6068.91         56.7655         2.00135
          98          6068.9         54.8787          1.9603
          99         6068.89         4349.28         18.1917
         100         6068.77         2416.27         14.4439
         101         6068.71         1721.26         12.1305
         102         6068.66         1228.78          10.289
         103         6068.63         884.002         8.82019
         104          6068.6         639.615         7.62744
         105         6068.58          464.84         6.64627
         106         6068.56         338.878         5.82964
         107         6068.55         247.508         5.14297
         108         6068.54         180.879         4.56032
         109         6068.53         132.084         4.06194
         110         6068.52         96.2343         3.63255
         111         6068.51         69.8361         3.26019
         112         6068.51         50.3734         2.93541
         113          6068.5         36.0206         2.65062
         114          6068.5         25.4451         2.39969
         115         6068.49         17.6693         2.17764
         116         6068.49         1027.39         14.0164
         117         6068.48         544.038         5.31369
         118         6068.48         94.0566         2.86662
         119         6068.48         113.636         3.73503
         120         6068.48        0.518966         1.37045
         121         6068.48         4.59364        0.912763
         122         6068.48         1.56354        0.629252
         123         6068.48         1.13804        0.432522
         124         6068.48        0.295873        0.297481
Iterations terminated: relative change in SSE less than OPTIONS.TolFun

Задайте нелинейную регрессионую модель для оценки с помощью указателя на функцию или синтаксиса модели.

Загрузите выборочные данные.

S = load('reaction');
X = S.reactants;
y = S.rate;
beta0 = S.beta;

Используйте указатель на функцию, чтобы задать модель Hougen-Watson для данных о скорости.

mdl = fitnlm(X,y,@hougen,beta0)
mdl = 
Nonlinear regression model:
    y ~ hougen(b,X)

Estimated Coefficients:
          Estimate       SE       tStat     pValue 
          ________    ________    ______    _______

    b1      1.2526     0.86701    1.4447    0.18654
    b2    0.062776    0.043561    1.4411    0.18753
    b3    0.040048    0.030885    1.2967    0.23089
    b4     0.11242    0.075157    1.4957    0.17309
    b5      1.1914     0.83671    1.4239     0.1923


Number of observations: 13, Error degrees of freedom: 8
Root Mean Squared Error: 0.193
R-Squared: 0.999,  Adjusted R-Squared 0.998
F-statistic vs. zero model: 3.91e+03, p-value = 2.54e-13

Кроме того, можно использовать выражение, чтобы задать модель Hougen-Watson для данных о скорости.

myfun = 'y~(b1*x2-x3/b5)/(1+b2*x1+b3*x2+b4*x3)';
mdl2 = fitnlm(X,y,myfun,beta0)
mdl2 = 
Nonlinear regression model:
    y ~ (b1*x2 - x3/b5)/(1 + b2*x1 + b3*x2 + b4*x3)

Estimated Coefficients:
          Estimate       SE       tStat     pValue 
          ________    ________    ______    _______

    b1      1.2526     0.86701    1.4447    0.18654
    b2    0.062776    0.043561    1.4411    0.18753
    b3    0.040048    0.030885    1.2967    0.23089
    b4     0.11242    0.075157    1.4957    0.17309
    b5      1.1914     0.83671    1.4239     0.1923


Number of observations: 13, Error degrees of freedom: 8
Root Mean Squared Error: 0.193
R-Squared: 0.999,  Adjusted R-Squared 0.998
F-statistic vs. zero model: 3.91e+03, p-value = 2.54e-13

Сгенерируйте выборочные данные из нелинейной регрессионой модели

y=b1+b2exp(-b3x)+ε,

где b1, b2, и b3 являются коэффициентами, и член ошибки обычно распределяется со средним 0 и стандартным отклонением 0,5.

modelfun = @(b,x)(b(1)+b(2)*exp(-b(3)*x));

rng('default') % for reproducibility
b = [1;3;2];
x = exprnd(2,100,1);
y = modelfun(b,x) + normrnd(0,0.5,100,1);

Установите устойчивые опции модели.

opts = statset('nlinfit');
opts.RobustWgtFun = 'bisquare';

Подгонка нелинейной модели с помощью опций устойчивой подгонки. Здесь используйте выражение, чтобы задать модель.

b0 = [2;2;2];
modelstr = 'y ~ b1 + b2*exp(-b3*x)';

mdl = fitnlm(x,y,modelstr,b0,'Options',opts)
mdl = 
Nonlinear regression model (robust fit):
    y ~ b1 + b2*exp( - b3*x)

Estimated Coefficients:
          Estimate      SE       tStat       pValue  
          ________    _______    ______    __________

    b1     1.0218     0.07202    14.188    2.1344e-25
    b2     3.6619     0.25429    14.401     7.974e-26
    b3     2.9732     0.38496    7.7232    1.0346e-11


Number of observations: 100, Error degrees of freedom: 97
Root Mean Squared Error: 0.501
R-Squared: 0.807,  Adjusted R-Squared 0.803
F-statistic vs. constant model: 203, p-value = 2.34e-35

Загрузите выборочные данные.

S = load('reaction');
X = S.reactants;
y = S.rate;
beta0 = S.beta;

Задайте указатель на функцию для весов наблюдений. Функция принимает подобранные модели значения как вход и возвращает вектор весов.

 a = 1; b = 1;
 weights = @(yhat) 1./((a + b*abs(yhat)).^2);

Подгонка модели Hougen-Watson к данным о скорости с помощью заданной функции весов наблюдений.

mdl = fitnlm(X,y,@hougen,beta0,'Weights',weights)
mdl = 
Nonlinear regression model:
    y ~ hougen(b,X)

Estimated Coefficients:
          Estimate       SE       tStat     pValue 
          ________    ________    ______    _______

    b1     0.83085     0.58224     1.427    0.19142
    b2     0.04095    0.029663    1.3805    0.20477
    b3    0.025063    0.019673     1.274    0.23842
    b4    0.080053    0.057812    1.3847    0.20353
    b5      1.8261       1.281    1.4256    0.19183


Number of observations: 13, Error degrees of freedom: 8
Root Mean Squared Error: 0.037
R-Squared: 0.998,  Adjusted R-Squared 0.998
F-statistic vs. zero model: 1.14e+03, p-value = 3.49e-11

Загрузите выборочные данные.

S = load('reaction');
X = S.reactants;
y = S.rate;
beta0 = S.beta;

Подгонка модели Hougen-Watson к данным о скорости с помощью модели комбинированного отклонения ошибок.

mdl = fitnlm(X,y,@hougen,beta0,'ErrorModel','combined')
mdl = 
Nonlinear regression model:
    y ~ hougen(b,X)

Estimated Coefficients:
          Estimate       SE       tStat     pValue 
          ________    ________    ______    _______

    b1      1.2526     0.86702    1.4447    0.18654
    b2    0.062776    0.043561    1.4411    0.18753
    b3    0.040048    0.030885    1.2967    0.23089
    b4     0.11242    0.075158    1.4957    0.17309
    b5      1.1914     0.83671    1.4239     0.1923


Number of observations: 13, Error degrees of freedom: 8
Root Mean Squared Error: 1.27
R-Squared: 0.999,  Adjusted R-Squared 0.998
F-statistic vs. zero model: 3.91e+03, p-value = 2.54e-13

Входные параметры

свернуть все

Входные данные, включая переменные предиктора и отклика, заданные как таблица или массив набора данных. Переменные предиктора и переменная отклика должны быть числовыми.

  • Если вы задаете modelfun используя формулу, спецификация модели в формуле задает переменные предиктора и отклика.

  • Если вы задаете modelfun используя указатель на функцию, последняя переменная является переменной отклика, а другие являются переменными предиктора, по умолчанию. Можно задать другой столбец в качестве переменной отклика при помощи ResponseVar аргумент пары "имя-значение". Чтобы выбрать подмножество столбцов в качестве предикторов, используйте PredictorVars аргумент пары "имя-значение".

Имена переменных в таблице не должны быть допустимыми MATLAB® идентификаторы. Однако, если имена недопустимы, вы не можете задать modelfun использование формулы.

Можно проверить имена переменных в tbl при помощи isvarname функция. Если имена переменных недопустимы, можно преобразовать их, используя matlab.lang.makeValidName функция.

Типы данных: table

Переменные предиктора, заданные как n -by - p матрица, где n - количество наблюдений, а p - количество переменных предиктора. Каждый столбец X представляет одну переменную, и каждая строка представляет одно наблюдение.

Типы данных: single | double

Переменная отклика, заданная как n -by-1 вектор, где n - количество наблюдений. Каждая запись в y - ответ для соответствующей строки X.

Типы данных: single | double

Функциональная форма модели, заданная как одно из следующего.

  • Указатель на функцию @ modelfun или @ (b, x) modelfun, где

    • b является вектором коэффициентов с таким же количеством элементов, как beta0.

    • x - матрица с одинаковым числом столбцов, как и X или количество столбцов переменных предиктора в tbl.

    modelfun(b,x) возвращает вектор-столбец, которая содержит одинаковое число строк следующим образом x. Каждая строка вектора является результатом оценки modelfun в соответствующей строке x. Другими словами, modelfun является векторизованной функцией, которая работает со всеми строками данных и возвращает все вычисления в одном вызове функции. modelfun возвращает действительные числа, чтобы получить значимые коэффициенты.

  • Вектор символов или строковая скалярная формула в форме 'y ~ <reservedrangesplaceholder0>(b1, b2,..., bj, x1, x2,..., xk) ', где f представляет скалярную функцию переменных скалярного коэффициента b1..., bj и скалярные переменные данных x1..., xk. Имена переменных в формуле должны быть допустимыми идентификаторами MATLAB.

Типы данных: function_handle | char | string

Коэффициенты для нелинейной модели, заданные в виде числового вектора. NonLinearModel начинает поиск оптимальных коэффициентов из beta0.

Типы данных: single | double

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'ErrorModel','combined','Exclude',2,'Options',opt задает модель ошибки как комбинированную модель, исключает второе наблюдение из подгонки и использует опции, заданные в структуре opt для управления итерационной процедурой аппроксимации.

Имена коэффициентов модели, заданные как строковые массивы или массив ячеек из векторов символов.

Типы данных: string | cell

Форма модели отклонения ошибок, заданная как одно из следующего. Каждая модель определяет ошибку при использовании стандартного среднего нуля и переменной отклонения модуля e в сочетании с независимыми компонентами: значение функции f, и один или два параметра a и b

'constant' (по умолчанию)y=f+ae
'proportional'y=f+bfe
'combined'y=f+(a+b|f|)e

Единственная допустимая модель ошибки при использовании Weights является 'constant'.

Примечание

options.RobustWgtFun должно иметь значение [] при использовании модели ошибки, отличной от 'constant'.

Пример: 'ErrorModel','proportional'

Начальные оценки параметров модели ошибки для выбранного ErrorModel, заданный как числовой массив.

Модель ошибкиПараметрыЗначения по умолчанию
'constant' a1
'proportional'b1
'combined'a, b[1,1]

Вы можете использовать только 'constant' модель ошибки при использовании Weights.

Примечание

options.RobustWgtFun должно иметь значение [] при использовании модели ошибки, отличной от 'constant'.

Для примера, если 'ErrorModel' имеет значение 'combined'можно задать начальное значение 1 для a и начальное значение 2 для b следующим образом.

Пример: 'ErrorParameters',[1,2]

Типы данных: single | double

Наблюдения, чтобы исключить из подгонки, заданные как разделенная разделенными запятой парами, состоящая из 'Exclude' и логический или числовой вектор индекса, указывающий, какие наблюдения исключить из подгонки.

Например, можно исключить наблюдения 2 и 3 из 6, используя любой из следующих примеров.

Пример: 'Exclude',[2,3]

Пример: 'Exclude',logical([0 1 1 0 0 0])

Типы данных: single | double | logical

Опции для управления итерационной процедурой аппроксимации, заданные как структура, созданная statset. Релевантными полями являются непустые поля в структуре, возвращаемой вызовом statset('fitnlm').

ОпцияЗначениеДефолт
DerivStepОтносительное различие, используемая в вычислениях производного различия. Положительная скалярная величина или вектор положительных скалярных величин того же размера, что и вектор параметров, оцененных Statistics and Machine Learning Toolbox™, функционируют с использованием структуры опций.eps^(1/3)
Display

Количество информации, отображаемой алгоритмом аппроксимации.

  • 'off' - Информация не отображается.

  • 'final' - Отображает окончательный выход.

  • 'iter' - Отображает итерационный выход в Командное окно.

'off'
FunValCheckВектор символов или строковый скаляр, указывающий на наличие недопустимых значений, таких как NaN или Inf, от функции модели.'on'
MaxIterМаксимально допустимое количество итераций. Положительное целое число.200
RobustWgtFunФункция веса для робастного подбора кривой. Может также быть указателем на функцию, который принимает нормированную невязку как вход и возвращает устойчивые веса как выход. Если вы используете указатель на функцию, дайте Tune константа. См. Робастные опции[]
TuneКонстанта настройки, используемая в устойчивом подборе кривой, чтобы нормализовать невязки перед применением функции веса. A положительной скалярной величины. Требуется, если весовая функция задана как указатель на функцию.Смотрите Робастные опции для значения по умолчанию, которое зависит от RobustWgtFun.
TolFunДопуск завершения для значения целевой функции. Положительная скалярная величина.1e-8
TolXДопуск завершения для параметров. Положительная скалярная величина.1e-8

Типы данных: struct

Переменные предиктора для использования в подгонку, заданные как разделенная разделенными запятой парами, состоящая из 'PredictorVars' и либо строковый массив, либо массив ячеек из векторов символов с именами переменных в таблице или массиве набора данных tbl, или логический или числовой вектор индекса, указывающий, какие столбцы являются переменными предиктора.

Строковые значения или векторы символов должны быть среди имен в tbl, или имена, которые вы задаете используя 'VarNames' аргумент пары "имя-значение".

По умолчанию все переменные в X, или все переменные в tbl кроме ResponseVar.

Например, можно задать вторую и третью переменные как переменные-предикторы, используя любой из следующих примеров.

Пример: 'PredictorVars',[2,3]

Пример: 'PredictorVars',logical([0 1 1 0 0 0])

Типы данных: single | double | logical | string | cell

Переменная отклика для использования в подгонке, заданная как разделенная разделенными запятой парами, состоящая из 'ResponseVar' и либо имя переменной в таблице, либо массив набора данных tbl, или логический или числовой вектор индекса, указывающий, какой столбец является переменной отклика.

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

Для примера можно задать четвертую переменную, скажем yield, как ответ из шести переменных, одним из следующих способов.

Пример: 'ResponseVar','yield'

Пример: 'ResponseVar',[4]

Пример: 'ResponseVar',logical([0 0 0 1 0 0])

Типы данных: single | double | logical | char | string

Имена переменных, заданные как разделенная разделенными запятой парами, состоящая из 'VarNames' и строковые массивы или массив ячеек из векторов символов, включая имена для столбцов X во-первых, и имя переменной отклика y последний.

'VarNames' не применяется к переменным в таблице или массиве набора данных, поскольку эти переменные уже имеют имена.

Пример: 'VarNames',{'Horsepower','Acceleration','Model_Year','MPG'}

Типы данных: string | cell

Веса наблюдений, заданные как вектор неотрицательных скалярных значений или указателя на функцию.

  • Если вы задаете вектор, то он должен иметь n элементов, где n - количество строк в tbl или y.

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

Заданные веса, W, NonLinearModel оценивает отклонение ошибок при наблюдении i по MSE*(1/W(i)), где MSE является средней квадратичной невязкой.

Типы данных: single | double | function_handle

Выходные аргументы

свернуть все

Нелинейная модель, представляющая аппроксимацию отклика на данные методом наименьших квадратов, возвращенная как NonLinearModel объект.

Если на Options структура содержит непустой RobustWgtFun field, модель не является аппроксимацией методом наименьших квадратов, но использует RobustWgtFun робастная функция подгонки.

Для свойств и методов объекта нелинейной модели, mdl, см. NonLinearModel страница класса.

Подробнее о

свернуть все

Робастные опции

Функция весаУравнениеКонстанта настройки по умолчанию
'andrews'w = (abs(r)<pi) .* sin(r) ./ r1.339
'bisquare' (по умолчанию)w = (abs(r)<1) .* (1 - r.^2).^24.685
'cauchy'w = 1 ./ (1 + r.^2)2.385
'fair'w = 1 ./ (1 + abs(r))1.400
'huber'w = 1 ./ max(1, abs(r))1.345
'logistic'w = tanh(r) ./ r1.205
'talwar'w = 1 * (abs(r)<1)2.795
'welsch'w = exp(-(r.^2))2.985
[]Нет устойчивого подбора кривой

Алгоритмы

  • fitnlm использует тот же алгоритм аппроксимации, что и nlinfit.

  • fitnlm рассматривает NaN значения в tbl, X, и y чтобы быть отсутствующими значениями. При подборе модели fitnlm не использует наблюдения с отсутствующими значениями или наблюдения, при которых modelfun возвращает NaN значения. The ObservationInfo свойство подобранной модели содержит информацию, касающуюся того fitnlm использует каждое наблюдение в подгонке.

Ссылки

[1] Seber, G. A. F., and C. J. Wild. Нелинейная регрессия. Hoboken, NJ: Wiley-Interscience, 2003.

[2] DuMouchel, W. H., and F. L. O'Brien. «Интеграция робастной опции в окружение нескольких регрессионных вычислений». Информатика и статистика: материалы 21-го симпозиума по интерфейсам. Александрия, VA: Американская статистическая ассоциация, 1989.

[3] Голландия, П. У. и Р. Э. Уэлш. Робастная регрессия с использованием итерационно переоцененных методом наименьших квадратов. Коммуникации в статистике: теория и методы, A6, 1977, с. 813-827.

Введенный в R2013b