INSIGHT
Tech Blog
LabQ의 엔지니어들이 현장의 문제를 해결하며 얻은 기술적 경험과 R&D 인사이트를 공유합니다.
[ENGINEERING] 연속 공정에서 처치 효과와 confounder 분리하기
-
반
반세현
전임연구원
- 26.07.14
TL;DR
연속 공정에서 운전자가 제어변수를 조정한 뒤 품질 지표가 좋아졌다고 해서, 그 개선이 개입 때문이라고 단정할 수 없다. 같은 시간 동안 설비나 촉매가 자연스럽게 열화되며 품질이 함께 움직였을 수 있기 때문이다. 우리는 이 문제를 상관 기반 예측 모델을 더 정교하게 만드는 문제가 아니라, confounder(환경 변화)와 처치(의도적 개입)를 먼저 구조적으로 분리하는 인과추론 문제로 다시 정의했다. 핵심은 특정 알고리즘이 아니라 순서다 — confounder 후보를 먼저 나열하고 분리한 뒤에야 처치 효과를 말한다. 이 순서는 촉매 열화라는 한 사례에만 통하는 게 아니라, 운전 모드 전환·배치 간 잔존물·계절적 원료 변동처럼 confounder의 형태가 달라지는 다른 공정에도 그대로 재사용된다.
공개 범위
이 글은 연속식 촉매 공정에서 품질 지표를 예측하고 제어 개입을 추천하는 실제 딜리버리 프로젝트에서 출발했다. 다만 고객·사업장 식별 정보, 실제 설비·계측기 명칭과 품질 지표의 실제 명칭, 실제 품질 목표 수치와 오차 기준, 실제 운전 온도·유량 범위, 프로젝트 수행 기간과 데이터 규모, 고객사 담당자 및 협업 조직명은 의도적으로 가렸다. 이들은 기능 서술로 치환했다 — 예를 들어 실제 계측기 태그는 “제어변수”, 품질 지표의 실제 명칭과 목표 수치는 “품질 지표”로만 부른다. 이 글에서 쓰는 그림과 예시 수치는 전부 개념 설명용으로 재구성한 것이며, 실제 프로젝트의 데이터 포인트나 결과값이 아니다. 이 글이 다루지 않는 것: 실제 모델 성능(정확도/오차) 비교, 실제 배포 아키텍처, 실제 공정의 물성·안전 정보. 이 글은 인과 프레이밍을 설계하는 방법에 관한 글이다.
1. 문제: 처치와 환경 변화가 뒤섞인 연속 공정
연속식 촉매 공정에는 항상 두 개의 시간축이 동시에 흐른다.
하나는 설비와 촉매의 자연 열화다. 촉매는 가동 시간이 늘어날수록 활성이 서서히 떨어지고, 그에 따라 품질 지표도 서서히 움직인다. 이 변화는 누구도 의도하지 않았지만 항상 진행 중인 환경 변화(confounder)다.
다른 하나는 운전자의 의도적 개입이다. 품질이 목표를 벗어나려 하면 운전자는 제어변수(예: 반응 조건의 설정값)를 조정해 품질을 되돌린다. 이것이 우리가 그 효과를 알고 싶은 처치(treatment)다.
문제는 이 둘이 같은 시간 축 위에서 겹쳐서 나타난다는 점이다. 제어변수를 조정한 뒤 품질이 좋아졌다면, 그것이 조정 덕분인지, 그 시점에 마침 진행되던 열화 패턴이 원래 그렇게 움직였을 뿐인지 데이터만 보고는 구분되지 않는다. 이 둘을 분리하지 못한 채 추천 모델을 만들면, 모델은 열화로 인한 자연스러운 변화를 처치 효과로 잘못 귀속시킬 수 있다. 그 결과로 나온 추천은 실제로는 아무 효과가 없거나, 심지어 반대 방향으로 잘못된 개입을 권할 수 있다.
이것이 이 글이 답하려는 단일 질문이다. 환경 변화와 처치가 같은 시간에 겹쳐 있을 때, 어떻게 처치의 순수한 효과만 분리해서 말할 수 있는가.
2. 왜 상관 기반 접근이 부족한가
가장 먼저 검토했던 접근은 단순했다. 제어변수와 품질 지표 사이의 상관관계를 회귀나 시계열 예측 모델로 학습시키고, 그 모델이 좋다고 말하는 방향으로 제어변수를 조정하도록 추천하는 방식이다.
이 접근은 두 가지 이유로 부족했다.
첫째, 상관관계는 방향을 보장하지 않는다. 회귀 모델은 “제어변수가 오를 때 품질도 함께 올랐다”는 패턴은 잡아내지만, 그 상승이 제어변수 때문인지 confounder 때문인지는 구분하지 못한다. 관측 데이터만으로 이 둘을 가르는 것이 바로 인과추론이 다루는 문제다.
둘째, 에비던스의 강도에는 위계가 있다. 인과추론을 소개하는 대중적인 저작에서는 인과관계를 뒷받침하는 근거의 강도를 회귀·모델링, 자연실험/준실험(인과추론), 랜덤화 비교시험, 메타분석 순으로 쌓아 올리는 피라미드로 설명한다.1 우리가 다루는 연속 공정 데이터는 무작위로 개입을 배정할 수 없는 관측 데이터다. 즉 피라미드에서 가장 아래인 회귀·모델링 구간에 머물기 쉽다. 이 사실을 인정하지 않고 회귀 결과를 인과적 결론처럼 말하는 것이 바로 실패의 시작점이었다.
이 아래쪽 두 단에 머무를 때 실제로 무슨 일이 벌어지는지가 다음 그림이다.
3. 인과추론 방법론 개관
상관 기반 접근의 한계를 인정한 뒤, 우리는 통계분석·예측모델·인과추론을 구분하는 것부터 다시 짚었다.
| 구분 | 통계분석 | 예측모델 | 인과추론 |
|---|---|---|---|
| 핵심 질문 | X와 Y는 관련이 있는가? | 앞으로 무엇이 일어날 것인가? | X를 변경하면 Y는 어떻게 될까? |
| 방법론 예시 | 가설검정, ANOVA, 회귀분석 | ML/DL 모델, 시계열 예측 | 인과 그래프, 구조적 인과모델, 도구변수 |
| 한계 | 상관관계는 인과를 보장하지 않음 | 분포 변화에 취약, 블랙박스 의사결정 | 강한 가정 필요, 식별 과정이 복잡함 |
이 구분에서 시계열 인과성을 논할 때 자주 등장하는 두 갈래가 있다.
- Granger causality (예측적 인과성) — 시계열에서 X의 과거가 Y의 예측력을 유의하게 향상시키면 “X는 Y를 Granger-cause 한다”고 본다. 계산이 쉽고 널리 쓰이지만, 이름 그대로 예측력 개선을 인과로 해석하는 것이라 confounder가 있으면 쉽게 오염된다.
- 구조적 인과추론(개입적 인과성) — 인과 그래프(DAG)와 do-calculus를 기반으로 “X를 do(개입)하면 Y가 어떻게 변하는지”를 추정한다. 가정이 더 명시적이고 확인 가능하다는 장점이 있다.
구조적 인과추론으로 가려면 먼저 변수 사이의 인과 구조 자체를 데이터로부터 찾아야 한다. 대표적인 두 알고리즘이다.
- PC 알고리즘 — 완전 연결 그래프에서 시작해 조건부 독립성 검정으로 불필요한 간선을 제거하고(스켈레톤 형성), V-구조(collider)를 식별해 방향을 부여한다.
- GES 알고리즘 — 간선을 하나씩 추가하는 Forward 단계와 불필요한 간선을 제거하는 Backward 단계를 BIC/AIC 점수로 평가하며 최적 그래프를 찾는다.
- PCMCI — PC 알고리즘을 시계열로 확장한 방법으로, 동시점 링크가 없고 잠재 confounder가 없다는 가정(causal stationarity) 위에서 시차(lag) 관계를 탐색한다. 실무에서는 이 가정이 그대로 성립하지 않는 경우가 많아, 잠재 confounder를 다루는 확장판(LPCMCI) 같은 후속 연구가 이어지고 있다.2
그래프를 찾은 다음에는 그 그래프로부터 실제 효과 크기를 추정해야 한다. Microsoft의 공개 라이브러리 DoWhy는 이 과정을 네 단계로 정형화한다.3
- Model — 도메인 지식을 바탕으로 인과 그래프(가정)를 명시적으로 구성한다.
- Identify — backdoor/frontdoor 기준으로, confounder를 통제하기 위해 조정해야 할 변수 집합을 결정한다.
- Estimate — 적절한 추정기로 처치 효과를 계산한다.
- Refute — 가정을 일부러 위반해보는 여러 반증 테스트로 추정 결과가 얼마나 강건한지 검증한다.
이 네 단계에서 가장 중요한 것은 마지막 Refute다. 그래프를 그리고 효과를 추정하는 것으로 끝나지 않는다. 추정한 효과가 가정에 얼마나 민감한지 스스로 검증하지 않은 인과 추정은, 정교해 보이는 상관관계일 뿐이다.
4. 우리의 접근: confounder를 명시적으로 분리하는 인과 프레이밍
우리가 택한 경로는 confounder 후보를 먼저 구조적으로 나열하고, 처치 효과를 추정하기 전에 이를 명시적으로 분리하는 것이었다.
이 그래프가 말하는 것은 단순하다. confounder는 품질 지표에 직접 영향을 주는 동시에, 운전자가 언제 개입할지(처치의 타이밍)에도 영향을 준다. 열화가 빠르게 진행되는 시기에 개입이 잦아진다면, 처치와 confounder는 서로 얽혀 있고, 이 얽힘을 풀지 않은 채 둘의 영향을 더하면 처치 효과는 과대 또는 과소 추정된다.
우리가 검토했지만 택하지 않은 대안과 그 이유는 다음과 같다.
| 대안 | 왜 매력적인가 | 왜 택하지 않았나 |
|---|---|---|
| 단순 회귀/블랙박스 예측만으로 처방까지 생성 | 구현이 빠르고 예측 성능만 보면 그럴듯함 | confounder와 처치를 구분하지 않아, 추천의 인과적 타당성을 설명할 수 없음 |
| Granger causality만으로 인과 판단 | 계산이 가볍고 널리 쓰임 | 예측력 개선을 인과로 해석하는 방식이라 confounder에 취약 |
| 무작위 개입 실험(A/B 테스트) | 가장 신뢰도 높은 인과 근거 | 연속 공정에서 품질을 실험적으로 흔드는 것은 안전·품질 리스크가 커 현실적으로 불가능 |
결국 남는 선택은 관측 데이터 위에서 confounder를 명시적으로 다루는 구조적 인과추론이었다. 다음 절에서 이를 어떤 계층 구조로 구현했는지 설명한다.
5. 구조/워크플로
우리는 confounder 분리부터 처방까지를 세 단계로 나눴다.
각 단계 안에서는 앞서 소개한 식별-추정-반증 절차를 그대로 따른다.
이 구조에서 처방 단계는 의도적으로 가장 단순한 형태로 유지했다. 추정된 처치 효과가 confounder로부터 충분히 분리되어 있다는 확신이 없는 상태에서, 처방 로직을 복잡하게 만드는 것은 잘못된 추천을 더 정교하게 만드는 것과 같다고 판단했기 때문이다.
6. 검증 방법
인과 추정을 검증하는 가장 확실한 방법은 무작위 실험이지만, 앞서 밝혔듯 연속 공정에서는 현실적이지 않다. 대신 우리는 두 가지 방법을 병행했다.
첫째, 과거 개입 사례에 대한 반사실적 비교다. 실제로 개입이 있었던 시점에서, “confounder를 분리한 모델이 예측한 반사실(개입이 없었다면 어땠을지)”과 “실제 관측된 이후 경로”를 비교했다. 이 비교는 정답을 보장하지 않지만, confounder를 무시한 naive 모델의 반사실과 나란히 놓으면 어느 쪽이 더 일관된 설명을 주는지 판단할 근거가 된다.
둘째, DoWhy류 프레임워크가 제공하는 반증 테스트다. 가정한 그래프에 없는 무작위 confounder를 추가해도 추정치가 크게 흔들리지 않는지, 데이터를 부분집합으로 나눠도 방향이 일관되는지 같은 스트레스 테스트를 거쳤다.
두 검증 모두 “이 추정이 100% 맞다”를 증명하지 않는다. 관측 데이터 기반 인과추정은 근본적으로 불확실성을 안고 있다. 우리가 확보한 것은 “이 추정이 명백한 방식으로 틀렸다는 증거는 찾지 못했다”는 수준의 신뢰이며, 이 글에서도 그 수준 이상으로 표현하지 않는다.
7. 무엇이 깨졌는지 / 무엇을 바꿨는지
초기 접근에서는 confounder를 별도로 다루지 않았다. 제어변수와 품질 지표의 관계를 시계열 회귀로 학습시켰고, 모델은 그럴듯한 적합도를 보였다.
문제는 이 모델을 과거 데이터에 되돌려 검증할 때 드러났다. 열화가 빠르게 진행된 구간에서는 개입이 없었는데도 품질이 스스로 변하고 있었는데, 모델은 그 변화의 일부를 근처에 있던 제어변수 조정에 귀속시키고 있었다. 즉 열화로 인한 자연스러운 drift를 처치 효과로 오귀속하는 패턴이 나타난 것이다.
이 실패가 전환점이었다. 우리는 모델의 정확도를 더 높이는 방향이 아니라, confounder를 별도의 변수·구조로 명시적으로 분리하는 방향으로 설계를 바꿨다. 회귀 모델 하나를 개선하는 문제가 아니라, 애초에 무엇이 무엇의 원인인지를 먼저 구조화하는 문제로 다시 정의한 것이다. 이 전환 이후에야 confounder를 통제한 상태에서 처치 효과를 이야기할 수 있게 됐다.
8. 결과와 해석, 한계
confounder를 명시적으로 분리한 이후, 처치 효과에 대한 추정은 열화 구간과 무관하게 방향이 더 일관되게 나타났다. 이는 정량적 성능 비교가 아니라, “추정된 효과의 방향과 크기가 confounder의 상태와 함께 흔들리는가”를 기준으로 판단한 정성적 결과다.
한계도 분명하다.
- 이 추정은 관측 데이터에 기반한 준실험적 인과추론이며, 무작위 비교 시험 수준의 근거는 아니다.
- 그래프에 포함하지 않은 관측되지 않은 confounder가 있다면, 아무리 반증 테스트를 통과해도 편향은 남을 수 있다.
- 이 결과는 특정 공정·특정 기간의 데이터에서 나온 것이며, 다른 조건에서 그대로 재현된다고 단정하지 않는다.
우리가 “적용했다”고 말할 수 있는 것은 confounder를 분리하는 프레이밍과 그 검증 절차이며, “완전히 검증됐다”거나 “성능이 개선됐다”는 표현은 이 글에서 쓰지 않는다.
이 문제가 우리만의 특수한 사례는 아니다. 설비 열화 추적에 인과 발견을 적용한 연구들도 동적으로 변하는 시스템에서 confounder를 어떻게 다룰지를 핵심 난제로 다룬다.4 예방적 유지보수를 위한 인과 지식 발견 프레임워크 역시 같은 문제의식 위에 있다.5
9. 일반화된 패턴
이 작업에서 재사용 가능한 교훈은 하나로 압축된다.
연속 공정 데이터에서 “이걸 조정했더니 좋아졌다”는 상관 서사를 인과 프레이밍 없이 그대로 믿지 않는다. confounder 후보를 먼저 구조적으로 나열하는 습관이, 처치효과 추정보다 먼저 와야 한다.
이 습관은 촉매 열화 같은 “느린 환경 변화”에만 통하는 게 아니다. confounder의 형태가 달라져도 — 운전 모드·레시피 전환, 배치 간 잔존물, 계절적 원료 변동 등 — “먼저 나열하고 분리한 뒤에 처치 효과를 말한다”는 순서 자체는 공정 유형에 무관하게 재사용된다. 다음 절에서 이를 좀 더 구체적인 패턴으로 풀어본다.
10. 다른 공정에도 통하는 패턴 10가지
confounder를 분리한다는 원칙은 하나지만, 그것을 실무에 옮기는 방법은 공정마다 다르다. 아래는 센서 구조와 규모가 다른 여러 공정에 인과분석을 적용해보면서 반복적으로 확인한, 공정 유형에 무관하게 재사용 가능한 패턴이다.
| # | 패턴 | 왜 필요한가 | 다른 공정에 적용할 때 |
|---|---|---|---|
| 1 | 도메인 지식을 탐색 전 제약으로 주입 | 센서가 많아질수록 쌍별 탐색이 조합적으로 폭증하고 스퓨리어스 링크도 늘어남 | 물리적으로 불가능한 방향과 공정 순서를 먼저 배제하면, 어떤 공정이든 탐색 공간을 사전에 줄일 수 있다 |
| 2 | 여러 인과 발견 알고리즘의 앙상블 | 전이엔트로피, Granger causality, PC 알고리즘은 서로 다른 가정과 사각지대를 가짐 | 한 알고리즘의 결과만 믿지 않고, 여러 방법이 동시에 지지하는 링크만 신뢰한다 |
| 3 | 자기회귀 잔차화 후 인과 탐지 | 시계열은 스스로의 과거값에 의존(momentum)해서, 이를 제거하지 않으면 가짜 인과가 잡힘 | confounder 분리 이전에, 각 변수의 자기상관을 먼저 제거하는 전처리가 필요하다 |
| 4 | 다중 해상도 데이터 정렬 | 공정 센서와 품질 측정치의 샘플링 주기가 다른 문제는 대부분의 연속 공정에서 발생 | 배치식·연속식 공정 모두에서 “언제 관측했는가”를 통일하는 절차가 인과분석보다 먼저 와야 한다 |
| 5 | 운전 모드 클러스터링 후 모드별 분리 분석 | 서로 다른 운전 조건을 한데 섞어 분석하면 평균 효과가 왜곡됨 | 운전 모드 자체가 또 하나의 confounder 후보라는 인사이트 — 제품 전환, 부하 변동이 있는 모든 공정에 적용 가능 |
| 6 | 계층적 그룹화로 고차원 축소 후 그룹 단위 분석 | 개별 센서 단위 인과추정은 노이즈에 취약하고 해석도 어려움 | 물리적으로 연관된 센서를 블록으로 묶어 그룹 수준에서 먼저 보고, 필요할 때만 개별 센서로 내려간다 |
| 7 | lag 프로파일 진단 | “신호가 없다”와 “lag를 잘못 짚었다”를 구분하지 못하면 잘못된 결론을 냄 | 인과탐지가 실패했을 때 방법론 문제인지 실제로 관계가 없는지 구분하는 디버깅 절차 |
| 8 | 대규모 변수에서의 계산 엔지니어링 | 통계적으로 타당한 방법도 변수가 많아지면 계산량이 감당 안 됨 | 인과추론은 통계 문제이자 계산 최적화 문제이며, 이는 실무 배포 가능성을 좌우한다 |
| 9 | 합성 데이터로 ground truth 검증 후 실데이터 적용 | 실제 공정 데이터는 정답을 모르기 때문에 방법론 신뢰도를 검증할 방법이 없음 | 알려진 인과구조를 가진 합성 데이터로 파이프라인을 먼저 검증하는 습관은 모든 공정에 옮길 수 있다 |
| 10 | 타겟 기준 n-hop 서브그래프로 시각화 범위 제한 | 센서가 많으면 전체 인과 그래프는 사람이 읽을 수 없다 | 관심 있는 품질 지표를 중심으로 몇 단계 이내만 보여주면 어떤 공정의 인과 그래프든 해석 가능해진다 |
이 중 패턴 5는 이 글의 핵심 주제와 정확히 같은 계열의 통찰이다. confounder는 하나가 아니라 여러 개일 수 있고, 그중 하나가 운전 모드·레시피·제품 전환일 수 있다는 것이다.
11. 실무 체크리스트
- □처치(개입)와 confounder(환경 변화) 후보를 각각 목록으로 나열했는가
- □confounder가 처치의 타이밍에도 영향을 주는지(둘이 얽혀 있는지) 확인했는가
- □상관/회귀 결과를 인과적 결론처럼 표현하지 않았는가
- □인과 그래프의 가정을 명시적으로 적어두었는가(Model 단계)
- □조정해야 할 변수 집합을 backdoor/frontdoor 기준으로 결정했는가(Identify 단계)
- □추정 결과에 반증 테스트를 적용했는가(Refute 단계)
- □센서/변수가 많다면 도메인 지식으로 탐색 공간을 먼저 줄였는가
- □여러 인과 발견 알고리즘의 결과가 일치하는 링크만 신뢰했는가
- □운전 모드·레시피·제품 전환처럼 눈에 보이지 않는 confounder가 더 있는지 재검토했는가
- □관측 데이터 기반 추정의 한계(무작위 실험이 아니라는 점)를 결과에 명시했는가
12. 참고 자료
- 회귀·모델링을 가장 낮은 근거 수준으로, 메타분석을 가장 높은 근거 수준으로 보는 피라미드 구조는 인과추론을 다루는 경제학 대중서에서 흔히 쓰이는 설명 방식을 재구성한 것이며, 특정 도서의 표를 그대로 전재하지 않았다.
- Runge, J., Causal Inference for Time Series — PCMCI·causal stationarity·LPCMCI 서술의 참고 자료.
- Sharma, A. & Kiciman, E., DoWhy: An End-to-End Library for Causal Inference, arXiv:2011.04216. Model → Identify → Estimate → Refute 4단계와 backdoor/frontdoor 기준, Refuter API는 이 논문과 PyWhy 공개 문서를 재구성해서 소개했다.
- Interpretability of Causal Discovery in Tracking Deterioration in a Highly Dynamic Process (PMC) — 설비 열화 추적에서의 인과 발견과 confounder 문제를 다룬 연구.
- A causal knowledge discovery framework as an enabler for equipment prescriptive maintenance — 설비 예방정비를 위한 인과 지식 발견 프레임워크.
- 이전글expand_less
- 표준 지표의 함정
- 다음글expand_more
- 안전한 LLM 서비스 설계: 'Kanana Safeguard' 도입





