이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

glmfit

일반화 선형 모델 회귀

구문

b = glmfit(X,y,distr)
b = glmfit(X,y,distr,param1,val1,param2,val2,...)
[b,dev] = glmfit(...)
[b,dev,stats] = glmfit(...)

설명

b = glmfit(X,y,distr)은 분포 distr을 사용해 예측 변수 X와 이에 대한 응답 변수 y가 주어졌을 때 응답 변수의 일반화 선형 회귀에 대한 계수 추정값으로 구성된 (p + 1)x1 벡터 b를 반환합니다. Xn개 관측값 각각에서의 p개 예측 변수로 구성된 nxp 행렬입니다. distr'binomial', 'gamma', 'inverse gaussian', 'normal'(디폴트 값), 'poisson' 중 하나일 수 있습니다.

대부분의 경우, y는 관측된 응답 변수로 구성된 nx1 벡터입니다. 이항분포의 경우, y는 각 관측값에 대한 성공 또는 실패를 나타내는 이진 벡터이거나, 첫 번째 열이 각 관측값에 대한 성공 횟수를 나타내고 두 번째 열이 각 관측값에 대한 시행 횟수를 나타내는 2열 행렬일 수 있습니다.

이 구문은 정준 연결(아래 참조)을 사용하여 분포를 예측 변수와 연관시킵니다.

참고

기본적으로, glmfit는 1로 구성된 첫 번째 열을 X에 추가하며, 이는 모델의 상수항에 대응됩니다. X에 1로 구성된 열을 직접 입력하지 마십시오 아래에 나와 있는 'constant' 모수를 사용하여 glmfit의 디폴트 동작을 변경할 수 있습니다.

glmfitX 또는 y에서 NaN을 결측값으로 처리하여 무시합니다.

b = glmfit(X,y,distr,param1,val1,param2,val2,...)는 추가적으로 선택적 파라미터 이름/값 쌍 지정을 허용하여 모델 피팅을 제어하게 해 줍니다. 허용 가능한 파라미터는 다음과 같습니다.

파라미터설명
'link'

'identity', 분포 'normal'의 디폴트 값임

µ = Xb

'log', 분포 'poisson'의 디폴트 값임

log(µ) = Xb

'logit', 분포 'binomial'의 디폴트 값임

log(µ/(1 – µ)) = Xb

'probit'

norminv(µ) = Xb

'comploglog'

log( -log(1 – µ)) = Xb

'reciprocal', 분포 'gamma'의 디폴트 값임

1/µ = Xb

'loglog'

log( -log(µ)) = Xb

p(숫자), 분포 'inverse gaussian' 의 디폴트 값임(p = -2임)

µp = Xb

@을 사용하여 생성되었으며 각각 연결 함수(FL), 연결 함수의 도함수(FD), 역연결 함수(FI)를 정의하는 세 개의 함수 핸들을 포함하는 {FL FD FI} 형식의 셀형 배열.

사용자 정의 연결 함수. 다음을 제공해야 합니다.

  • FL(mu)

  • FD = dFL(mu)/dmu

  • FI = FL^(-1)

다음 필드를 갖는 구조체형 배열:

  • 'Link' — 연결 함수

  • 'Derivative' — 연결 함수의 도함수

  • 'Inverse' — 연결 함수의 역함수

각 필드의 값은 경로 또는 (@을 사용하여 생성된) 함수 핸들에 있는 함수에 대응되는 문자형 벡터입니다.

사용자 정의 연결 함수 및 이 연결 함수의 도함수와 역함수.
'estdisp''on'

이항분포 또는 푸아송 분포에 대한 산포 모수를 추정합니다.

'off'(이항분포 또는 푸아송 분포의 디폴트 값)

이러한 분포에는 이론적인 값 1.0을 사용합니다.

'offset'

벡터

추가 예측 변수로 사용되지만, 1.0으로 고정된 계수 값을 사용합니다.

'weights'

각 관측값에 대한 상대분산의 역과 같은 사전 가중치로 구성된 벡터

 
'constant'

'on'(디폴트 값)

모델에 상수항을 포함시킵니다. 상수항의 계수는 b의 첫 번째 요소입니다.

'off'

상수항을 생략합니다.

[b,dev] = glmfit(...)은 해 벡터에서 피팅의 이탈도를 나타내는 dev를 반환합니다. 이탈도는 잔차 제곱합을 일반화한 것입니다. 이탈도 분석을 수행하여 각 모델이 다른 모델의 부분 집합인 여러 모델을 비교하고 더 많은 항을 포함하는 모델이 더 적은 항을 포함하는 모델보다 훨씬 더 좋은지 여부를 검정할 수 있습니다.

[b,dev,stats] = glmfit(...)devstats를 반환합니다.

stats는 다음 필드를 포함하는 구조체입니다.

  • beta — 계수 추정값 b

  • dfe — 오차에 대한 자유도

  • sfit — 추정된 산포 모수

  • s — 이론적 또는 추정된 산포 모수

  • estdisp'estdisp' 이름-값 쌍의 인수 값이 'off'인 경우 0이고 'estdisp' 이름-값 쌍의 인수 값이 'on'인 경우 1입니다.

  • covb — B에 대해 추정된 공분산 행렬

  • se — 계수 추정값 b에 대한 표준 오차로 구성된 벡터

  • coeffcorrb에 대한 상관 행렬

  • tb에 대한 t 통계량

  • pb에 대한 p-값

  • resid — 잔차로 구성된 벡터

  • residp — 피어슨(Pearson) 잔차로 구성된 벡터

  • residd — 이탈도 잔차로 구성된 벡터

  • resida — 앤스콤(Anscombe) 잔차로 구성된 벡터

이항분포 또는 푸아송 분포에 대한 산포 모수를 추정하는 경우 stats.sstats.sfit로 설정됩니다. 또한, stats.se의 요소는 해당 이론적 값에서 인자 stats.s만큼 다릅니다.

예제

모두 축소

표본 데이터를 입력합니다.

x = [2100 2300 2500 2700 2900 3100 ...
     3300 3500 3700 3900 4100 4300]';
n = [48 42 31 34 31 21 23 23 21 16 17 21]';
y = [1 2 0 3 8 8 14 17 19 15 17 21]';

y 값은 n의 대응되는 시행 횟수에 대한 성공 횟수이며, x는 예측 변수 값을 포함합니다.

x에서 y에 대한 프로빗 회귀 모델을 피팅합니다.

b = glmfit(x,[y n],'binomial','link','probit');

추정된 성공 횟수를 계산합니다. 관측된 성공률과 추정된 성공률을 x 값에 대해 플로팅합니다.

yfit = glmval(b,x,'probit','size',n);
plot(x, y./n,'o',x,yfit./n,'-','LineWidth',2)

표본 데이터를 불러옵니다.

load fisheriris

열 벡터 species는 세 가지 붓꽃 종인 setosa, versicolor, virginica로 구성됩니다. double형 행렬 meas는 꽃에 대한 네 가지 측정값 유형인 꽃받침 길이, 꽃받침 너비, 꽃잎 길이, 꽃잎 너비(단위: 센티미터)를 포함합니다.

응답 변수와 예측 변수를 정의합니다.

X = meas(51:end,:);
y = strcmp('versicolor',species(51:end));

@을 사용하여 생성된 세 가지 함수 핸들을 정의합니다. 이는 연결 함수, 연결 함수의 도함수, 로짓 연결 함수의 역연결 함수를 정의합니다. 함수 핸들을 셀형 배열로 저장합니다.

link = @(mu) log(mu ./ (1-mu));
derlink = @(mu) 1 ./ (mu .* (1-mu));
invlink = @(resp) 1 ./ (1 + exp(-resp));
F = {link, derlink, invlink};

정의한 연결 함수로 glmfit을 사용하여 로지스틱 회귀를 피팅합니다.

b = glmfit(X,y,'binomial','link',F)
b = 5×1

   42.6378
    2.4652
    6.6809
   -9.4294
  -18.2861

logit 연결 함수를 사용하여 일반화 선형 모델을 피팅하고 결과를 비교합니다.

b = glmfit(X,y,'binomial','link','logit')
b = 5×1

   42.6378
    2.4652
    6.6809
   -9.4294
  -18.2861

참고 문헌

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

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

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

R2006a 이전에 개발됨