fitnlm
非線形回帰モデルの当てはめ
構文
説明
例
テーブルからの非線形モデル
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.9651 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.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.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.0583 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.1367 2.17849 94 6068.94 62.9122 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.878 4.56032 109 6068.53 132.084 4.06194 110 6068.52 96.2342 3.63255 111 6068.51 69.8362 3.26019 112 6068.51 50.3734 2.93541 113 6068.5 36.0205 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.039 5.3137 118 6068.48 94.0569 2.86662 119 6068.48 113.637 3.73503 120 6068.48 0.51834 1.37051 121 6068.48 4.59439 0.912827 122 6068.48 1.56359 0.629276 123 6068.48 1.13825 0.432567 124 6068.48 0.296021 0.297532 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
— 入力データ
table | データセット配列
予測子変数と応答変数を含む入力データ。テーブルまたはデータセット配列として指定します。予測子変数と応答変数は数値でなければなりません。
式を使用して
modelfun
を指定する場合、式内のモデル仕様が予測子変数と応答変数を指定します。関数ハンドルを使用して
modelfun
を指定する場合、既定では、最後の変数が応答変数で、その他の変数が予測子変数になります。名前と値のペアの引数ResponseVar
を使用して、別の列を応答変数として設定できます。列のサブセットを予測子として選択するには、名前と値のペアの引数PredictorVars
を使用します。
table の変数名は、有効な MATLAB® 識別子である必要はありませんが、先頭または末尾に空白を含んではなりません。名前が有効でない場合、式を使用して modelfun
を指定することはできません。
関数 isvarname
を使用して tbl
の変数名を検証できます。変数名が有効でない場合、関数 matlab.lang.makeValidName
を使用してそれらを変換できます。
データ型: table
X
— 予測子変数
行列
n 行 p 列の行列として指定される予測子変数。ここで、n は観測値の数、p は予測子変数の数です。X
の各列が 1 つの変数を表し、各行が 1 つの観測値を表します。
データ型: single
| double
y
— 応答変数
ベクトル
n 行 1 列のベクトルとして指定される応答変数。ここで、n は観測値の数です。y
の各エントリは X
の対応する行に対する応答です。
データ型: single
| double
modelfun
— モデルの関数形式
関数ハンドル | 'y
~
f
(b1,b2,...,bj,x1,x2,...,xk)'
という形式の文字ベクトルまたは string スカラー式
y
f
(b1,b2,...,bj,x1,x2,...,xk)'モデルの関数形式。以下のいずれかとして指定します。
関数ハンドル
@
またはmodelfun
@(b,x)
、ここでmodelfun
b
はbeta0
と同じ要素数の係数ベクトルです。x
は、X
と同じ列数またはtbl
の予測子変数の列数がある行列です。
modelfun
(b,x)
は、x
と同じ行数の列ベクトルを返します。ベクトルの各行は、x
の対応する行のmodelfun
の評価結果です。つまり、modelfun
はベクトル化された関数であり、1 回の関数呼び出しですべてのデータ行で動作しすべての評価を返します。有意な係数を得るには、modelfun
は実数を返さなければなりません。'
という形式の文字ベクトルまたは string スカラー。y
~f
(b1,b2,...,bj,x1,x2,...,xk)'f
は、スカラー係数変数b1
,...,bj
と、スカラー データ変数x1
,...,xk
のスカラー関数を表します。式の変数名は、有効な MATLAB 識別子でなければなりません。
データ型: function_handle
| char
| string
beta0
— 初期係数値
数値ベクトル
数値ベクトルとして指定される、非線形モデルの初期係数値。NonLinearModel
は、beta0
から最適な係数の検索を開始します。
データ型: single
| double
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name
を引用符で囲みます。
例: 'ErrorModel','combined','Exclude',2,'Options',opt
は、誤差モデルを組み合わせモデルとして指定し、近似から 2 番目の観測値を除外し、構造体 opt
内で定義されたオプションを使用して反復近似手順を制御します。
CoefficientNames
— モデル係数の名前
{'b1','b2',...,'bk
'}
(既定値) | string 配列 | 文字ベクトルの cell 配列
k
'}モデル係数の名前。string 配列、または文字ベクトルの cell 配列を指定します。
データ型: string
| cell
ErrorModel
— 誤差分散モデルの形式
'constant'
(既定値) | 'proportional'
| 'combined'
誤差分散モデルの形式。以下のいずれかとして指定します。各モデルは、標準平均 0 と単位分散変数 e を、独立成分と併用して誤差を定義します。使用される独立成分は、関数値 f と、1 つまたは 2 つのパラメーター a および b です。
'constant' (既定の設定) | |
'proportional' | |
'combined' |
Weights
を使用しているときに使用できる誤差モデルは 'constant'
だけです。
メモ
'constant'
以外の誤差モデルを使用している場合、options.RobustWgtFun
に値 []
を指定しなければなりません。
例: 'ErrorModel','proportional'
ErrorParameters
— 誤差モデル パラメーターの初期推定
数値配列
選択された ErrorModel
の誤差モデル パラメーターの初期推定。数値配列として指定します。
誤差モデル | パラメーター | 既定値 |
---|---|---|
'constant' | a | 1 |
'proportional' | b | 1 |
'combined' | a, b | [1,1] |
Weights
を使用しているときに使用できる誤差モデルは 'constant'
だけです。
メモ
'constant'
以外の誤差モデルを使用している場合、options.RobustWgtFun
に値 []
を指定しなければなりません。
たとえば、'ErrorModel'
の値が 'combined'
である場合は、次のように a に対して開始値 1 を指定し、b に対して開始値 2 を指定できます。
例: 'ErrorParameters',[1,2]
データ型: single
| double
Exclude
— 除外する観測値
論理インデックス ベクトルまたは数値インデックス ベクトル
近似から除外する観測値。'Exclude'
と、近似から除外する観測値を示す論理インデックス ベクトルまたは数値インデックス ベクトルで構成されるコンマ区切りのペアとして指定します。
たとえば、以下のいずれかの例を使用して、6 つの観測値のうち観測値 2 および 3 を除外できます。
例: '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 など) をチェックすることを示す文字ベクトルまたは string スカラー。 | 'on' |
MaxIter | 反復の最大許容回数。正の整数。 | 200 |
RobustWgtFun | ロバスト近似用の重み関数。入力として正規化された残差を受け取り、出力としてロバストな重みを返す、関数ハンドルとしても使用できます。関数ハンドルを使用する場合、定数 Tune を使用します。ロバスト オプションを参照してください。 | [] |
Tune | ロバスト近似に使用する調整定数で、重み関数を適用する前に残差を正規化するため使用します。正のスカラー。重み関数が関数ハンドルとして指定されている場合は必須です。 | 既定の設定は、RobustWgtFun により異なります。詳細は、ロバスト オプションを参照してください。 |
TolFun | 目的関数値の終了許容誤差。正のスカラー。 | 1e-8 |
TolX | パラメーターの終了許容誤差。正のスカラー。 | 1e-8 |
データ型: struct
PredictorVars
— 予測子変数
string 配列 | 文字ベクトルの cell 配列 | 論理インデックス ベクトルまたは数値インデックス ベクトル
当てはめで使用する予測子変数。'PredictorVars'
と、テーブルまたはデータセット配列 tbl
に格納されている変数の名前を表す文字ベクトルの cell 配列または string 配列、またはどの列が予測子変数であるかを示す論理インデックス ベクトルまたは数値インデックス ベクトルから構成されるコンマ区切りのペアとして指定します。
string 値または文字ベクトルは、tbl
に含まれている名前、または名前と値のペアの引数 'VarNames'
を使用して指定した名前でなければなりません。
既定の設定は、X
内のすべての変数、または ResponseVar
を除く、tbl
内のすべての変数です。
たとえば、以下のいずれかの例を使用して、2 番目と 3 番目の変数を予測子変数として指定できます。
例: 'PredictorVars',[2,3]
例: 'PredictorVars',logical([0 1 1 0 0 0])
データ型: single
| double
| logical
| string
| cell
ResponseVar
— 応答変数
tbl
の最後の列 (既定値) | 変数名 | 論理インデックス ベクトルまたは数値インデックス ベクトル
当てはめで使用する応答変数。'ResponseVar'
と、テーブルまたはデータセット配列 tbl
内の変数名、あるいはどの列が応答変数であるかを示す論理インデックス ベクトルまたは数値インデックス ベクトルから構成されるコンマ区切りのペアとして指定します。
モデルを指定すると、応答変数が指定されます。それ以外の場合は、テーブルまたはデータセット配列を近似すると、'ResponseVar'
は、応答として使用しなければならない変数 fitnlm
を示します。
たとえば、以下のいずれかの方法を使用して、6 つの変数のうち 4 番目の変数、つまり yield
を応答変数として指定できます。
例: 'ResponseVar','yield'
例: 'ResponseVar',[4]
例: 'ResponseVar',logical([0 0 0 1 0 0])
データ型: single
| double
| logical
| char
| string
VarNames
— 変数の名前
{'x1','x2',...,'xn','y'}
(既定値) | string 配列 | 文字ベクトルの cell 配列
変数の名前。'VarNames'
と、X
の列名が最初に、応答変数 y
の名前が最後に含まれている文字ベクトルの cell 配列または string 配列から構成されるコンマ区切りのペアとして指定します。
テーブルまたはデータセット配列の変数には既に名前が設定されているため、'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 |
アルゴリズム
参照
[1] Seber, G. A. F., and C. J. Wild. Nonlinear Regression. Hoboken, NJ: Wiley-Interscience, 2003.
[2] DuMouchel, W. H., and F. L. O'Brien. “Integrating a Robust Option into a Multiple Regression Computing Environment.” Computer Science and Statistics: Proceedings of the 21st Symposium on the Interface. Alexandria, VA: American Statistical Association, 1989.
[3] Holland, P. W., and R. E. Welsch. “Robust Regression Using Iteratively Reweighted Least-Squares.” Communications in Statistics: Theory and Methods, A6, 1977, pp. 813–827.
バージョン履歴
R2013b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)