Main Content

fitglm

일반화 선형 회귀 모델 생성

설명

예제

mdl = fitglm(tbl)은 테이블 또는 dataset형 배열 tbl의 변수에 피팅된 일반화 선형 모델을 반환합니다. 기본적으로, fitglm은 마지막 변수를 응답 변수로 받습니다.

예제

mdl = fitglm(X,y)는 데이터 행렬 X에 피팅된 응답 변수 y의 일반화 선형 모델을 반환합니다.

예제

mdl = fitglm(___,modelspec)modelspec에서 지정한 유형의 일반화 선형 모델을 반환합니다.

예제

mdl = fitglm(___,Name,Value)는 하나 이상의 Name,Value 쌍 인수를 추가 옵션으로 지정하여 일반화 선형 모델을 반환합니다.

예를 들어, 사용자는 어떤 변수가 범주형 변수인지와 응답 변수의 분포, 사용할 연결 함수를 지정할 수 있습니다.

예제

모두 축소

흡연 확률의 로지스틱 이항 모델을 이원 상호 작용 모델을 사용하여 연령, 체중 및 성별의 함수로 만듭니다.

hospital dataset형 배열을 불러옵니다.

load hospital
dsa = hospital;

연령, 체중 및 성별 변수 간에 최대 이원 상호 작용을 허용하는 공식을 사용하여 모델을 지정합니다. 흡연자는 응답 변수입니다.

modelspec = 'Smoker ~ Age*Weight*Sex - Age:Weight:Sex';

로지스틱 이항 모델을 피팅합니다.

mdl = fitglm(dsa,modelspec,'Distribution','binomial')
mdl = 
Generalized linear regression model:
    logit(Smoker) ~ 1 + Sex*Age + Sex*Weight + Age*Weight
    Distribution = Binomial

Estimated Coefficients:
                        Estimate         SE         tStat      pValue 
                       ___________    _________    ________    _______

    (Intercept)            -6.0492       19.749     -0.3063    0.75938
    Sex_Male               -2.2859       12.424    -0.18399    0.85402
    Age                    0.11691      0.50977     0.22934    0.81861
    Weight                0.031109      0.15208     0.20455    0.83792
    Sex_Male:Age          0.020734      0.20681     0.10025    0.92014
    Sex_Male:Weight        0.01216     0.053168     0.22871     0.8191
    Age:Weight         -0.00071959    0.0038964    -0.18468    0.85348


100 observations, 93 error degrees of freedom
Dispersion: 1
Chi^2-statistic vs. constant model: 5.07, p-value = 0.535

모든 p-값(pValue 아래)이 큽니다. 이는 어떤 계수도 유의미하지 않다는 것을 의미합니다. 모델 테스트에 대한 큰 p-값인 0.535는 이 모델이 상수 모델과 통계적으로 다르지 않을 수 있음을 나타냅니다.

20개의 예측 변수로 표본 데이터를 생성하고 3개의 예측 변수와 1개의 상수를 사용하여 푸아송 응답 변수를 생성합니다.

rng('default') % for reproducibility
X = randn(100,7);
mu = exp(X(:,[1 3 6])*[.4;.2;.3] + 1);
y = poissrnd(mu);

푸아송 분포를 사용하여 일반화 선형 모델을 피팅합니다.

mdl =  fitglm(X,y,'linear','Distribution','poisson')
mdl = 
Generalized linear regression model:
    log(y) ~ 1 + x1 + x2 + x3 + x4 + x5 + x6 + x7
    Distribution = Poisson

Estimated Coefficients:
                   Estimate        SE        tStat        pValue  
                   _________    ________    ________    __________

    (Intercept)      0.88723    0.070969      12.502    7.3149e-36
    x1               0.44413    0.052337      8.4858    2.1416e-17
    x2             0.0083388    0.056527     0.14752       0.88272
    x3               0.21518    0.063416      3.3932    0.00069087
    x4             -0.058386    0.065503    -0.89135       0.37274
    x5             -0.060824    0.073441     -0.8282       0.40756
    x6               0.34267    0.056778      6.0352    1.5878e-09
    x7               0.04316     0.06146     0.70225       0.48252


100 observations, 92 error degrees of freedom
Dispersion: 1
Chi^2-statistic vs. constant model: 119, p-value = 1.55e-22

p-값 2.14e-17, 0.00069, 1.58e-09는 변수 x1, x3, x6의 계수가 통계적으로 유의함을 나타냅니다.

입력 인수

모두 축소

예측 변수와 응답 변수를 포함하는 입력 데이터로, 테이블 또는 dataset형 배열로 지정됩니다. 예측 변수와 응답 변수는 숫자형, 논리형, categorical형, 문자 또는 string형일 수 있습니다. 응답 변수는 'Distribution''binomial'인 경우에만 숫자형 이외의 데이터형을 가질 수 있습니다.

  • 기본적으로, fitglm 함수는 마지막 변수를 응답 변수로 받고, 나머지 변수를 예측 변수로 받습니다.

  • 다른 열을 응답 변수로 설정하려면 ResponseVar 이름-값 쌍의 인수를 사용하십시오.

  • 열 중 일부를 예측 변수로 사용하려면 PredictorVars 이름-값 쌍의 인수를 사용하십시오.

  • 모델 사양을 정의하려면 식이나 항 행렬을 사용하여 modelspec 인수를 설정하십시오. 이 식이나 항 행렬이 예측 변수, 응답 변수로 사용할 열을 지정합니다.

테이블의 변수 이름은 유효한 MATLAB® 식별자일 필요는 없지만, 선행 공백이나 후행 공백을 포함해서는 안 됩니다. 이름이 유효하지 않으면 모델을 피팅하거나 조정할 때 식을 사용할 수 없습니다. 예를 들면 다음과 같은 상황에서 식을 사용할 수 없습니다.

  • 식을 사용하여 modelspec을 지정할 수 없습니다.

  • addTerms 함수 또는 removeTerms 함수를 사용할 때 추가하거나 제거할 항을 지정하기 위해 식을 사용할 수 없습니다.

  • step 함수 또는 stepwiseglm 함수 각각을 이름-값 쌍 인수 'Lower''Upper'와 함께 사용할 때 모델의 하한과 상한을 지정하기 위해 식을 사용할 수 없습니다.

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

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

기본적으로, 명시적으로 제거하지 않는 한 모델에 상수항이 있으므로 X에 1로 구성된 열을 포함시키지 마십시오.

데이터형: single | double

응답 변수로, 벡터 또는 행렬로 지정됩니다.

  • 'Distribution''binomial'이 아니면 y는 n×1 벡터여야 합니다. 여기서 n은 관측값 개수입니다. y의 각 요소는 X의 대응 행에 대한 응답 변수입니다. 데이터형은 single형 또는 double형이어야 합니다.

  • 'Distribution''binomial'인 경우 y는 n×1 벡터이거나 1열에 도수가 있고 2열에 BinomialSize가 있는 n×2 행렬이 될 수 있습니다.

데이터형: single | double | logical | categorical

모델 사양으로, 다음 값 중 하나로 지정됩니다.

  • 모델을 명명하는 문자형 벡터 또는 string형 스칼라.

    모델 유형
    'constant'모델에 하나의 상수(절편) 항만 있습니다.
    'linear'모델에 하나의 절편 항과 각 예측 변수에 대한 일차항이 있습니다.
    'interactions'모델에 하나의 절편 항, 각 예측 변수에 대한 일차항, 서로 다른 예측 변수 쌍의 모든 곱(제곱 항 아님)이 있습니다.
    'purequadratic'모델에 하나의 절편 항과 각 예측 변수에 대한 일차항 및 제곱 항이 있습니다.
    'quadratic'모델에 하나의 절편 항, 각 예측 변수에 대한 일차항 및 제곱 항, 서로 다른 예측 변수 쌍의 모든 곱이 있습니다.
    'polyijk'모델이 첫 번째 예측 변수에 차수 i까지의 모든 항을 포함하고 두 번째 예측 변수에 차수 j까지의 모든 항을 포함하는 식으로 진행되는 다항식입니다. 숫자 0부터 9까지를 사용하여 각 예측 변수에 대해 최대 차수를 지정합니다. 모델에 상호 작용 항이 있지만 각 상호 작용 항의 차수가 지정된 차수의 최댓값을 초과하지 않습니다. 예를 들어, 'poly13'에는 절편 항과 x1, x2, x22, x23, x1*x2, x1*x22 항이 있으며, 여기서 x1과 x2는 각각 첫 번째 예측 변수, 두 번째 예측 변수입니다.
  • 모델의 항을 지정하는 t×(p + 1) 행렬 또는 항 행렬. 여기서 t는 항 개수이고, p는 예측 변수 개수이며, +1은 응답 변수에 해당합니다. 항 행렬은 예측 변수 개수가 많고 항을 프로그래밍 방식으로 생성하려는 경우에 유용합니다.

  • 다음 형식의 공식 항목을 나타내는 문자형 벡터 또는 string형 스칼라.

    'y ~ terms',

    여기서 terms윌킨슨 표기법 항목으로 지정됩니다. 이 식에 포함된 변수 이름은 tbl의 변수 이름 또는 Varnames로 지정된 변수 이름이어야 합니다. 또한 변수 이름은 유효한 MATLAB 식별자여야 합니다.

    tbl 또는 X의 항 순서에 따라 피팅된 모델의 항 순서가 결정됩니다. 따라서 모델의 항 순서가 지정된 식에 있는 항 순서와 다를 수 있습니다.

예: 'quadratic'

이름-값 인수

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

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

예: 'Distribution','normal','link','probit','Exclude',[23,59]는 응답 변수의 분포가 정규분포임을 지정하고 fitglm에 프로빗 연결 함수를 사용하고 피팅에서 23번째 및 59번째 관측값을 제외하도록 지시합니다.

이항분포, 즉 표본 크기에 대한 시행 횟수로, 'BinomialSize', tbl의 변수 이름, 숫자형 스칼라 또는 응답 변수와 길이가 같은 숫자형 벡터가 쉼표로 구분되어 지정됩니다. 이는 피팅된 이항분포에 대한 모수 n입니다. BinomialSizeDistribution 파라미터가 'binomial'인 경우에만 적용됩니다.

BinomialSize가 스칼라 값이면 모든 관측값의 시행 횟수가 동일함을 의미합니다.

BinomialSize에 대한 대안으로 응답 변수를 1열에 도수가 있고 2열에 BinomialSize가 있는 2열 행렬로 지정할 수 있습니다.

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

계수 추정값의 초기값으로, 숫자형 벡터로 지정됩니다. 디폴트 값은 입력 데이터에서 파생된 초기 피팅 값입니다.

데이터형: single | double

범주형 변수 목록으로, 'CategoricalVars'와 함께 테이블 또는 dataset형 배열 tbl의 범주형 변수 이름을 포함하는 string형 배열이나 문자형 벡터로 구성된 셀형 배열, 또는 어떤 열이 범주형인지를 나타내는 논리형 또는 숫자형 인덱스 벡터가 쉼표로 구분되어 지정됩니다.

  • 데이터가 테이블 또는 dataset형 배열 tbl에 포함된 경우, 기본적으로 fitglm 함수는 모든 범주형 값, 논리값, 문자형 배열, string형 배열, 문자형 벡터로 구성된 셀형 배열을 범주형 변수로 처리합니다.

  • 데이터가 행렬 X에 포함된 경우, 'CategoricalVars'의 디폴트 값은 빈 행렬 []입니다. 즉, 범주형 변수로 직접 지정하지 않는 한 어떠한 변수도 범주형 변수가 아닙니다.

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

예: 'CategoricalVars',[2,3]

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

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

'binomial''poisson' 분포에 대한 산포 모수를 계산하기 위한 표시자로, 'DispersionFlag'와 함께 다음 중 하나가 쉼표로 구분되어 지정됩니다.

true표준 오차를 계산할 때 산포 모수를 추정합니다. 추정된 산포 모수 값은 피어슨 잔차의 제곱합을 오차에 대한 자유도(DFE)로 나눈 값입니다.
false디폴트 값. 표준 오차를 계산할 때 이론적 값인 1을 사용합니다.

피팅 함수는 다른 분포에 대해서는 항상 산포를 추정합니다.

예: 'DispersionFlag',true

응답 변수의 분포로, 'Distribution'과 함께 다음 중 하나가 쉼표로 구분되어 지정됩니다.

'normal'정규분포
'binomial'이항분포
'poisson'푸아송 분포
'gamma'감마 분포
'inverse gaussian'역가우스 분포

예: 'Distribution','gamma'

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

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

예: 'Exclude',[2,3]

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

데이터형: single | double | logical

피팅에 포함된 상수항(절편)에 대한 표시자로, 'Intercept'와 함께 true(상수항 포함) 또는 false(모델에서 상수항 제외)가 쉼표로 구분되어 지정됩니다.

식 또는 행렬이 아니라 문자형 벡터 또는 string형 스칼라를 사용하여 모델을 지정하는 경우에만 'Intercept'를 사용하십시오.

예: 'Intercept',false

최적화 옵션으로, 구조체로 지정됩니다. 이 인수는 fitglm 함수가 사용하는 반복 알고리즘에 대한 제어 파라미터를 지정합니다.

함수 statset을 사용하거나 다음 표에서 설명하는 필드 및 값을 포함하는 구조체형 배열을 만들어서 'Options' 값을 만듭니다.

필드 이름디폴트 값
Display

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

  • 'off' — 표시되는 정보가 없음

  • 'final' — 최종 출력값을 표시함

'off'
MaxIter

허용되는 최대 반복 횟수로, 양의 정수로 지정됩니다.

100
TolX

모수에 대한 종료 허용오차로, 양의 스칼라로 지정됩니다.

1e-6

명령 창에 statset('fitglm')을 입력하여 fitglm 함수가 'Options' 이름-값 인수로 받는 필드의 이름과 디폴트 값을 확인할 수도 있습니다.

예: 'Options',statset('Display','final','MaxIter',1000)은 반복 알고리즘 결과의 최종 정보를 표시하고 허용되는 최대 반복 횟수를 1000으로 변경하도록 지정합니다.

데이터형: struct

피팅의 오프셋 변수로, 'Offset'tbl의 변수 이름이 쉼표로 구분되어 지정되거나 응답 변수와 길이가 같은 숫자형 벡터로 지정됩니다.

fitglm 함수는 Offset을 계수 값이 1로 고정된 추가 예측 변수로 사용합니다. 즉, 피팅 수식은 다음과 같습니다.

f(μ) = Offset + X*b,

여기서 f는 연결 함수이고, μ는 평균 응답 변수이고, X*b는 예측 변수 X의 일차 결합입니다. Offset 예측 변수의 계수는 1입니다.

예를 들어, 푸아송 회귀 모델이 있다고 가정하겠습니다. 예측 변수 A에 비례하는 이론적 이유로 횟수의 개수가 알려져 있다고 가정하겠습니다. 로그 연결 함수를 사용하고 log(A)를 오프셋으로 지정하면 모델이 이론상의 제약 조건을 만족하도록 강제할 수 있습니다.

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

피팅에 사용할 예측 변수로, '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의 변수 이름을 포함하는 문자형 벡터나 string형 스칼라 또는 응답 변수 열을 나타내는 논리형 또는 숫자형 인덱스 벡터가 쉼표로 구분되어 지정됩니다. 일반적으로 테이블 또는 dataset형 배열 tbl을 피팅할 때는 'ResponseVar'를 사용해야 합니다.

예를 들어, 다음과 방법 중 하나로 네 번째 변수, 이를 테면 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형 배열의 변수에 적용되지 않습니다. 이러한 변수는 이미 이름을 갖고 있기 때문입니다.

변수 이름은 유효한 MATLAB 식별자일 필요는 없지만, 선행 공백이나 후행 공백을 포함해서는 안 됩니다. 이름이 유효하지 않으면 모델을 피팅하거나 조정할 때 식을 사용할 수 없습니다. 예를 들면 다음과 같은 상황에서 식을 사용할 수 없습니다.

  • addTerms 함수 또는 removeTerms 함수를 사용할 때 추가하거나 제거할 항을 지정하기 위해 식을 사용할 수 없습니다.

  • step 함수 또는 stepwiseglm 함수 각각을 이름-값 쌍 인수 'Lower''Upper'와 함께 사용할 때 모델의 하한과 상한을 지정하기 위해 식을 사용할 수 없습니다.

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

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

데이터형: string | cell

관측값 가중치로, 'Weights'와 함께 음이 아닌 스칼라 값으로 구성된 n×1 벡터가 쉼표로 구분되어 지정됩니다. 여기서 n은 관측값 개수입니다.

데이터형: single | double

출력 인수

모두 축소

일반화 선형 회귀 모델로, fitglm 또는 stepwiseglm을 사용하여 만든 GeneralizedLinearModel 객체로 지정됩니다.

세부 정보

모두 축소

항 행렬

항 행렬 T는 모델의 항을 지정하는 t×(p + 1) 행렬입니다. 여기서 t는 항 개수이고, p는 예측 변수 개수이며, +1은 응답 변수에 해당합니다. T(i,j)의 값은 항 i에 포함된 변수 j의 지수입니다.

예를 들어, 3개의 예측 변수 x1, x2, x3과 응답 변수 yx1, x2, x3, y의 순서로 포함하는 입력값이 있다고 가정하겠습니다. T의 각 행은 하나의 항을 나타냅니다.

  • [0 0 0 0] — 상수항 또는 절편

  • [0 1 0 0]x2 또는 x1^0 * x2^1 * x3^0

  • [1 0 1 0]x1*x3

  • [2 0 0 0]x1^2

  • [0 1 2 0]x2*(x3^2)

각 항의 끝에 있는 0은 응답 변수를 나타냅니다. 일반적으로 항 행렬에서 0으로 구성된 열 벡터는 응답 변수의 위치를 나타냅니다. 행렬과 열 벡터로 예측 변수와 응답 변수를 지정하는 경우 각 행의 마지막 열에 응답 변수를 나타내는 0을 포함시켜야 합니다.

공식

모델 사양의 식은 다음 형식의 문자형 벡터 또는 string형 스칼라입니다. 'y ~ terms'

  • y는 응답 변수 이름입니다.

  • terms는 윌킨슨 표기법을 사용하여 모델의 예측 변수 항을 표현합니다.

예측 변수와 응답 변수를 표현하려면, 테이블 입력값 tbl의 변수 이름을 사용하거나 VarNames를 사용하여 지정된 변수 이름을 사용하십시오. VarNames의 디폴트 값은 {'x1','x2',...,'xn','y'}입니다.

예를 들면 다음과 같습니다.

  • 'y ~ x1 + x2 + x3'는 변수가 3개이며 절편이 있는 선형 모델을 지정합니다.

  • 'y ~ x1 + x2 + x3 – 1'은 변수가 3개이며 절편이 없는 선형 모델을 지정합니다. 공식에는 기본적으로 상수항(절편)이 포함되어 있습니다. 모델에서 상수항을 제외하려면 공식에 –1을 포함시켜야 합니다.

공식은 –1을 사용하여 상수항을 명시적으로 제거하지 않는 한 상수항을 항상 포함시킵니다.

윌킨슨 표기법

윌킨슨 표기법은 모델에 존재하는 항을 설명합니다. 이 표기법은 모델에 존재하는 항과 관련이 있으며, 이러한 항의 승수(계수)와는 관련이 없습니다.

윌킨슨 표기법은 다음과 같은 기호를 사용합니다.

  • + - 다음 변수를 포함함을 의미합니다.

  • - 다음 변수를 포함하지 않음을 의미합니다.

  • : - 상호 작용, 즉 항의 곱을 정의합니다.

  • * - 상호 작용과 모든 낮은 차수 항을 정의합니다.

  • ^ - 예측 변수를 거듭제곱합니다. 이는 *를 반복하는 것과 동일하며, 따라서 ^은 낮은 차수 항도 포함합니다.

  • () - 항을 그룹화합니다.

다음 표에는 윌킨슨 표기법의 일반적인 예가 나와 있습니다.

윌킨슨 표기법표준 표기법으로 표현되는 항
1상수(절편) 항
x1^k. 여기서 k는 양의 정수입니다.x1, x12, ..., x1k
x1 + x2x1, x2
x1*x2x1, x2, x1*x2
x1:x2x1*x2
–x2x2를 포함시키지 않음
x1*x2 + x3x1, x2, x3, x1*x2
x1 + x2 + x3 + x1:x2x1, x2, x3, x1*x2
x1*x2*x3 – x1:x2:x3x1, x2, x3, x1*x2, x1*x3, x2*x3
x1*(x2 + x3)x1, x2, x3, x1*x2, x1*x3

자세한 내용은 Wilkinson Notation 항목을 참조하십시오.

정준 연결 함수

일반화 선형 모델의 디폴트 연결 함수는 정준 연결 함수입니다.

분포정준 연결 함수 이름연결 함수평균 함수(역함수)
'normal''identity'f(μ) = μμ = Xb
'binomial''logit'f(μ) = log(μ/(1 – μ))μ = exp(Xb) / (1 + exp(Xb))
'poisson''log'f(μ) = log(μ)μ = exp(Xb)
'gamma'-1f(μ) = 1/μμ = 1/(Xb)
'inverse gaussian'-2f(μ) = 1/μ2μ = (Xb)–1/2

  • 일반화 선형 모델 mdlDistribution 이름-값 쌍으로 별도로 지정하지 않는 한 표준 선형 모델입니다.

  • plotResiduals 또는 devianceTest와 같은 메서드나 GeneralizedLinearModel 객체의 속성에 대해서는 GeneralizedLinearModel을 참조하십시오.

  • 모델을 훈련시킨 후에는 새 데이터에 대한 응답 변수를 예측하는 C/C++ 코드를 생성할 수 있습니다. C/C++ 코드를 생성하려면 MATLAB Coder™가 필요합니다. 자세한 내용은 Introduction to Code Generation 항목을 참조하십시오.

알고리즘

  • fitglm 함수는 범주형 예측 변수를 다음과 같이 처리합니다.

    • 수준(범주)이 L개인 범주형 예측 변수를 갖는 모델은 L – 1개의 표시 변수를 갖습니다. 이 모델은 첫 번째 범주를 기준 레벨로 사용하므로 기준 레벨에 대한 표시 변수는 포함하지 않습니다. 범주형 예측 변수의 데이터형이 categorical인 경우 categories를 사용하여 범주 순서를 확인하고 reordercats를 사용하여 범주를 다시 정렬하여 기준 레벨을 사용자 지정할 수 있습니다. 표시 변수 생성에 대한 자세한 내용은 Automatic Creation of Dummy Variables 항목을 참조하십시오.

    • fitglm 함수는 L – 1개의 표시 변수 그룹을 단일 변수로 처리합니다. 표시 변수를 고유한 예측 변수로 처리하려면 dummyvar을 사용하여 표시 변수를 수동으로 만드십시오. 그런 다음 모델을 피팅할 때 범주형 변수의 기준 레벨에 해당하는 변수를 제외한 표시 변수를 사용하십시오. 범주형 예측 변수 X의 경우, dummyvar(X)의 모든 열과 절편 항을 예측 변수로 지정하면 설계 행렬은 랭크 부족이 됩니다.

    • 연속형 예측 변수와 수준이 L개인 범주형 예측 변수 사이의 상호 작용 항은 L – 1개의 표시 변수와 연속형 예측 변수의 요소별 곱으로 구성됩니다.

    • 수준이 L개인 범주형 예측 변수와 수준이 M개인 범주형 예측 변수의 두 범주형 예측 변수 사이의 상호 작용 항은 (L – 1)*(M – 1)개의 표시 변수로 구성되어 두 범주형 예측 변수 수준의 모든 가능한 조합을 포함합니다.

    • 표시 변수의 제곱은 그 자신과 동일하기 때문에 범주형 예측 변수에 대한 고차 항은 지정할 수 없습니다.

  • fitglm 함수는 tbl, XYNaN, ''(빈 문자형 벡터), ""(빈 string형), <missing>, <undefined> 값을 누락값으로 간주합니다. fitglm 함수는 피팅할 때 누락값이 있는 관측값을 사용하지 않습니다. 피팅된 모델의 ObservationInfo 속성은 fitglm 함수가 피팅에서 각 관측값을 사용하는지 여부를 나타냅니다.

대체 기능

  • 자동으로 모델 사양을 선택하려면 stepwiseglm을 사용하십시오. 피팅된 모델을 조정하려면 step, addTerms 또는 removeTerms를 사용하십시오.

참고 문헌

[1] Collett, D. Modeling Binary Data. New York: Chapman & Hall, 2002.

[2] Dobson, A. J. An Introduction to Generalized Linear Models. New York: Chapman & Hall, 1990.

[3] McCullagh, P., and J. A. Nelder. Generalized Linear Models. New York: Chapman & Hall, 1990.

확장 기능

버전 내역

R2013b에 개발됨