Ho-Kalman 식별 알고리즘에서는 임펄스 반응(impulse response)을 이용하여 마코프 파라미터(Markov parameters)를 측정하였다. 그렇다면 일반적인 입출력 데이터를 이용하여 마코프 파라미터를 획득하는 방법은 없을까.
다음과 같이 미지의 이산시간(discrete-time) 선형 시스템이 있다고 하자.
여기서 , , , , , , 이다.
시간스텝 에서 출력은 다음과 같이 계산할 수 있다.
초기값이 이라고 가정하면, 즉 이면 시간스텝 에서 출력은 다음과 같이 된다.
식 (3)을 에서 행렬 형식으로 쓰면 다음과 같다.
여기서
이다. 와 는 입출력 데이터로만 이루어진 행렬이고 마코프 파라미터로 구성된 행렬 는 추정할 대상이다.
식 (5)에 의하면 총 식의 개수는 이고 추정해야 할 미지수 개수는 이다. 따라서 미지수의 개수가 식의 개수보다 많기 때문에 즉 입력이 개일 때를 제외하고는 는 무수히 많은 해가 존재하며 유일하게 계산해 낼 수 없다. 입력이 1개 이더라도 이어야 하므로 가 존재해야 하기 때문에 이어야 하고 입력이 충분히 복잡해야 한다.
하지만 만약 행렬 가 안정(stable)하여서 어떤 시간스텝 에서는 이 된다면 구간에서는 식 (3)을 다음과 같이 근사화할 수 있다.
식 (6)에 의하면 식 (4)와 (5)는 다음과 같이 근사화 된다.
여기서
이다. 식 (8)에 의하면 총 식의 개수는 이고 추정해야 할 미지수 개수는 이다. 따라서 식 (8)에서 데이터의 길이 을 이상으로 잡으면, 즉 이면 식의 개수가 미지수의 개수보다 커지므로 행렬 를 다음과 같이 근사적으로 계산할 수 있다.
여기서 는 의 유사 역행렬(pseudo inverse matrix)이다. 행렬 는 입력 데이터 로 구성되어 있으므로 는 의 유사 역행렬이 존재할 수 있도록 충분히 복잡하게 설계되어야 한다.
식 (9)에서 계산한 마코프 파라미터를 Ho-Kalman 식별 알고리즘에 대입하면 미지의 시스템 (1)의 행렬 와 시스템 차수를 식별(identification)할 수 있다. 이와 같은 식별 방법을 ERA(eigensystem realization algorithm)이라고 한다.
식 (6)에 의하면 근사화에 의한 오차는 가 커질 수록 작아질 것이다. 하지만 의 사이즈도 같이 커지기 때문에 유사 역행렬 를 계산하는데 어려움이 따른다. 만약 시스템이 덜 안정적일 경우, 즉 감쇄가 느리게 진행될 경우, 정수 를 큰 값으로 정해야 하기 때문에 ERA 는 실용성이 떨어진다.
그렇다면 인위적으로 시스템의 안정성을 높일 방법은 없을까. 그리고 초기값이 이어야 한다는 제약을 푸는 방법은 없을까.