Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

arx

ARX, ARIX, AR 또는 ARI 모델의 파라미터 추정

설명

AR 또는 ARX 모델 추정하기

sys = arx(tt,[na nb nk])는 타임테이블 tt의 변수에 포함된 데이터를 사용하여 ARX 또는 AR idpoly 모델 sys의 파라미터를 추정합니다. 소프트웨어는 첫 번째 Nu 변수를 입력으로 사용하고 다음 Ny 변수를 출력으로 사용합니다. 여기서 NuNy는 각각 nbna의 차원에서 결정됩니다.

AR 모델의 경우 입력 신호가 없으며 sys = arx(tt,na)를 사용합니다. 이 경우 소프트웨어는 첫 번째 Ny 변수를 사용하여 모델을 피팅합니다.

arx[na nb nk]에 지정된 최소제곱 방법과 다항식 차수를 사용하여 추정을 수행합니다. 모델 속성에는 추정 데이터와 측정 데이터 간의 공분산(파라미터 불확실성)과 피팅의 적합도가 포함됩니다.

tt에서 특정 입력 채널과 출력 채널을 선택하려면 이름-값 구문을 사용하여 'InputName''OutputName'을 대응하는 타임테이블 변수 이름으로 설정합니다.

예제

sys = arx(u,y,[na nb nk])는 쉼표로 구분된 행렬 u,y에서 시간 영역 입력 신호와 출력 신호를 사용합니다. 소프트웨어는 데이터 샘플 시간이 1초라고 가정합니다. 샘플 시간을 변경하려면 이름-값 구문을 사용하여 Ts를 설정합니다.

sys = arx(data,[na nb nk])는 데이터 객체 data에 있는 시간 영역 데이터 또는 주파수 영역 데이터를 사용합니다. 특히 주파수 영역 데이터나 주파수 응답 데이터를 사용하여 모델을 추정하려는 경우 또는 데이터 샘플 시간이나 실험 레이블 지정과 같이 데이터 객체가 제공하는 추가 정보를 활용하려는 경우 이 구문을 사용하십시오.

예제

추가 옵션 지정하기

sys = arx(___,Name,Value)는 하나 이상의 이름-값 쌍 인수를 사용하여 추가 옵션을 지정합니다. 예를 들어, 이름-값 쌍 인수 'IntegrateNoise',1을 사용하여 ARIX 구조 모델 또는 ARI 구조 모델을 추정할 수 있으며 이는 비정상 외란이 있는 시스템에 유용합니다. 이 구문은 위에 열거된 구문에 나와 있는 입력 인수를 원하는 대로 조합하여 사용할 수 있습니다.

예제

sys = arx(___,opt)는 옵션 세트 opt를 사용하여 추정 옵션을 지정합니다.

예제

추정된 초기 조건 반환하기

[sys,ic] = arx(___)는 추정된 초기 조건을 initialCondition 객체로 반환합니다. 동일한 추정 입력 데이터를 사용하여 모델 응답을 시뮬레이션하거나 예측한 다음, 그 응답을 동일한 추정 출력 데이터와 비교하려는 경우 이 구문을 사용하십시오. 초기 조건을 통합하면 시뮬레이션의 첫 번째 부분 동안 더 나은 일치율을 얻습니다.

예제

예제

모두 축소

지정된 ARX 모델을 기반으로 출력 데이터를 생성하고 출력 데이터를 사용하여 모델을 추정합니다.

ARX 구조를 사용해 다항식 모델 sys0을 지정합니다. 이 모델에는 B 다항식에서 선행 0으로 표현되는 한 개 샘플의 입력 지연이 포함됩니다.

A = [1  -1.5  0.7];
B = [0 1 0.5];
sys0 = idpoly(A,B);

랜덤 이진 잡음을 포함하는 측정된 입력 신호 u와 정규분포된 잡음을 포함하는 오차 신호 e를 생성합니다. 이러한 신호로 sys0의 측정된 출력 신호 y를 시뮬레이션합니다.

u = iddata([],idinput(300,'rbs'));
e = iddata([],randn(300,1));
y = sim(sys0,[u e]);

yu를 단일 iddata 객체 z로 결합합니다. z 및 원래 모델과 동일한 다항식 차수와 입력 지연을 사용하여 새로운 ARX 모델을 추정합니다.

z = [y,u];
sys = arx(z,[2 2 1])
sys =
Discrete-time ARX model: A(z)y(t) = B(z)u(t) + e(t)
  A(z) = 1 - 1.524 z^-1 + 0.7134 z^-2              
                                                   
  B(z) = z^-1 + 0.4748 z^-2                        
                                                   
Sample time: 1 seconds
  
Parameterization:
   Polynomial orders:   na=2   nb=2   nk=1
   Number of free coefficients: 4
   Use "polydata", "getpvec", "getcov" for parameters and their uncertainties.

Status:                                          
Estimated using ARX on time domain data "sys0".  
Fit to estimation data: 81.36% (prediction focus)
FPE: 1.025, MSE: 0.9846                          
 

출력에는 추정된 파라미터가 포함된 다항식이 다른 추정 세부 정보와 함께 표시됩니다. Status에서 Fit to estimation data는 추정된 모델의 향후 1-스텝 사전 예측의 정확도가 80%보다 높다는 것을 나타냅니다.

arx 함수를 사용하여 시계열 AR 모델을 추정합니다. AR 모델에는 측정된 입력이 없습니다.

잡음이 있는 시계열 타임테이블 데이터 tt9를 불러옵니다.

load sdata9 tt9

[na nb nk]에서 na 차수만 지정하여 4차 AR 모델을 추정합니다.

sys = arx(tt9,4);

추정된 A 다항식 파라미터와 데이터에 대한 추정값의 피팅을 검토합니다.

param = sys.Report.Parameters.ParVector
param = 4×1

   -0.7923
   -0.4780
   -0.0921
    0.4698

fit = sys.Report.Fit.FitPercent
fit = 79.4835

ARIX 모델의 파라미터를 추정합니다. ARIX 모델은 적분된 잡음이 있는 ARX 모델입니다.

ARX 구조를 사용해 다항식 모델 sys0을 지정합니다. 이 모델에는 B에서 선행 0으로 표현되는 한 개 샘플의 입력 지연이 포함됩니다.

A = [1  -1.5  0.7];
B = [0 1 0.5];
sys0 = idpoly(A,B);

랜덤 이진 입력 신호 u와 정규분포된 오차 신호 e를 사용하여 sys0의 출력 신호를 시뮬레이션합니다.

u = iddata([],idinput(300,'rbs'));
e = iddata([],randn(300,1));
y = sim(sys0,[u e]);

출력 신호를 적분하고 결과 yiiddata 객체 zi에 저장합니다.

yi = iddata(cumsum(y.y),[]);
zi = [yi,u];

zi에서 ARIX 모델을 추정합니다. 이름-값 쌍의 인수 'IntegrateNoise'true로 설정합니다.

sys = arx(zi,[2 2 1],'IntegrateNoise',true);

5-스텝 예측을 사용하여 모델 출력을 예측하고 결과를 yi와 비교합니다.

compare(zi,sys,5)

arxRegul을 사용하여 자동으로 정규화 상수를 결정하고, FIR 모델을 차수 50으로 추정하는 데 필요한 값들을 사용합니다.

lambda 값과 R 값을 구합니다.

load regularizationExampleData eData;
orders = [0 50 0];
[lambda,R] = arxRegul(eData,orders);

정규화된 ARX 모델 추정을 위해, 반환된 lambda 값과 R 값을 사용합니다.

opt = arxOptions;
opt.Regularization.Lambda = lambda;
opt.Regularization.R = R;
sys = arx(eData,orders,opt);

데이터를 불러옵니다.

load iddata1ic z1i

2차 ARX 모델 sys를 추정하고 ic에 초기 조건을 반환합니다.

na = 2;
nb = 2;
nk = 1;
[sys,ic] = arx(z1i,[na nb nk]);
ic
ic = 
  initialCondition with properties:

     A: [2x2 double]
    X0: [2x1 double]
     C: [0 2]
    Ts: 0.1000

ic는 상태공간 형식에서 sys의 자유 응답 변수를 X0의 초기 상태 벡터로 캡슐화하는 initialCondition 객체입니다. sysz1i 입력 신호로 시뮬레이션하고 그 응답을 z1i 출력 신호와 비교할 때 ic를 포함할 수 있습니다.

입력 인수

모두 축소

추정 데이터로, 일정한 간격의 시간 벡터를 사용하는 timetable로 지정됩니다. tt에는 입력 채널과 출력 채널을 나타내는 변수가 포함됩니다. 다중 실험 데이터의 경우 tt는 길이가 Ne인 타임테이블로 구성된 셀형 배열입니다. 여기서 Ne는 실험의 개수입니다.

소프트웨어는 지정된 다항식 차수의 차원에서 추정에 사용할 입력 채널과 출력 채널의 개수를 결정합니다. 입력/출력 채널 선택은 'InputName' 이름-값 인수와 'OutputName' 이름-값 인수가 지정되었는지 여부에 따라 다릅니다.

  • 'InputName''OutputName'이 지정되지 않은 경우 소프트웨어는 tt의 첫 번째 Nu 변수를 입력으로 사용하고 tt의 다음 Ny 변수를 출력으로 사용합니다.

  • 'InputName''OutputName'이 지정된 경우 소프트웨어는 지정된 변수를 사용합니다. 지정된 입력 이름과 출력 이름의 개수는 NuNy와 일치해야 합니다.

  • 입력이 없는 시계열 모델을 추정할 수 있는 함수의 경우 'InputName'을 지정할 필요가 없습니다.

추정 데이터형으로 작업하는 방법에 대한 자세한 내용은 Data Domains and Data Types in System Identification Toolbox 항목을 참조하십시오.

추정 데이터로, SISO 시스템에 대해, 균일하게 샘플링된 입력 시간 영역 신호 값과 출력 시간 영역 신호 값을 포함하는 Ns×1 실수 값 행렬의 쉼표로 구분된 쌍으로 지정됩니다. 여기서 Ns는 샘플의 개수입니다.

MIMO 시스템의 경우 u,y를 다음 차원의 입력/출력 행렬 쌍으로 지정합니다.

  • uNs×Nu, 여기서 Nu는 입력의 개수입니다.

  • yNs×Ny, 여기서 Ny는 출력의 개수입니다.

다중 실험 데이터의 경우, u,y를 1×Ne 셀형 배열 쌍으로 지정합니다. 여기서 Ne는 실험의 개수입니다. 모든 실험의 샘플 시간은 일치해야 합니다.

출력만 있고 입력이 없는 시계열 데이터의 경우 [],y를 지정합니다.

제한 사항

  • 행렬 기반 데이터는 주파수 영역 데이터에 기반한 추정을 지원하지 않습니다. iddata 객체 또는 idfrd 객체와 같은 데이터 객체를 사용해야 합니다(data 참조).

추정 데이터형으로 작업하는 방법에 대한 자세한 내용은 Data Domains and Data Types in System Identification Toolbox 항목을 참조하십시오.

추정 데이터로, iddata 객체, frd (Control System Toolbox) 객체 또는 idfrd 주파수 응답 객체로 지정됩니다. AR 시계열 모델과 ARI 시계열 모델의 경우 data의 입력 채널은 비어 있어야 합니다.

모델에 대한 다항식 차수와 지연으로, 1×3 벡터 또는 행렬 [na nb nk]로 구성된 벡터로 지정됩니다. 다항식 차수는 해당 다항식에서 추정할 계수의 개수와 같습니다.

AR 시계열 모델이나 ARI 시계열 모델의 경우 입력이 없으며 [na nb nk]를 스칼라 na로 설정합니다. 예제는 AR 모델 항목을 참조하십시오.

Ny 출력과 Nu 입력이 있는 모델의 경우:

  • na는 다항식 A(q)의 차수이며, 음이 아닌 정수로 구성된 Ny×Ny 행렬로 지정됩니다.

  • nb는 다항식 B(q)의 차수 +1이며, 음이 아닌 정수로 구성된 Ny×Nu 행렬로 지정됩니다.

  • nk는 전송 지연이라고도 하는 입력-출력 지연으로, 음이 아닌 정수로 구성된 Ny×Nu 행렬로 지정됩니다. nk는 ARX 모델에서 B 다항식의 고정된 선행 0으로 표시됩니다.

    예를 들어, 전송 지연 없이 sys.b[5 6]이라고 가정하겠습니다.

    • sys.b+1은 2차 다항식이므로 nb=2입니다.

    • nk=3의 전송 지연을 지정합니다. 이 지연을 지정하면 sys.b에 세 개의 선행 0이 추가되어 sys.b는 이제 [0 0 0 5 6]이고 nb는 여전히 2입니다.

    • 이 계수는 다항식 B(q)=5q-3+6q-4을 나타냅니다.

    이름-값 쌍 인수 'IODelay'를 사용하여 전송 지연을 구현할 수도 있습니다.

.

예: arx(data,[2 1 1])iddata 객체로부터 1개 샘플의 입력 지연이 있는 하나의 입력 채널을 가진 2차 ARX 모델을 계산합니다.

ARX 모델 식별을 위한 추정 옵션으로, arOptions 옵션 세트로 지정됩니다. opt에 의해 지정된 옵션에는 다음이 포함됩니다.

  • 초기 조건 처리 — 주파수 영역 데이터에만 이 옵션을 사용합니다. 시간 영역 데이터의 경우 예측 변수에 측정되지 않은 신호가 절대 필요하지 않도록 신호가 이동됩니다.

  • 입력 데이터 오프셋과 출력 데이터 오프셋 — 추정하는 동안 시간 영역 데이터에서 오프셋을 제거하기 위해 이 옵션을 사용합니다.

  • 정규화 — 추정 프로세스 동안 편향 오차와 분산 오차 간의 상호 절충을 제어하기 위해 이 옵션을 사용합니다.

자세한 내용은 arxOptions 항목을 참조하십시오. 예제는 정규화가 있는 ARX 모델 항목을 참조하십시오.

이름-값 인수

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

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

예: 'IntegrateNoise',true는 잡음 채널에 적분기를 추가합니다.

입력 채널 이름으로, string형, 문자형 벡터, string형 배열 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다.

데이터 소스에 타임테이블을 사용 중인 경우 InputName에 있는 이름은 타임테이블 변수의 서브셋이어야 합니다.

예: sys = arx(tt,__,'InputName',["u1" "u2"])는 추정에 사용할 타임테이블 tt의 입력 채널로 변수 u1u2를 선택합니다.

출력 채널 이름으로, string형, 문자형 벡터, string형 배열 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다.

데이터 소스에 타임테이블을 사용 중인 경우 OutputName에 있는 이름은 타임테이블 변수의 서브셋이어야 합니다.

예: sys = arx(tt,__,'OutputName',["y1" "y3"])은 변수 y1y3을 추정에 사용할 타임테이블 tt의 출력 채널로 선택합니다.

샘플 시간으로, 'Ts'TimeUnit으로 지정된 단위의 샘플 시간이 쉼표로 구분되어 지정됩니다. 행렬 기반 데이터(u,y)를 사용할 때 가정한 샘플 시간인 1초 이외의 샘플 시간이 필요한 경우 Ts를 지정해야 합니다.

타임테이블 tt에 대한 데이터 샘플 시간을 얻으려면 타임테이블의 속성 tt.Properties.Timestep을 사용합니다.

예: arx(umat1,ymat1,___,'Ts',0.08)은 샘플 시간이 0.08초인 모델을 계산합니다.

샘플 시간의 정수 배로 표현되는 입력 지연으로, 'InputDelay'와 다음 중 하나가 쉼표로 구분된 쌍으로 지정됩니다.

  • Nu×1 벡터, 여기서 Nu는 입력의 개수 — 각 요소는 대응하는 입력 채널에 대한 입력 지연을 나타내는 숫자형 값입니다.

  • 스칼라 값 — 모든 입력 채널에 동일한 지연을 적용합니다.

예: arx(data,[2 1 3],'InputDelay',1)은 3개 샘플의 입력 지연을 포함하는 하나의 입력 채널이 있는 2차 ARX 모델을 추정합니다.

각 입력-출력 쌍에 대한 전송 지연으로, 샘플 시간의 정수 배로 표시되고 'IODelay'와 다음 중 하나가 쉼표로 구분된 쌍으로 지정됩니다.

  • Ny×Nu 행렬, 여기서 Ny는 출력의 개수이고 Nu는 입력의 개수 — 각 항목은 해당 입력-출력 쌍에 대한 전송 지연을 나타내는 정수 값입니다.

  • 스칼라 값 — 모든 입력-출력 쌍에 동일한 지연을 적용합니다. 이 방식은 입력-출력 지연 파라미터 nkB 다항식에서 다수의 고정 선행 0을 생성할 때 유용합니다. nk에서 'IODelay' 값으로 지연값을 이동하여 max(nk-1,0)개의 지연을 제외할 수 있습니다.

    예를 들어, 두 개의 입력이 있는 시스템이 있다고 가정하겠습니다. 여기서 첫 번째 입력은 3개 샘플의 지연을 갖고 두 번째 입력은 6개 샘플의 지연을 갖습니다. 또한 이러한 입력에 대한 B 다항식이 차수 n이라고 가정하겠습니다. 다음을 사용하여 이러한 지연을 표현할 수 있습니다.

    • nk=[3 6] — 이것은 [0 0 0 b11 ... b1n][0 0 0 0 0 0 b21 ... b2n]으로 구성된 B 다항식을 생성합니다.

    • nk=[3 6]'IODelay',3 — 이것은 [b11 ... b1n][0 0 0 b21 ... b2n]으로 구성된 B 다항식을 생성합니다.

잡음 채널에 적분기를 더한 것으로, 'IntegrateNoise'와 길이가 Ny인 논리형 벡터가 쉼표로 구분된 쌍으로 지정됩니다. 여기서 Ny는 출력의 개수입니다.

특정 출력에 대해 'IntegrateNoise'true로 설정하면 해당 채널에 대한 ARIX 모델이나 ARI 모델이 생성됩니다. 잡음 적분은 외란이 비정상인 경우에 유용합니다.

'IntegrateNoise'를 사용할 때는 출력 채널 데이터도 적분해야 합니다. 예제는 ARIX 모델 항목을 참조하십시오.

출력 인수

모두 축소

추정 데이터에 피팅되는 ARX 모델로, 이산시간 idpoly 객체로 반환됩니다. 이 모델은 지정된 모델 차수, 지연 및 추정 옵션을 사용하여 생성됩니다.

추정 결과와 사용된 옵션에 대한 정보는 모델의 Report 속성에 저장됩니다. Report에는 다음과 같은 필드가 있습니다.

리포트 필드설명
Status

모델이 생성을 통해 만들어졌는지 아니면 추정으로 얻었는지를 나타내는 모델 상태의 요약입니다

Method

사용된 추정 명령

InitialCondition

모델 추정 중 초기 조건 처리로, 다음 값 중 하나로 반환됩니다.

  • 'zero' — 초기 조건이 0으로 설정되었습니다.

  • 'estimate' — 초기 조건이 독립적인 추정 파라미터로 처리되었습니다.

이 필드는 추정 옵션 세트의 InitialCondition 옵션이 'auto'일 때 초기 조건이 어떻게 처리되었는지를 확인하는 데 특히 유용합니다.

Fit

추정에 대한 정량적 평가로, 구조체로 반환됩니다. 품질 메트릭에 대한 자세한 내용은 Loss Function and Model Quality Metrics 항목을 참조하십시오. 구조체에는 다음과 같은 필드가 있습니다.

  • FitPercent — 모델의 응답이 추정 데이터에 얼마나 잘 피팅되는지에 대한 NRMSE(정규화된 RMS 오차) 측정값(백분율 fitpercent = 100(1-NRMSE)로 표현됨)

  • LossFcn — 추정 완료 시 손실 함수의 값

  • MSE — 모델의 응답이 추정 데이터에 얼마나 잘 피팅되는지에 대한 MSE(평균제곱오차) 측정값

  • FPE — 모델에 대한 최종 예측 오차

  • AIC — 모델 품질의 원시 아카이케 정보 기준(AIC: Akaike Information Criteria) 측정값

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

  • nAIC — 정규화된 AIC

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

Parameters

모델 파라미터의 추정된 값

OptionsUsed

추정에 사용된 옵션 세트입니다. 사용자 지정 옵션이 구성되지 않은 경우 이 옵션 세트가 디폴트 옵션 세트입니다. 자세한 내용은 arxOptions 항목을 참조하십시오.

RandState

추정 시작 시 난수 스트림의 상태입니다. 추정 중에 난수 생성을 사용하지 않은 경우 비어 있습니다. []로 표시됩니다. 자세한 내용은 rng 항목을 참조하십시오.

DataUsed

추정에 사용된 데이터의 특성으로, 다음 필드가 있는 구조체로 반환됩니다.

  • Name — 데이터 세트의 이름

  • Type — 데이터형

  • Length — 데이터 샘플 개수

  • Ts — 샘플 시간

  • InterSample — 입력 샘플 간 동작으로, 다음 값 중 하나로 반환됩니다.

    • 'zoh' —영차 유지는 샘플 간에 조각별 상수 입력 신호를 유지합니다.

    • 'foh' — 일차 유지는 샘플 간에 조각별 선형 입력 신호를 유지합니다.

    • 'bl' — 대역 제한 동작은 나이퀴스트 주파수보다 높은 대역에서 연속시간 입력 신호의 전력이 0이 되도록 지정합니다.

  • InputOffset — 추정 중에 시간 영역 입력 데이터에서 제거되는 오프셋. 비선형 모델의 경우 []입니다.

  • OutputOffset — 추정 중에 시간 영역 출력 데이터에서 제거되는 오프셋. 비선형 모델의 경우 []입니다.

Report 사용에 대한 자세한 내용은 Estimation Report을 참조하십시오.

추정된 초기 조건으로, initialCondition 객체 또는 initialCondition 값으로 구성된 객체 배열로 반환됩니다.

  • 단일 실험 데이터 세트의 경우 ic는 상태공간 형식에서 추정된 초기 상태(x0)에 대한 전달 함수 모델(A 행렬과 C행렬)의 자유 응답을 나타냅니다.

  • Ne개 실험이 포함된 다중 실험 데이터 세트의 경우, ic는 각 실험에 대한 initialCondition 값으로 구성된 하나의 세트를 포함하는 길이가 Ne인 객체 배열입니다.

자세한 내용은 initialCondition 항목을 참조하십시오. 이 인수를 사용하는 예제는 초기 조건 구하기 항목을 참조하십시오.

세부 정보

모두 축소

ARX 구조

ARX 모델의 이름은 Autoregressive with Extra Input의 약자로, AR 모델과 달리 ARX 모델에는 입력 항이 포함됩니다. ARX는 Autoregressive with Exogenous Variables라고도 하며, 여기서 외생 변수(Exogenous Variables)는 입력 항입니다. ARX 모델 구조는 다음 방정식으로 주어집니다.

y(t)+a1y(t1)+...+anay(tna)=b1u(tnk)+...+bnbu(tnbnk+1)+e(t)

파라미터 nanb는 ARX 모델의 차수이고 nk는 지연입니다.

  • y(t) — 시간 t에서의 출력

  • na — 극점 개수

  • nb — 영점 개수

  • nk — 입력이 출력에 영향을 미치기 전에 발생하는 입력 샘플의 개수(시스템에서 불감 시간이라고도 함)

  • y(t1)y(tna) — 현재 출력이 의존하는 이전 출력

  • u(tnk)u(tnknb+1) — 현재 출력이 의존하는 이전 입력과 지연된 입력

  • e(t) — 백색 잡음 외란 값

차분 방정식을 작성하는 보다 간결한 방법은 다음과 같습니다.

A(q)y(t)=B(q)u(tnk)+e(t)

q는 지연 연산자입니다. 구체적으로 설명하자면, 다음과 같습니다.

A(q)=1+a1q1++anaqna

B(q)=b1+b2q1++bnbqnb+1

ARIX 모델

ARIX(Autoregressive Integrated with Extra Input) 모델은 잡음 채널에 적분기가 있는 ARX 모델입니다. ARIX 모델 구조는 다음 방정식으로 주어집니다.

A(q)y(t)=B(q)u(tnk)+11q1e(t)

여기서 11q1은 잡음 채널 e(t)의 적분기입니다.

AR 시계열 모델

입력이 없고 출력이 하나이고 A 다항식 차수 na를 포함하는 시계열 데이터의 경우 모델은 na 차수의 AR 구조를 갖습니다.

AR(Autoregressive) 모델 구조는 다음 방정식으로 주어집니다.

A(q)y(t)=e(t)

ARI 모델

ARI(Autoregressive Integrated) 모델은 잡음 채널에 적분기가 있는 AR 모델입니다. ARI 모델 구조는 다음 방정식으로 주어집니다.

A(q)y(t)=11q1e(t)

다중 입력, 단일 출력 모델

nu개 입력이 있는 다중 입력, 단일 출력 시스템(MISO)의 경우, nbnki번째 요소가 열 벡터 u(t)의 i번째 입력과 연결된 차수 및 지연에 대응하는 행 벡터입니다. 마찬가지로, B 다항식의 계수는 행 벡터입니다. ARX MISO 구조는 다음 방정식으로 주어집니다.

A(q)y(t)=B1(q)u1(tnk1)+B2(q)u2(tnk2)++Bnu(q)unu(tnknu)

다중 입력, 다중 출력 모델

다중 입력, 다중 출력 시스템의 경우 na, nb, nk는 각 출력 신호에 대해 하나의 행을 포함합니다.

다중 출력의 경우 arx는 예측 오차 공분산 행렬의 대각합, 즉 다음 노름을 최소화합니다.

t=1NeT(t)e(t)

가중치 행렬 Lambda를 사용하여 이 노름을 다음과 같이 임의의 2차 노름으로 변환하려면

t=1NeT(t)Λ1e(t)

다음 구문을 사용합니다.

opt = arxOptions('OutputWeight',inv(lambda))
m = arx(data,orders,opt)

초기 조건

시간 영역 데이터의 경우 예측 변수에 측정되지 않은 신호가 절대 필요하지 않도록 신호가 이동됩니다. 따라서 초기 조건을 추정할 필요가 없습니다.

주파수 영역 데이터의 경우 순환 컨벌루션을 지원하는 초기 조건에 따라 데이터를 조정해야 할 수 있습니다.

'InitialCondition' 추정 옵션(arxOptions 항목 참조)을 다음 값 중 하나로 설정합니다.

  • ''zero'' — 조정이 없습니다.

  • 'estimate' — 순환 컨벌루션을 지원하는 초기 조건에 따라 데이터를 조정합니다.

  • 'auto' — 데이터를 기반으로 'zero' 또는 'estimate'를 자동으로 선택합니다.

알고리즘

QR 분해는 최소제곱 추정 문제를 구성하는 과결정된 선형 방정식 세트를 풉니다.

정규화 없이 ARX 모델 파라미터 벡터 θ는 정규 방정식을 풀어서 추정됩니다.

(JTJ)θ=JTy

여기서 J는 회귀 변수 행렬이고 y는 측정된 출력입니다. 그러므로, 다음이 성립합니다.

θ=(JTJ)1JTy

정규화를 사용하면 정규화 항이 추가됩니다.

θ=(JTJ+λR)1JTy

여기서 λ와 R은 정규화 상수입니다. 정규화 상수에 대한 자세한 내용은 arxOptions 항목을 참조하십시오.

회귀 행렬이 arxOptions에 지정된 MaxSize보다 크면 데이터가 분할되고 데이터 세그먼트에서 QR 분해를 반복적으로 수행합니다.

버전 내역

R2006a 이전에 개발됨

모두 확장