Класс: NonLinearModel
(Не Рекомендуемый), Подбирают нелинейную модель регрессии
NonLinearModel.fit не рекомендуется. Используйте fitnlm вместо этого.
mdl = NonLinearModel.fit(tbl,modelfun,beta0)
mdl = NonLinearModel.fit(X,y,modelfun,beta0)
mdl = NonLinearModel.fit(...,modelfun,beta0,Name,Value)
подбирает модель, заданную mdl = NonLinearModel.fit(tbl,modelfun,beta0)modelfun к переменным в таблице или массиве набора данных tbl, и возвращает нелинейную модель mdl. NonLinearModel.fit оценочные коэффициенты модели с помощью итеративной процедуры, начинающей с начальных значений в beta0.
подбирает нелинейную модель регрессии использование вектор-столбца mdl = NonLinearModel.fit(X,y,modelfun,beta0)y как переменная отклика и столбцы матричного X как переменные предикторы.
подбирает нелинейную модель регрессии с дополнительными опциями, заданными одним или несколькими mdl = NonLinearModel.fit(...,modelfun,beta0,Name,Value)Name,Value парные аргументы.
tbl — Входные данныеВходные данные включая переменные прогноза и переменные отклика, заданные как таблица или массив набора данных. Переменные предикторы и переменная отклика должны быть числовыми.
Если вы задаете 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
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.
'CoefficientNames' — Имена коэффициентов модели{'b1', 'b2'..., 'bk'} (значение по умолчанию) | вектор символов | массив строк | массив ячеек из символьных векторовИмена коэффициентов модели, заданных как вектор символов, массив строк или массив ячеек из символьных векторов.
Типы данных: char | string | cell
'ErrorModel' — Форма ошибочной модели отклонения'constant' (значение по умолчанию) | 'proportional' | 'combined'Форма ошибочной модели отклонения, заданной как одно из следующих. Каждая модель задает ошибку стандартный средний нуль и переменная e модульного отклонения в сочетании с независимыми компонентами: значение функции f и один или два параметра a и b
'constant' (значение по умолчанию) | |
'proportional' | |
'combined' |
Единственная позволенная ошибочная модель при использовании 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]
'Exclude' — Наблюдения, чтобы исключитьНаблюдения, чтобы исключить из подгонки, заданной как разделенная запятой пара, состоящая из 'Exclude' и логический или числовой вектор индекса указание, который наблюдения исключить из подгонки.
Например, можно исключить наблюдения 2 и 3 из 6 использований любого из следующих примеров.
Пример: 'Exclude',[2,3]
Пример: 'Exclude',logical([0 1 1 0 0 0])
Типы данных: single | double | logical
'Options' — Опции для управления итеративной подходящей процедуройОпции для управления итеративной подходящей процедурой, заданной как структура, создаются statset. Соответствующие поля являются непустыми полями в структуре, возвращенной вызовом statset('nlinfit').
| Опция | Значение | Значение по умолчанию |
|---|---|---|
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' при подборе кривой таблице или массиву набора данных tbl.
Например, можно задать четвертую переменную, сказать 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 страница класса.
Создайте нелинейную модель для автоматического пробега на основе 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 = NonLinearModel.fit(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 = NonLinearModel.fit(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 = NonLinearModel.fit(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.97115
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.81091
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.15677
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.5189
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.7841 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.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.14296
108 6068.54 180.878 4.56032
109 6068.53 132.084 4.06194
110 6068.52 96.2341 3.63255
111 6068.51 69.8362 3.26019
112 6068.51 50.3735 2.93541
113 6068.5 36.0205 2.65062
114 6068.5 25.4452 2.39969
115 6068.49 17.6693 2.17764
116 6068.49 1027.39 14.0164
117 6068.48 544.039 5.3137
118 6068.48 94.0576 2.86664
119 6068.48 113.636 3.73502
120 6068.48 0.518567 1.3705
121 6068.48 4.5944 0.91284
122 6068.48 1.56389 0.629322
123 6068.48 1.13809 0.432547
124 6068.48 0.295936 0.297509
Iterations terminated: relative change in SSE less than OPTIONS.TolFun
Задайте нелинейную модель регрессии для оценки с помощью указателя на функцию или вектора символов.
Загрузка демонстрационных данных.
S = load('reaction');
X = S.reactants;
y = S.rate;
beta0 = S.beta;Используйте указатель на функцию, чтобы задать модель Хоуджен-Уотсона для данных об уровне.
mdl = NonLinearModel.fit(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 = NonLinearModel.fit(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
Сгенерируйте выборочные данные из нелинейной модели регрессии
где , , и коэффициенты, и остаточный член нормально распределен со средним значением 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 = NonLinearModel.fit(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 = NonLinearModel.fit(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 = NonLinearModel.fit(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
| Функция веса | Уравнение | Значение по умолчанию, настраивающееся постоянный |
|---|---|---|
'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 |
[] | Никакой устойчивый подбор кривой | — |
NonLinearModel.fit использует тот же алгоритм подбора в качестве nlinfit.
Можно также создать нелинейную модель с помощью fitnlm.
[1] Seber, G. A. F. и C. J. Дикий. Нелинейная регрессия. Хобокен, NJ: Wiley-межнаука, 2003.
[2] DuMouchel, W. H. и Ф. Л. О'Брайен. “Интегрируя Устойчивую Опцию в Вычислительную среду Регрессии кратного”. Информатика и Статистика: Продолжения 21-го Симпозиума по Интерфейсу. Александрия, ВА: американская Статистическая Ассоциация, 1989.
[3] Голландия, P. W. и Р. Э. Велш. “Устойчивая Регрессия Используя Итеративно Перевзвешенные Наименьшие квадраты”. Коммуникации в Статистике: Теория и Методы, A6, 1977, стр 813–827.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.