Подгонка нелинейной регрессионной модели
подходит для нелинейной регрессионной модели с дополнительными опциями, заданными одним или несколькими 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;Используйте дескриптор функции, чтобы указать модель Хугена-Ватсона для данных скорости.
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
Создание данных выборки из модели нелинейной регрессии
b3x) +
где , и - коэффициенты, и член ошибки обычно распределяется со средним значением 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
tbl - Входные данныеВходные данные, включающие переменные предиктора и ответа, указанные как таблица или массив наборов данных. Переменные предиктора и переменная ответа должны быть числовыми.
При указании modelfun используя формулу, спецификация модели в формуле определяет предиктор и переменные ответа.
При указании modelfun с помощью дескриптора функции последняя переменная является переменной ответа, а остальные - переменными предиктора, по умолчанию. Можно задать другой столбец в качестве переменной ответа, используя ResponseVar аргумент пары имя-значение. Чтобы выбрать подмножество столбцов в качестве предикторов, используйте PredictorVars аргумент пары имя-значение.
Имена переменных в таблице не обязательно должны быть допустимыми идентификаторами MATLAB ®. Однако если имена недопустимы, указать их нельзя modelfun используя формулу.
Имена переменных можно проверить в tbl с помощью isvarname функция. Если имена переменных недопустимы, их можно преобразовать с помощью matlab.lang.makeValidName функция.
Типы данных: table
X - Переменные предиктораПеременные предиктора, определенные как матрица n-by-p, где n - количество наблюдений, а p - количество переменных предиктора. Каждый столбец X представляет одну переменную, а каждая строка представляет одно наблюдение.
Типы данных: single | double
y - Переменная ответаПеременная ответа, заданная как вектор n-by-1, где n - количество наблюдений. Каждая запись в y является ответом для соответствующей строки X.
Типы данных: single | double
modelfun - Функциональная форма модели'y
~
f(b1,b2,...,bj,x1,x2,...,xk)'Функциональная форма модели, указанная следующим образом.
Дескриптор функции @ или 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
beta0 - КоэффициентыКоэффициенты для нелинейной модели, заданные как числовой вектор. NonLinearModel начинает поиск оптимальных коэффициентов из beta0.
Типы данных: single | double
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'ErrorModel','combined','Exclude',2,'Options',opt определяет модель ошибки в качестве комбинированной модели, исключает второе наблюдение из посадки и использует опции, определенные в структуре opt для управления процедурой итеративной подгонки.'CoefficientNames' - Наименования коэффициентов модели{'b1','b2',...,'bk'} (по умолчанию) | строковый массив | массив ячеек символьных векторовИмена коэффициентов модели, заданные как строковый массив или массив ячеек символьных векторов.
Типы данных: string | cell
'ErrorModel' - Форма модели отклонения ошибок'constant' (по умолчанию) | 'proportional' | 'combined'Форма модели расхождения ошибок, указанная как одна из следующих. Каждая модель определяет ошибку с помощью стандартной переменной среднего нуля и единичной дисперсии e в сочетании с независимыми компонентами: значением функции f и одним или двумя параметрами a и b
'constant' (по умолчанию) | + ae |
'proportional' | bfe |
'combined' | b 'f |) e |
Единственная разрешенная модель ошибки при использовании Weights является 'constant'.
Примечание
options.RobustWgtFun должно иметь значение [] при использовании модели ошибки, отличной от 'constant'.
Пример: 'ErrorModel','proportional'
'ErrorParameters' - Начальные оценки параметров модели ошибокНачальные оценки параметров модели ошибок для выбранного ErrorModel, указывается как числовой массив.
| Модель ошибки | Параметры | Значения по умолчанию |
|---|---|---|
'constant' | a | 1 |
'proportional' | b | 1 |
'combined' | a, b | [1,1] |
Вы можете использовать только 'constant' модель ошибки при использовании Weights.
Примечание
options.RobustWgtFun должно иметь значение [] при использовании модели ошибки, отличной от 'constant'.
Например, если 'ErrorModel' имеет значение 'combined', можно указать начальное значение 1 для a и начальное значение 2 для b следующим образом.
Пример: 'ErrorParameters',[1,2]
Типы данных: single | double
'Exclude' - Наблюдения для исключенияНаблюдения для исключения из посадки, указанные как разделенная запятыми пара, состоящая из 'Exclude' и вектор логического или числового индекса, указывающий, какие наблюдения исключить из аппроксимации.
Например, можно исключить наблюдения 2 и 3 из 6, используя любой из следующих примеров.
Пример: 'Exclude',[2,3]
Пример: 'Exclude',logical([0 1 1 0 0 0])
Типы данных: single | double | logical
'Options' - Варианты управления итеративной процедурой фитингаОпции для управления процедурой итеративного фитинга, заданной как структура, созданная statset. Релевантными полями являются непустые поля в структуре, возвращаемые вызовом. statset('fitnlm').
| Выбор | Значение | Дефолт |
|---|---|---|
DerivStep | Относительная разность, используемая в расчетах производных конечных разностей. Положительный скаляр или вектор положительных скаляров того же размера, что и вектор параметров, оцененных функцией Statistics and Machine Learning Toolbox™ с использованием структуры опций. | eps^(1/3) |
Display |
Объем информации, отображаемой алгоритмом подгонки.
| 'off' |
FunValCheck | Вектор символов или строковый скаляр, указывающий на необходимость проверки недопустимых значений, например NaN или Inf, из функции модели. | 'on' |
MaxIter | Максимально допустимое число итераций. Положительное целое число. | 200 |
RobustWgtFun | Функция веса для надежного фитинга. Может также быть дескриптором функции, который принимает нормализованный остаток в качестве входного значения и возвращает надежные веса в качестве выходного значения. Если используется дескриптор функции, задайте Tune константа. См. раздел Надежные параметры | [] |
Tune | Настройка константы, используемой в надежной подгонке для нормализации остатков перед применением весовой функции. Положительный скаляр. Требуется, если функция веса указана как дескриптор функции. | См. раздел Надежные параметры для значения по умолчанию, которое зависит от RobustWgtFun. |
TolFun | Допуск окончания для значения целевой функции. Положительный скаляр. | 1e-8 |
TolX | Допуск окончания для параметров. Положительный скаляр. | 1e-8 |
Типы данных: struct
'PredictorVars' - Переменные предиктораПеременные предиктора для использования в подгонке, указанные как пара, разделенная запятыми, состоящая из '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' и либо имя переменной в таблице, либо массив наборов данных tblили вектор логического или числового индекса, указывающий, какой столбец является переменной ответа.
Если задана модель, она задает переменную отклика. В противном случае при подгонке таблицы или массива наборов данных 'ResponseVar' указывает, какая переменная fitnlm следует использовать в качестве ответа.
Например, можно указать четвертую переменную, скажем yield, как ответ из шести переменных, одним из следующих способов.
Пример: 'ResponseVar','yield'
Пример: 'ResponseVar',[4]
Пример: 'ResponseVar',logical([0 0 0 1 0 0])
Типы данных: single | double | logical | char | string
'VarNames' - имена переменных;{'x1','x2',...,'xn','y'} (по умолчанию) | строковый массив | массив ячеек символьных векторовИмена переменных, указанных как пара, разделенная запятыми, состоящая из 'VarNames' и строковый массив или массив ячеек символьных векторов, включающих имена столбцов X сначала и имя переменной ответа y последний.
'VarNames' неприменима к переменным в таблице или массиве набора данных, поскольку эти переменные уже имеют имена.
Пример: 'VarNames',{'Horsepower','Acceleration','Model_Year','MPG'}
Типы данных: string | cell
'Weights' - Наблюдательные весаones(n,1) (по умолчанию) | вектор неотрицательных скалярных значений | дескриптор функцииВеса наблюдения, заданные как вектор неотрицательных скалярных значений или дескриптор функции.
Если указан вектор, он должен содержать n элементов, где n - количество строк в tbl или y.
Если указать дескриптор функции, то функция должна принять вектор прогнозируемых значений отклика в качестве входного значения и вернуть вектор вещественных положительных весов в качестве выходного значения.
Заданные веса, W, NonLinearModel оценивает дисперсию ошибок при наблюдении i около MSE*(1/W(i))где MSE - среднеквадратичная ошибка.
Типы данных: single | double | function_handle
mdl - Нелинейная модельNonLinearModel объектНелинейная модель, представляющая наименьшее квадратичное соответствие отклика на данные, возвращаемое как NonLinearModel объект.
Если Options структура содержит непустую RobustWgtFun , модель не соответствует наименьшим квадратам, но использует RobustWgtFun надежная функция подгонки.
Для свойств и методов нелинейного объекта модели: mdl, см. NonLinearModel страница класса.
| Весовая функция | Уравнение | Константа настройки по умолчанию |
|---|---|---|
'andrews' | w = (abs(r)<pi) .* sin(r) ./ r | 1.339 |
'bisquare' (по умолчанию) | w = (abs(r)<1) .* (1 - r.^2).^2 | 4.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) ./ r | 1.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 значения. ObservationInfo свойство подогнанной модели содержит информацию о том, fitnlm использует каждое наблюдение в подгонке.
[1] Себер, G.A.F. и C. J. Wild. Нелинейная регрессия. Хобокен, Нью-Джерси: Wiley-Interscience, 2003.
[2] DuMouchel, W. H. и F. L. O'Brien. «Интеграция надежного варианта в вычислительную среду множественной регрессии». Информатика и статистика: материалы 21-го симпозиума по интерфейсу. Александрия, Вирджиния: Американская статистическая ассоциация, 1989 год.
[3] Холланд, П. У. и Р. Э. Уэлш. «Надежная регрессия с использованием итеративно повторно взвешенных наименьших квадратов». Сообщения в статистике: теория и методы, A6, 1977, стр. 813-827.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.