Main Content

fitnlm

비선형 회귀 모델 피팅

설명

mdl = fitnlm(tbl,modelfun,beta0)modelfun으로 지정된 모델을 테이블 또는 dataset형 배열 tbl의 변수에 피팅하고 비선형 모델 mdl을 반환합니다.

fitnlmbeta0의 초기값에서 시작하는 반복 절차를 사용하여 모델 계수를 추정합니다.

예제

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.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

비선형 회귀 모델에서 표본 데이터를 생성합니다.

y=b1+b2exp(-b3x)+ε,

여기서 b1, b2b3은 계수이고, 오차항은 평균이 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

입력 인수

모두 축소

예측 변수와 응답 변수를 포함하는 입력 데이터로, 테이블 또는 dataset형 배열로 지정됩니다. 예측 변수와 응답 변수는 숫자형이어야 합니다.

  • 식을 사용하여 modelfun을 지정하는 경우 해당 식의 모델 사양에 따라 예측 변수와 응답 변수가 지정됩니다.

  • 함수 핸들을 사용하여 modelfun을 지정하는 경우 기본적으로 마지막 변수가 응답 변수이고 나머지 변수가 예측 변수입니다. ResponseVar 이름-값 쌍의 인수를 사용하여 다른 열을 응답 변수로 설정할 수 있습니다. 열 중 일부를 예측 변수로 선택하려면 PredictorVars 이름-값 쌍의 인수를 사용하십시오.

테이블의 변수 이름은 유효한 MATLAB® 식별자일 필요는 없지만, 선행 공백이나 후행 공백을 포함해서는 안 됩니다. 이름이 유효하지 않으면 식을 사용하여 modelfun을 지정할 수 없습니다.

isvarname 함수를 사용하여 tbl에 포함된 변수 이름을 확인할 수 있습니다. 변수 이름이 유효하지 않으면 matlab.lang.makeValidName 함수를 사용하여 변수 이름을 변환할 수 있습니다.

데이터형: table

예측 변수로, n×p 행렬로 지정됩니다. 여기서 n은 관측값 개수이고 p는 예측 변수 개수입니다. X의 각 열은 하나의 변수를 나타내고, 각 행은 하나의 관측값을 나타냅니다.

데이터형: single | double

응답 변수로, n×1 벡터로 지정됩니다. 여기서 n은 관측값 개수입니다. y의 각 요소는 X의 대응 행에 대한 응답 변수입니다.

데이터형: single | double

모델의 함수 형식으로, 다음 중 하나로 지정됩니다.

  • 함수 핸들 @modelfun 또는 @(b,x)modelfun. 여기서

    • bbeta0과 요소 개수가 동일한 계수 벡터입니다.

    • xX의 열 개수 또는 tbl의 예측 변수 열과 열 개수가 동일한 행렬입니다.

    modelfun(b,x)x와 동일한 행 개수를 포함하는 열 벡터를 반환합니다. 벡터의 각 행은 이에 대응되는 x 행에 대해 modelfun을 계산한 결과입니다. 즉, modelfun은 모든 데이터 행에 대해 연산을 수행하고 하나의 함수 호출에서 모든 계산을 반환하는 벡터화된 함수입니다. modelfun은 유의미한 계수를 얻기 위해 실수를 반환해야 합니다.

  • 'y ~ f(b1,b2,...,bj,x1,x2,...,xk)' 형식의 식을 나타내는 문자형 벡터 또는 string형 스칼라. 여기서 f는 스칼라 계수 변수 b1,...,bj와 스칼라 데이터 변수 x1,...,xk의 스칼라 함수를 나타냅니다. 식에 포함되는 변수 이름은 유효한 MATLAB 식별자여야 합니다.

데이터형: function_handle | char | string

비선형 모델에 대한 초기 계수 값으로, 숫자형 벡터로 지정됩니다. NonLinearModelbeta0에서 최적 계수의 탐색을 시작합니다.

데이터형: single | double

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: 'ErrorModel','combined','Exclude',2,'Options',opt는 오차 모델을 결합된 모델로 지정하고, 피팅에서 두 번째 관측값을 제외하고, 구조체 opt에 정의된 옵션을 사용하여 반복 피팅 절차를 제어합니다.

모델 계수의 이름으로, string형 배열 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다.

데이터형: string | cell

오차 분산 모델의 형식으로, 다음 중 하나로 지정됩니다. 각 모델은 표준 평균 0과 단위 분산 변수 e를 독립적인 성분인 함수 값 f, 하나 또는 두 개의 모수 ab와 함께 사용하여 오차를 정의합니다.

'constant'(디폴트 값)y=f+ae
'proportional'y=f+bfe
'combined'y=f+(a+b|f|)e

Weights를 사용하는 경우 유일하게 허용되는 오차 모델은 'constant'입니다.

참고

'constant'가 아닌 다른 오차 모델을 사용하는 경우 options.RobustWgtFun이 값 []을 가져야 합니다.

예: 'ErrorModel','proportional'

선택한 ErrorModel에 대한 오차 모델 모수의 초기 추정값으로, 숫자형 배열로 지정됩니다.

오차 모델파라미터디폴트 값
'constant' a1
'proportional'b1
'combined'a, b[1,1]

Weights를 사용하는 경우 'constant' 오차 모델만 사용할 수 있습니다.

참고

'constant'가 아닌 다른 오차 모델을 사용하는 경우 options.RobustWgtFun이 값 []을 가져야 합니다.

예를 들어, 'ErrorModel'이 값 'combined'를 갖는 경우 다음과 같이 a에 대한 시작 값으로 1을 지정하고 b에 대한 시작 값으로 2를 지정할 수 있습니다.

예: 'ErrorParameters',[1,2]

데이터형: single | double

피팅에서 제외시킬 관측값으로, 'Exclude'와 함께 피팅에서 제외시킬 관측값을 나타내는 논리형 또는 숫자형 인덱스 벡터가 쉼표로 구분되어 지정됩니다.

예를 들어, 다음 예 중 하나를 사용하여 6개 관측값 중에서 관측값 2와 관측값 3을 제외시킬 수 있습니다.

예: 'Exclude',[2,3]

예: 'Exclude',logical([0 1 1 0 0 0])

데이터형: single | double | logical

반복 피팅 절차를 제어하는 옵션으로, statset으로 생성되는 구조체로 지정됩니다. 관련 필드는 호출 statset('fitnlm')에서 반환되는 구조체의 비어 있지 않은 필드입니다.

옵션의미디폴트 값
DerivStep유한 차분 도함수 계산에서 사용되는 상대 오차. 양의 스칼라, 또는 Statistics and Machine Learning Toolbox™ 함수가 options 구조체를 사용하여 추정한 모수로 구성된 벡터와 동일한 크기의, 양의 스칼라로 구성된 벡터.eps^(1/3)
Display

피팅 알고리즘이 표시하는 정보의 양.

  • 'off' — 표시되는 정보가 없습니다.

  • 'final' — 최종 출력값을 표시합니다.

  • 'iter' — 명령 창에 반복 출력값을 표시합니다.

'off'
FunValCheck모델 함수에서 유효하지 않은 값(예: NaN 또는 Inf)을 검사할지 여부를 나타내는 문자형 벡터 또는 string형 스칼라.'on'
MaxIter허용되는 최대 반복 횟수. 양의 정수.200
RobustWgtFun로버스트 피팅에 사용할 가중치 함수. 정규화된 잔차를 입력값으로 받고 로버스트 가중치를 출력값으로 반환하는 함수 핸들일 수도 있습니다. 함수 핸들을 사용하는 경우 Tune 상수를 제공하십시오. 로버스트 옵션 항목을 참조하십시오.[]
Tune로버스트 피팅에서 가중치 함수를 적용하기 전에 잔차를 정규화하는 데 사용되는 조율 상수. 양의 스칼라. 가중치 함수가 함수 핸들로 지정된 경우에 필요합니다.디폴트 값은 RobustWgtFun에 따라 달라집니다. 자세한 내용은 로버스트 옵션 항목을 참조하십시오.
TolFun목적 함수 값에 대한 종료 허용오차. 양의 스칼라.1e-8
TolX모수에 대한 종료 허용오차. 양의 스칼라.1e-8

데이터형: struct

피팅에 사용할 예측 변수로, 'PredictorVars'와 함께 테이블 또는 dataset형 배열 tbl의 변수 이름에 대한 string형 배열이나 문자형 벡터로 구성된 셀형 배열 또는 예측 변수 열을 나타내는 논리형 또는 숫자형 인덱스 벡터가 쉼표로 구분되어 지정됩니다.

string형 값 또는 문자형 벡터는 tbl에 포함된 이름이거나 'VarNames' 이름-값 쌍의 인수를 사용하여 지정하는 이름이어야 합니다.

디폴트 값은 X에 포함된 모든 변수 또는 tbl에 포함된 모든 변수입니다. 단, ResponseVar는 예외입니다.

예를 들어, 다음 예 중 하나를 사용하여 두 번째 변수와 세 번째 변수를 예측 변수로 지정할 수 있습니다.

예: 'PredictorVars',[2,3]

예: 'PredictorVars',logical([0 1 1 0 0 0])

데이터형: single | double | logical | string | cell

피팅에 사용할 응답 변수로, 'ResponseVar'과 함께 테이블 또는 dataset형 배열 tbl의 변수 이름 또는 응답 변수 열을 나타내는 논리형 또는 숫자형 인덱스 벡터가 쉼표로 구분되어 지정됩니다.

모델을 지정하면 응답 변수가 지정됩니다. 그렇지 않으면, 테이블 또는 dataset형 배열을 피팅할 때 'ResponseVar'fitnlm에서 응답 변수로 사용해야 하는 변수를 나타냅니다.

예를 들어, 다음과 방법 중 하나로 네 번째 변수, 이를 테면 yield를 6개 변수 중 응답 변수로 지정할 수 있습니다.

예: 'ResponseVar','yield'

예: 'ResponseVar',[4]

예: 'ResponseVar',logical([0 0 0 1 0 0])

데이터형: single | double | logical | char | string

변수 이름으로, 'VarNames'와 함께 X의 열에 대한 이름을 첫 번째로 포함하고 응답 변수 y의 이름을 마지막으로 포함하는 string형 배열 또는 문자형 벡터로 구성된 셀형 배열이 쉼표로 구분되어 지정됩니다.

'VarNames'는 테이블 또는 dataset형 배열의 변수에 적용되지 않습니다. 이러한 변수는 이미 이름을 갖고 있기 때문입니다.

예: 'VarNames',{'Horsepower','Acceleration','Model_Year','MPG'}

데이터형: string | cell

관측값 가중치로, 음이 아닌 스칼라 값으로 구성된 벡터 또는 함수 핸들로 지정됩니다.

  • 벡터를 지정한 경우에는 n개의 요소를 가져야 합니다. 여기서 ntbl 또는 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

알고리즘

  • fitnlmnlinfit와 동일한 피팅 알고리즘을 사용합니다.

  • fitnlmtbl, XyNaN 값을 누락값으로 간주합니다. 모델을 피팅할 때, fitnlm은 누락값을 가진 관측값이나 modelfunNaN 값을 반환하는 관측값을 사용하지 않습니다. 피팅된 모델의 ObservationInfo 속성은 fitnlm이 피팅에서 각 관측값을 사용하는지 여부에 관한 정보를 포함하고 있습니다.

참고 문헌

[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에 개발됨