Аппроксимация нелинейной регрессионой модели
подходит для нелинейной регрессионой модели с дополнительными опциями, заданными одним или несколькими 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
Сгенерируйте выборочные данные из нелинейной регрессионой модели
где , , и являются коэффициентами, и член ошибки обычно распределяется со средним 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
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
~ <reservedrangesplaceholder0>
(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',..., 'b k
'}
(по умолчанию) | строковый массив | массивов ячеек из векторов символовИмена коэффициентов модели, заданные как строковые массивы или массив ячеек из векторов символов.
Типы данных: 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]
Типы данных: 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 | Константа настройки, используемая в устойчивом подборе кривой, чтобы нормализовать невязки перед применением функции веса. A положительной скалярной величины. Требуется, если весовая функция задана как указатель на функцию. | Смотрите Робастные опции для значения по умолчанию, которое зависит от 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
field, модель не является аппроксимацией методом наименьших квадратов, но использует 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
значения. 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.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.