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.4         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.452          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.0327         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.1367         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.62745
         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.2342         3.63255
         111         6068.51         69.8363          3.2602
         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.6692         2.17764
         116         6068.49         1027.39         14.0164
         117         6068.48         544.039         5.31369
         118         6068.48         94.0567         2.86662
         119         6068.48         113.636         3.73504
         120         6068.48         0.51821         1.37054
         121         6068.48         4.59524        0.912906
         122         6068.48         1.56406         0.62935
         123         6068.48         1.13837         0.43259
         124         6068.48        0.296041        0.297545
Iterations terminated: relative change in SSE less than OPTIONS.TolFun

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

Загрузка демонстрационных данных.

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

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

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

В качестве альтернативы можно использовать выражение, чтобы задать модель Хоуджен-Уотсона для данных об уровне.

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);

Подбирайте модель Хоуджен-Уотсона к данным об уровне с помощью заданной функции весов наблюдения.

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;

Подбирайте модель Хоуджен-Уотсона к данным об уровне с помощью объединенной ошибочной модели отклонения.

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 функция. Следующий код возвращает логический 1 TRUE) для каждой переменной, которая имеет допустимое имя переменной.

cellfun(@isvarname,tbl.Properties.VariableNames)
Если имена переменных в tbl не допустимы, затем преобразуют их при помощи matlab.lang.makeValidName функция.
tbl.Properties.VariableNames = matlab.lang.makeValidName(tbl.Properties.VariableNames);

Типы данных: 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 ~ f(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Настройка постоянного используемый в устойчивом подборе кривой, чтобы нормировать остаточные значения прежде, чем применить функцию веса. Положительная скалярная величина. Требуемый, если функция веса определяется функцией указатель.См. Устойчивые Опции для значения по умолчанию, которое зависит от 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 поле, модель не является методом наименьших квадратов, но использует 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 значения в tblX, и y быть отсутствующими значениями. При подбирании модели, fitnlm не использует наблюдения с отсутствующими значениями или наблюдения в который modelfun возвращает NaN значения. ObservationInfo свойство подобранной модели содержит информацию относительно действительно ли fitnlm использование каждое наблюдение в подгонке.

Ссылки

[1] Seber, G. A. F. и C. J. Дикий. Нелинейная регрессия. Хобокен, NJ: Wiley-межнаука, 2003.

[2] DuMouchel, W. H. и Ф. Л. О'Брайен. “Интегрируя Устойчивую Опцию в Вычислительную среду Регрессии кратного”. Информатика и Статистика: Продолжения 21-го Симпозиума по Интерфейсу. Александрия, ВА: американская Статистическая Ассоциация, 1989.

[3] Голландия, P. W. и Р. Э. Велш. “Устойчивая Регрессия Используя Итеративно Перевзвешенные Наименьшие квадраты”. Коммуникации в Статистике: Теория и Методы, A6, 1977, стр 813–827.

Введенный в R2013b