1. 개요[편집]
소볼 지수(Sobol index)는 모형의 출력 분산을 각 입력 변수와 그 조합의 기여로 쪼개, “출력이 흔들리는 이유 중 몇 %가 이 입력 탓인가”를 분산의 언어로 정량화하는 전역 민감도 지표다. 러시아 수학자 일리야 소볼이 1990년대에 정립했고, 분산 기반(variance-based) 전역 민감도 분석의 사실상 표준이 됐다.
민감도 해석 문서에서 짚은 국소/전역 구분을 떠올리면 위치가 명확하다. 국소 민감도가 “지금 이 설계점에서의 기울기 “를 묻는다면, 소볼 지수는 입력이 각자의 확률분포 전체에 걸쳐 요동칠 때 출력 분산에 누가 얼마나 책임이 있는지를 묻는다. 그래서 소볼 지수는 불확실성 정량화의 핵심 도구이며, 미분이 아니라 몬테카를로 방법에 기댄다.1
2. 분산 분해와 ANOVA[편집]
출력 이고 입력들이 서로 독립이라고 하자. 소볼의 출발점은 함수를 조건부 기댓값들의 합으로 유일하게 쪼개는 고차원 모형 표현(HDMR) 또는 함수적 ANOVA 분해다.
각 항의 기댓값이 0이고 서로 직교하도록 잡으면, 양변의 분산을 취했을 때 교차항이 전부 사라지면서 총분산이 깔끔하게 분해된다.
여기서 는 하나만 알았을 때 줄어드는 분산이다. 이걸 총분산으로 나눈 것이 그 유명한 1차 소볼 지수다.
는 ” 를 그 진짜 값으로 고정하면 평균적으로 분산이 몇 % 줄어드나”로 읽힌다. 가 다른 변수와 손잡지 않고 혼자 만들어내는 **주효과(main effect)**의 몫이다.
3. 1차 지수와 총 효과 지수[편집]
1차 지수만 보면 함정에 빠진다. 어떤 변수는 혼자서는 아무 영향이 없지만 다른 변수와 엮일 때만 출력을 흔든다. 실험계획법에서 강조하는 교호작용(interaction)이 여기서도 주인공이다. 그래서 소볼은 **총 효과 지수(total-effect index)**를 함께 정의했다.
는 ” 를 뺀 나머지 전부”를 뜻한다. 는 가 관여하는 모든 항(주효과 + 모든 차수의 교호작용)을 통째로 합산한 값이라, 항상 다. 둘의 관계를 읽는 법은 이렇다.
- : 그 변수는 다른 변수와 거의 안 엮인다. 독립적으로 작동.
- : 혼자서는 별것 아닌데 교호작용으로만 영향을 준다. 함부로 고정하면 안 된다.
- : 모형이 사실상 가법적(additive)이라 교호작용이 거의 없다.
실무 판정은 대개 두 지표를 한 그래프에 나란히 세워 본다. 인 변수는 고정(fixing) 대상 후보다. 그 변수를 상수로 박아 차원을 줄여도 출력 분산이 거의 안 변한다는 뜻이니, 후속 반응표면법이나 최적화의 차원을 낮추는 데 직접 쓰인다.2
4. 몬테카를로 추정과 Saltelli 샘플링[편집]
정의는 아름답지만, 조건부 기댓값의 분산을 직접 적분하는 건 고차원에서 불가능하다. 그래서 실무에서는 표본으로 추정한다. 순진하게 이중 루프(바깥에서 뽑고 안에서 나머지 뽑아 평균)를 돌리면 표본 수가 로 폭발한다. Saltelli가 정리한 행렬 트릭이 이 비용을 극적으로 줄인다.
독립인 두 표본 행렬 와 를 각각 행씩 만들고, 의 번째 열만 의 것으로 갈아끼운 행렬 를 만든다. 그러면 지수들이 세 행렬의 함수 평가 곱으로 추정된다.
이 방식이면 총 함수 평가 횟수가 로 선형이다. 표본은 순수 난수보다 소볼 수열 같은 저불일치(low-discrepancy) 수열로 뽑는 게 국룰인데, 이름이 겹치는 건 우연이 아니라 둘 다 같은 소볼의 작품이다. 준몬테카를로 표본을 쓰면 수렴이 에 가까워져, 순수 난수의 보다 훨씬 빠르다.3
정확도의 대가는 크다. 변수 20개짜리 문제에서 신뢰할 만한 지수를 얻으려면 함수 평가가 수만~수십만 번 필요한데, 한 번이 몇 시간짜리 전산유체역학 해석이라면 이건 그냥 재앙이다. 그래서 현실에서는 대리 모델(크리깅·다항 카오스 전개)을 먼저 학습시키고, 소볼 지수는 그 값싼 대리 모델 위에서 뽑는다. 특히 **다항 카오스 전개(PCE)**는 계수만 알면 소볼 지수를 적분 없이 해석적으로 읽어낼 수 있어, 분산 기반 민감도 분석의 단짝으로 통한다.
5. 쓸 때 조심할 것[편집]
- 입력 독립 가정. 표준 소볼 분해는 입력들이 서로 독립일 때만 분산이 깔끔하게 쪼개진다. 상관된 입력에는 Shapley 효과 같은 확장 지표를 써야 한다. 상관을 무시하고 계산하면 지수 합이 1을 안 맞추며 조용히 틀린다.
- 분산이 전부는 아니다. 소볼은 2차 모멘트만 본다. 출력 분포가 심하게 치우쳤거나 꼬리 위험이 중요한 문제(파괴 확률 등)라면 분산만으로는 이야기가 안 끝난다.
- 음수 지수. 표본이 부족하면 추정값이 살짝 음수로 나오는데, 이건 물리가 아니라 몬테카를로 잡음이다. 0으로 잘라 읽되 표본을 늘리라는 신호로 받아들이면 된다.
- 모리스 스크리닝과의 분업. 변수가 수십 개면 곧장 소볼로 가지 말고, 값싼 모리스(elementary effects) 스크리닝으로 무시할 변수부터 쳐낸 뒤 남은 소수에 소볼을 정밀 적용하는 2단 전략이 정석이다.
6. 관련 문서[편집]
7. Footnotes[편집]
-
소볼 지수가 “분산 기반”이라는 꼬리표를 달고 다니는 이유는, 민감도를 미분(국소 기울기)이 아니라 분산의 분해로 정의하기 때문이다. 덕분에 비선형이 심하거나 불연속인 모형에서도 통하고, 미분 가능성 따위는 요구하지 않는다. 대신 표본을 CPU에 갈아넣는다. 세상에 공짜는 없다. ↩
-
이면 정말 안심하고 고정해도 되지만, 인데 가 큰 변수를 고정하면 큰일 난다. “1차 지수가 0이니 안 중요하네”라고 지레짐작해 변수를 날렸다가 교호작용이 통째로 사라져 최적화가 산으로 가는 사고가 실제로 잦다. ↩
-
저불일치 수열의 소볼(Ilya M. Sobol’)과 소볼 지수의 소볼은 동일 인물이다. 한 사람이 준몬테카를로 표본법과 분산 기반 민감도 지표를 둘 다 만들었으니, 이 바닥에서 그의 이름이 두 번 나오는 건 표절이 아니라 실적이다. ↩