Main Content

aic

추정된 모델에 대한 아카이케 정보 기준(AIC)

설명

예제

value = aic(model)은 추정된 모델에 대한 정규화된 아카이케 정보 기준(AIC) 값을 반환합니다.

value = aic(model1,...,modeln)은 여러 추정된 모델에 대한 정규화된 AIC 값을 반환합니다.

예제

value = aic(___,measure)는 AIC의 유형을 지정합니다.

예제

모두 축소

전달 함수 모델을 추정합니다.

load iddata1 z1;
np = 2;
sys = tfest(z1,np);

정규화된 AIC 값을 계산합니다.

value = aic(sys)
value = 0.5453

값은 모델 추정 중에도 계산됩니다. 또는 모델의 Report 속성을 사용하여 이 값에 액세스할 수 있습니다.

sys.Report.Fit.nAIC
ans = 0.5453

전달 함수 모델을 추정합니다.

load iddata1 z1;
np = 2;
sys = tfest(z1,np);

정규화된 AIC 값을 계산합니다. 이 구문은 aic_raw = aic(sys)와 동일합니다.

aic_raw = aic(sys,'nAIC')
aic_raw = 0.5453

원시 AIC 값을 계산합니다.

aic_raw = aic(sys,'aic')
aic_raw = 1.0150e+03

표본 크기를 수정한 AIC 값을 계산합니다.

aic_c = aic(sys,'AICc')
aic_c = 1.0153e+03

BIC 값을 계산합니다.

bic = aic(sys,'BIC')
bic = 1.0372e+03

이러한 값은 모델 추정 중에도 계산됩니다. 또는 모델의 Report.Fit 속성을 사용하여 이러한 값에 액세스할 수 있습니다.

sys.Report.Fit
ans = struct with fields:
    FitPercent: 70.7720
       LossFcn: 1.6575
           MSE: 1.6575
           FPE: 1.7252
           AIC: 1.0150e+03
          AICc: 1.0153e+03
          nAIC: 0.5453
           BIC: 1.0372e+03

여러 출력-오차(OE) 모델을 추정하고 작은 샘플 크기로 수정된 AICc 값을 사용하여 정확도와 복잡도의 균형을 최적화한 모델을 선택합니다.

추정 데이터를 불러옵니다.

load iddata2

1:4 범위에서 모델 차수를 다양하게 지정합니다.

nf = 1:4;
nb = 1:4;
nk = 0:4;

선택한 차수 범위에서 가능한 모든 조합으로 OE 모델을 추정합니다.

NN = struc(nf,nb,nk); 
models = cell(size(NN,1),1);
for ct = 1:size(NN,1)
   models{ct} = oe(z2, NN(ct,:));
end

모델에 대해 작은 샘플 크기로 수정된 AIC 값을 계산하고 가장 작은 값을 반환합니다.

V = aic(models{:},'AICc');
[Vmin,I] = min(V);

AICc 값이 가장 작은 최적의 모델을 반환합니다.

models{I}
ans =
Discrete-time OE model: y(t) = [B(z)/F(z)]u(t) + e(t)
  B(z) = 1.067 z^-2                                  
                                                     
  F(z) = 1 - 1.824 z^-1 + 1.195 z^-2 - 0.2307 z^-3   
                                                     
Sample time: 0.1 seconds
  
Parameterization:
   Polynomial orders:   nb=1   nf=3   nk=2
   Number of free coefficients: 4
   Use "polydata", "getpvec", "getcov" for parameters and their uncertainties.

Status:                                     
Estimated using OE on time domain data "z2".
Fit to estimation data: 86.53%              
FPE: 0.9809, MSE: 0.9615                    
 

입력 인수

모두 축소

식별된 모델로, 다음 모델 객체 중 하나로 지정됩니다.

AIC의 유형으로, 다음 값 중 하나로 지정됩니다.

  • 'nAIC' — 정규화된 AIC

  • 'aic' — 원시 AIC

  • 'AICc' — 작은 표본 크기로 수정된 AIC

  • 'BIC' — 베이즈 정보 기준(BIC: Bayesian Information Criteria)

자세한 내용은 아카이케 정보 기준(AIC) 항목을 참조하십시오.

출력 인수

모두 축소

품질 측정 값으로, 스칼라 또는 벡터로 반환됩니다. 다중 모델의 경우 value는 행 벡터이며, 여기서 value(k)k번째 추정된 모델 modelk에 대응합니다.

세부 정보

모두 축소

아카이케 정보 기준(AIC)

아카이케 정보 기준(AIC: Akaike's Information Criterion)은 모델이 다른 데이터 세트에서 테스트되는 상황을 시뮬레이션하여 얻은 모델 품질의 측정값을 제공합니다. 여러 다른 모델을 계산한 후 이 기준을 사용하여 비교할 수 있습니다. 아카이케의 이론에 따르면 AIC가 가장 작은 모델이 가장 정확합니다. 모델 추정과 모델 검증 모두에 동일한 데이터 세트를 사용하는 경우 모델 차수가 증가하면 피팅이 항상 개선되므로 모델 구조의 유연성이 향상됩니다.

AIC는 다음과 같은 품질 메트릭을 포함합니다.

  • 원시 AIC는 다음과 같이 정의됩니다.

    AIC=N*log(det(1N1Nε(t,θ^N)(ε(t,θ^N))T))+2np+N*(ny*(log(2π)+1))

    여기서 각각은 다음과 같습니다.

    • N은 추정 데이터 세트에 있는 값의 개수입니다.

    • ε(t)는 예측 오차로 구성된 ny×1 벡터입니다.

    • θN은 추정된 파라미터를 나타냅니다.

    • np는 추정된 파라미터의 개수입니다.

    • ny는 모델 출력의 개수입니다.

  • 작은 샘플 크기로 수정된 AIC로, 다음으로 정의됩니다.

    AICc=AIC+2np*np+1Nnp1

  • 정규화된 AIC로, 다음으로 정의됩니다.

    nAIC=log(det(1N1Nε(t,θ^N)(ε(t,θ^N))T))+2npN

  • BIC(Bayesian Information Criteria)로, 다음으로 정의됩니다.

    BIC=N*log(det(1N1Nε(t,θ^N)(ε(t,θ^N))T))+N*(ny*log(2π)+1)+np*log(N)

  • 소프트웨어는 모델 추정 중에 모든 유형의 AIC 메트릭을 계산하고 저장합니다. 이러한 값에 액세스하려면 모델의 Report.Fit 속성을 참조하십시오.

참고 문헌

[1] Ljung, L. System Identification: Theory for the User, Upper Saddle River, NJ, Prentice-Hall PTR, 1999. See sections about the statistical framework for parameter estimation and maximum likelihood method and comparing model structures.

버전 내역

R2006a 이전에 개발됨