PCA를 이용한 질산 생산 공정에서의 데이터 보정

김동규, 양대륙

고려대학교 화학공학과

Data Reconciliation using PCA for the Nitric Acid Process

Dong Kyu Kim, Dae Ryook Yang

Department of Chemical Engineering, Korea University

서론

국가 기간 산업 중 하나로 대표되는 비료산업은 대표적인 에너지 다소비 업종이며, 또한 심각한 공해를 유발할 위험이 내재된 산업이다. 따라서 각각의 단위장치에 대한 모사를 행하고 이를 바탕으로 최소의 에너지 소비와, 최소의 오염물질 배출을 가능하게 하는 최적화된 조업조건을 찾는 것과, 공정 데이터에 대해 데이터 보정을 수행하여 조업조건의 일관성과 안정성을 도모하는 것 등은 중요한 문제라 할 수 있다. 본 연구에서는 모사로부터 얻은 공정 데이터를 바탕으로 질산생산 공정에 대한 순환 공정 루프를 구성하여 데이터 보정의 연구 대상으로 삼았다. 구성되어진 공정 루프에 gross error(GE)를 가한 뒤 PC(Principal Com-ponent) 테스트를 비롯하여 일반적인 gross error 검출 방법인 UV (Univariate) 테스트, MP (Maxi-mum Power) 테스트, Chi-Square 테스트 등을 적용하여 오류 검출 및 제거를 수행하고 결과를 비교 분석하였다. 특히, 데이터 보정의 방법에 적용한 PCA(Principal Com-po-nent Analysis) 방법은 임의 변수의 통계적인 표현에 근거하고 있고, 데이터의 고유치와 고유벡터를 이용하여 데이터의 분석 및 압축에 널리 이용되어지는 기법으로 여기서는 gross error 검출을 통한 데이터 보정에 이용하였다.

이론

정상상태 데이터 보정에서 제약 조건이 있는 비선형 프로그래밍 (constr-ained nonli-near programming) 문제는 아래 식 (1)과 같이 정의되어질 수 있고[4], 사용되어지는 변수는 표 1과같이 크게 4가지로 구별된다. [4]

Table . 변수의 범주에 대한 설명

범 주	표 시	설 명
0	[eqn: c ~]	모든 성분 유속이 정확하게 알려진 경우
1	[eqn: tilde x~]	모든 성분 유속이 측정되어진 경우
2	[eqn: tilde d~]	농도가 측정되어지고, 조정 가능할 때 총 유속[eqn: scale 90 N~](대각행렬)이 측정되지 않은 경우
3	[eqn: nu~]	성분 유속이 측정되지 않고, 반응[eqn: xi~]까지 확장되어 포함된 경우 총 유속이 측정되지도 알려지지도 않은 경우

[eqn: scale 90 rm { min} atop {a, delta } it F(a, delta) ~=~ a^T SIGMA_1 ^-1 a ~+~ delta^T SIGMA _d ^{-1} delta ~]	(1)

[eqn: scale 90 s.t. ~B_0 c ~+~ B_1 ( tilde x +a) ~+~ B_2 N (tilde d + delta ) ~+~ P nu~=~0~]

여기서[eqn: scale 90 SIGMA _1~]; [eqn: tilde x~]의 분산-공분산 행렬	[eqn: a`] ;  [eqn: tilde x~]에 대한 보정값 벡터

[eqn: scale 90 SIGMA _d~]; [eqn: tilde d~]의 분산-공분산 행렬	[eqn: delta`] ;  [eqn: tilde d~]에 대한 보정값 벡터

정형화된 데이터 보정 계산 과정은 다음과 같이 정리 할 수 있다.

① 공정을 분석하여 각 단위공정에 대하여 측정되는 부분([eqn: B_1`])과 측정되지 않는 부분([eqn: P`])의 수지 행렬(balance matrix)을 각각 구성한다.

② 구성된 수지 행렬을 통해 통합된 행렬을 구성하여 observability test 행함.

i)	Unobservable 부분이 존재 할 때에는, 그 필요성을 분석하여 필요한 경우에만 추가로 측정하고 ①로 간다.

ii)	그렇지 않은 경우에는 ③으로 간다. 여기서 측정 부분의 nonredundant가 존재하는 경우에는 좀 더 정밀한 측정계기를 사용하여서 gross error가 존재하지 않도록 주의하여 측정하여야한다.

③ Gross error(GE)검출을 행한다.

i)	①에서 구성한 수지행렬을 이용하여 [eqn: Y^T`]를 구한다.

ii)  측정 데이터로부터 분산-공분산 행렬을 구성한다.

iii)	잔류오차(residual) [eqn: e`]를 구하고 [eqn: e`]에 대한 분산-공분산을 구한다.

iv)	측정값에 대한 보정값 [eqn: a`] 및 [eqn: a`]의 분산-공분산 행렬 [eqn: Q`]를 구한다.

v)  원래 잔류오차 벡터(original residual vector) [eqn: r`] 및 [eqn: r`]에 대해 제로 기대값을 갖고있는 분산-공분산 행렬 [eqn: H_r `]를 구한다.

vi)	잔류오차와 원래 잔류오차, 측정값에 대하여 UV, MP, PC 테스트 및 Chi-Square 테스트 수행함

④ 위 ③의 vi)에서 행한 여러 테스트를 종합적으로 분석하여 gross errors 존재 유무를 분석한다.

i)	Gross errors가 존재하지 않는 경우 ③의 iv)에서 구한 보정값을 이용하여 데이터 보정을 행하고 데이터 보정을 끝낸다.

ii)	Gross errors가 존재하고, 검출된 gross error가 ②의 observability test에서 redundant 부분에 존재하는 경우, 검출된 gross errors를 제거하고(측정되지 않은 것으로 간주한다.), 새로이 공정을 분석한다.(go to ⑤

iii)	Gross errors가 존재하고, 검출된 gross error가 ②의 observability test에서 nonredundant 부분에 존재하는 경우, 검출된 gross errors는 측정계기의 정확성을 높여주어 제거하고, ③으로 간다.

⑤ 새로 구성된 공정에 대하여 observability test를 행한다.

i)	Unobservable 부분이 새로 생성된 경우에는 ④의 ii)와 같이 측정된 gross error를 제거해선 안되므로, 그 측정치에 대해 정확도를 향상시켜 측정하고 ①로 간다.

ii)	그렇지 않은 경우에는 ③으로 간다.

결과 및 토론

공정 모사 및 최적화를 통해 얻은 공정 데이터를 바탕으로 질산생산 공정에 대한 순환 공정 루프(그림 1.)를 구성했다. 이때 구성되어진 공정 루프의 성분흐름들 중 12개만이 측정되었다고 가정하였고(표 2.), 이 가운데 흐름 5에 있는 [eqn: scale 80 HNO_3 ^(5) `](위 첨자는 흐름을 나타낸다)에 gross error를 인위적으로 가한 뒤 이론에서 기술된 데이터 보정의 계산 방법에 의하여 gross error 검출 및 제거를 통한 데이터 보정을 수행하였다.

Fig. . 질산 생산 순환 공정 루프

Table . 유속 흐름과 성분

흐름 성분	F1	F2	F3	F4	F5	F6	F7	F8	F9
[eqn: N_2`]	U	U	U	U			U	U	U
[eqn: O_2 `]	M	M	U	U			U	U	U
[eqn: NH_3 `]	M	U
[eqn: NO`]		M	M	M			U	U	U
[eqn: H_2 O `]		M	U	U	M	M	U	U	U
[eqn: NO_2 `]		M	U	U			M	U	U
[eqn: HNO_3 `]					M

U	: 성분이 존재하나 측정 안됨

M	: 성분이 존재하고 측정됨

빈칸	: 흐름에 성분이 존재하지 않는다.

잔류오차와 원래 잔류오차, 측정값에 대하여 Chi-Square 테스트 및 UV, MP, PC 테스트를 행하여 gross error검출을 수행하였는데, 그림 2., 3.과 표 3.에는 여러 테스트 결과 중 측정값에 대한 결과를 나타내었다. 테스트는 95%의 신뢰도 하에서 행해졌으며, 한계값을 넘는 것은 gross error를 포함한다고 볼 수 있다. UV 테스트는 그림 2.에서 za로, 12개의 측정값에 대한 각각의 테스트 결과를 표현하였고, PC 테스트는 그림 2.의 ya로 표현된 Prin-cipal Com-ponent중 한계값을 넘는 PC를 선택한 뒤 그림 3.의 각 PC에대한 기여도값을 상대적으로 비교하여 gross error 검출 결과를 알 수 있는데, 두 테스트 모두 흐름 5에 있는[eqn: scale 80 HNO_3 ^(5) `] 성분흐름 즉 10번째 측정값에 gross error가 있음을 보여주고 있다.

Fig. . 측정치 보정에 대한 UV(za), PC(ya) 테스트 ( 95% 신뢰도 )

Fig. . ya3, ya4, ya5 PC에 대한 측정치 보정의 기여도 (contributions)

표 3.의 계산 결과에서 알 수 있듯이 gross error가 데이터에 존재하는 경우에는 그 gross error가 다른 데이터에까지 영향을 끼쳐 보정이 잘 이루어지지 않았다. 따라서 UV, MP, PC 테스트 결과를 비교 분석하여 검출된 gross error를 제거하고 데이터의 보정을 행한 경우에 그 보정 결과값이 gross error를 포함하고 있는 경우보다 실제 측정값에 더욱 접근했다.

Table . 가장 큰 GE 제거 전과 후의 참값과의 오차 비교

	[eqn: scale 80 O_2 ^(1)`]	[eqn: scale 80 NH_3 ^(1) `]	[eqn: scale 80 O_2 ^(2) `]	[eqn: scale 80 NO ^(2)`]	[eqn: scale 80 H_2 O ^(2)`]	[eqn: scale 80 NO_2 ^(2) `]
A	-0.5317	-1.4858	-0.0478	-0.0664	-0.1532	-0.0125
B	-0.1867	-0.1035	-0.1903	-0.0085	-0.0296	-0.0062
	[eqn: scale 80 NO ^(3)`]	[eqn: scale 80 NO ^(4)`]	[eqn: scale 80 H_2 O ^(5)`]	[eqn: scale 80 HNO_3 ^(5) `]	[eqn: scale 80 H_2 O ^(6)]	[eqn: scale 80 NO_2 ^(7) `]
A	-1.5521	0.3345	-0.2986	-1.4231	0.1318	0.2997
B	-0.1120	-0.0298	-0.0839		-0.0829	-0.0350

[eqn: scale 60 cases{ rm A ~:~ 실제~ x ~값~ #~~~~~rm-~ 보정된~ x ~값 # rm B ~: ~실제~ x ~값~ #rm~~~~~-~ 보정된 ~x~ 값~ #rm~~~~~~~~~ (Gross~ Error ~제거후) }]

더 나아가 본 연구에서는 데이터 보정을 좀더 복잡한 대상으로 확장하여 수행하였다. 우선 더 많은 gross error를 가한 경우에 gross error의 개수는 gross error 검출에 미치는 영향이 크지 않았다. 그러나 observability test를 통해 얻은 분석결과에서 상호 연관관계를 보이는 측정값들의 경우에는, gro-ss error의 검출에 있어서도 상호 연관관계를 보이기 때문에 좀 더 주의를 요하였다. 특히 이러한 상호 연관관계를 갖는 측정값들이 같은 크기의 gross error를 갖음으로써 수지식이 깨지지 않는다면, gross error검출이 어려워지는 경우도 있었다. 비교적 큰 gross error가 측정값에 포함된 경우에는 거의 모든 테스트에서 gross error 검출이 잘 수행되었고, 작은 gross error의 경우에는 PC 테스트와 Chi-Square 테스트가 비교적 좋은 결과를 나타내었다. PC 테스트를 통한 gross error의 검출에서는 측정값의 스케일링(scaling)이 문제가 되었다. 즉 성분 흐름의 측정값이 그 크기에 있어서 차이가 큰 경우에 gross error의 검출에 어려움을 겪었는데, 측정값의 분산-공분산 행렬을 이용하여 Principal Component에 대한 스케일링 보정을 행해 줘야만 좀더 나은 데이터 보정결과를 얻을 수 있었다.

감사의 글

본 연구가 이루어 지도록 특정기초 연구( □에너지 절감과 환경오염 억제를 위한 비료 산업에서의 조업 최적화 시스템 개발 연구□ )를 도와주신 한국 과학 재단에 감사 드립니다.

참고문헌

1. C. M. Crowe, Y. A. Garcia Campos and A. Hrymak, "Reconciliation of Pr-ocess Flow Rates by Matrix Projection," AIChE J., 29, pp.881-888, (1983)

2. C. M. Crowe, "Data Reconciliation-Progress and Challenges," J. Proc. Cont. 6, pp.89-98, (1996)

3. Hongwei Tong and Cameron M. Crowe, "Detection of Gross Errors in Da-ta Reconciliation by Principal Component Analysis," AIChE J., 41, pp.1712-1722, (1995)

4. Hongwei Tong, "Studies in Data Reconciliation Using Principal Component Analysis," Ph. D. Thesis, McMaster University, Hamilton, Canada, (1995)

5. V. Vaclavek, "Studies on System Engineering-III Optimal Choice of the B-alance Measurements in Complicated Chemical Engineering Systems", Ch-emical Engineering Science, 24, pp.947-955, (1969)