D-최적 설계

편집 역사 토론
통계 최적설계 시뮬레이션 마지막 수정: 2026-08-14 04:34:09

1. 개요[편집]

D-최적 설계
D-optimal Design
기준det M(ξ) 최대화 (M = 정보행렬)
기하학적 의미신뢰타원체의 부피 최소화
핵심 정리Kiefer–Wolfowitz 등가정리 (1960)
등가 기준G-최적 (최대 예측분산 최소화)
대표 알고리즘Fedorov 교환 · 좌표교환(1995)
불변성설계변수 선형 재척도에 불변
전제모형 형태를 이미 알고 있어야 한다

D-최적 설계(D-optimal design)는 가정한 모형의 피셔 정보 행렬 — 선형 모형이면 XX\mathbf{X}^\top\mathbf{X} — 의 행렬식을 최대화하도록 실험점을 배치하는 실험 설계다. 알파벳 최적성이라 불리는 기준들 중 가장 널리 쓰이며, 이름의 D는 determinant에서 왔다.

실험계획법 문서가 요인설계·직교성 같은 고전적 설계 틀을 다룬다면, 여기서 시작하는 이야기는 그 틀이 쓸 수 없는 상황에서 출발한다. 설계 영역이 제약으로 찌그러졌거나(온도와 압력의 특정 조합은 장비가 못 견딘다), 예산이 딱 17회분뿐이라 2k2^{k} 로 안 떨어지거나, 모형에 2차항 일부만 넣고 싶을 때 — 표준 설계표에는 답이 없다. 그때 “그럼 좋은 설계란 무엇인가”를 스칼라 하나로 정의하고 컴퓨터에게 찾게 하는 것이 최적 설계이고, 그 스칼라의 국룰이 det\det 다.

2. 왜 하필 행렬식인가[편집]

선형 모형 y=Xβ+ε\mathbf{y} = \mathbf{X}\boldsymbol\beta + \boldsymbol\varepsilon, Var(ε)=σ2\mathrm{Var}(\varepsilon)=\sigma^2 에서 최소자승법 추정량의 공분산은 σ2(XX)1\sigma^2(\mathbf{X}^\top\mathbf{X})^{-1} 이다. 신뢰영역은 타원체

(ββ^)XX(ββ^)cσ2(\boldsymbol\beta - \hat{\boldsymbol\beta})^\top \mathbf{X}^\top\mathbf{X} (\boldsymbol\beta - \hat{\boldsymbol\beta}) \le c\sigma^2

이고, 이 타원체의 부피는 (detXX)1/2(\det \mathbf{X}^\top\mathbf{X})^{-1/2} 에 비례한다. 그러므로

maxdet(XX)    min (신뢰타원체 부피)\max \det(\mathbf{X}^\top\mathbf{X}) \iff \min\ \text{(신뢰타원체 부피)}

가 된다. 행렬을 “크게” 만드는 스칼라 요약이 여럿인데도 행렬식이 표준이 된 이유는 이 기하학적 해석이 명확하고, 덤으로 모수의 선형 재매개변수화에 대해 순위가 불변이기 때문이다. βAβ\boldsymbol\beta \to \mathbf{A}\boldsymbol\beta 를 하면 모든 설계의 det\det(detA)2(\det\mathbf{A})^{-2} 배로 똑같이 곱해지므로 최적해가 바뀌지 않는다. 대각합을 쓰는 A-최적이나 최대 고유값을 누르는 E-최적에는 없는 성질이라, “단위를 mm로 쓰냐 m로 쓰냐에 따라 최적 설계가 달라지는” 사고를 원천 봉쇄한다.1

설계끼리 비교할 때는 모수 개수 pp 로 정규화한 D-효율을 쓴다.

EffD=(detM1detM2)1/p\mathrm{Eff}_D = \left(\frac{\det \mathbf{M}_1}{\det \mathbf{M}_2}\right)^{1/p}

1/p1/p 승을 씌우는 이유는 det\detpp 차 동차라 그대로 두면 모수 개수가 다른 문제끼리 눈금이 안 맞기 때문이다. 다른 기준들과의 대조는 크라메르-라오 하한 문서에 요약돼 있다 — A는 분산의 합, E는 최악 방향, G는 최대 예측분산, I는 평균 예측분산이다.

3. 근사 설계 — 조합 문제를 볼록 문제로[편집]

NN 개 실험점을 후보 집합에서 고르는 문제는 조합 최적화이고, 일반적으로 다루기 어렵다. 키퍼가 도입한 우회로는 설계를 점의 목록이 아니라 확률측도로 보는 것이다. 설계 영역 X\mathcal{X} 위의 측도 ξ\xi 에 대해 정보행렬을

M(ξ)=Xf(x)f(x)ξ(dx)\mathbf{M}(\xi) = \int_{\mathcal{X}} \mathbf{f}(x)\,\mathbf{f}(x)^\top\, \xi(dx)

로 정의한다(f(x)\mathbf{f}(x) 는 그 점에서의 모형 기저벡터). M\mathbf{M}ξ\xi선형 함수이고 logdet\log\det 는 양정부호 행렬 위에서 오목하므로, maxξlogdetM(ξ)\max_\xi \log\det\mathbf{M}(\xi) 는 확률측도들의 볼록집합 위의 볼록 최적화 문제가 된다. 국소최적이 곧 전역최적이고, 내점법이나 승수 알고리즘으로 풀린다.

공짜는 아니다. 근사 설계의 답은 “점 x1x_1 에 가중치 0.31, x2x_2 에 0.24…” 같은 비율이라, 실험 횟수 17회에 배분하려면 반올림해야 하고 그 순간 최적성이 약간 깨진다. 그래도 이 이론이 주는 두 가지가 실무에서 압도적으로 유용하다. 하나는 다음 절의 등가정리이고, 다른 하나는 카라테오도리 정리에 의해 최적 설계의 지지점 개수가 p(p+1)/2p(p+1)/2 이하라는 상한이다. 모수 5개짜리 모형이라면 아무리 넓은 설계 영역이라도 서로 다른 실험 조건 15개면 충분하다는 뜻이다.

4. 등가정리 — D-최적은 곧 G-최적[편집]

키퍼와 울포위츠(1960)의 결과는 최적 설계 이론에서 가장 자주 인용되는 정리다. 표준화 예측분산

d(x,ξ)=f(x)M(ξ)1f(x)d(x,\xi) = \mathbf{f}(x)^\top \mathbf{M}(\xi)^{-1}\mathbf{f}(x)

에 대해 다음 세 명제가 동치다.

  1. ξ\xi^*detM\det\mathbf{M} 을 최대화한다 (D-최적).
  2. ξ\xi^*maxxXd(x,ξ)\max_{x\in\mathcal{X}} d(x,\xi) 를 최소화한다 (G-최적).
  3. maxxXd(x,ξ)=p\max_{x\in\mathcal{X}} d(x,\xi^*) = p 이다.

첫 두 명제가 같다는 것부터가 놀랍다. “모수를 정밀하게 추정하기”와 “설계 영역 어디서나 예측이 정확하기”가 같은 설계에서 동시에 달성된다. 서로 다른 목표를 절충해야 할 것 같은 두 요구가 D 기준에서는 충돌하지 않는다.

3번은 실무자에게 더 값지다. 최적성의 증명서이기 때문이다. 알고리즘이 뱉은 설계를 받아서 d(x,ξ)d(x,\xi) 를 설계 영역 전체에 그려 보고, 어디서도 pp 를 넘지 않으며 지지점에서 정확히 pp 에 닿으면 그것은 최적해다. 어딘가 d>pd > p 인 봉우리가 있으면 그 봉우리가 곧 다음에 추가해야 할 실험점을 가리킨다. 그래서 고전적 알고리즘(웨인 1970)은 그냥 ”dd 가 최대인 점에 가중치를 조금 옮긴다”를 반복하는 것이고, 이는 프랭크-울프 방법의 특수한 경우로 읽힌다.

i\sum_i 가중치 ×d(xi,ξ)=p\times\, d(x_i,\xi) = p 라는 항등식도 함께 기억해 둘 만하다. 예측분산의 가중 평균이 항상 모수 개수라는 뜻이라, 최댓값이 pp 에 도달했다는 것은 곧 모든 지지점의 dd 가 같아졌다는 것이다.

5. 교환 알고리즘 — 실제 설계는 조합 문제로 돌아온다[편집]

실무의 요구는 대개 “정확히 NN 회짜리 설계표를 내놔”이므로 결국 조합 문제를 푼다. 여기서 계산을 가능하게 하는 것이 행렬식 보조정리다.

det(M±ff)=det(M)(1±fM1f)\det(\mathbf{M} \pm \mathbf{f}\mathbf{f}^\top) = \det(\mathbf{M})\,\bigl(1 \pm \mathbf{f}^\top\mathbf{M}^{-1}\mathbf{f}\bigr)

즉 점 하나를 넣거나 빼면 행렬식이 (1±d(x))(1\pm d(x)) 배가 된다. M1\mathbf{M}^{-1} 만 들고 있으면 후보 하나 평가가 O(p2)O(p^2) 로 끝나므로, det\det 를 매번 다시 계산할 때의 O(p3)O(p^3) 이나 설계 전체 재적합을 피할 수 있다. 페도로프(1972)의 교환 알고리즘은 이 위에서 돌아간다. 현재 설계의 점 xix_i 를 후보 xjx_j 로 바꿀 때의 이득이

Δ(i,j)=d(xj)[d(xi)d(xj)d(xi,xj)2]d(xi)\Delta(i,j) = d(x_j) - \bigl[d(x_i)\,d(x_j) - d(x_i,x_j)^2\bigr] - d(x_i)

로 닫힌 형태로 나오고(d(x,y)=f(x)M1f(y)d(x,y)=\mathbf{f}(x)^\top\mathbf{M}^{-1}\mathbf{f}(y)), 행렬식은 정확히 (1+Δ)(1+\Delta) 배가 된다. 이득이 최대인 교환을 계속 수행하다 개선이 없으면 멈춘다.

  • DETMAX(미첼 1974)는 한 번에 하나씩 교환하는 대신 ”kk 개 추가 후 kk 개 삭제”의 여행을 허용해 지역해를 덜 탄다.
  • 좌표교환(마이어-나흐트샤임 1995)은 후보 집합 자체를 없앤다. 연속 인자가 여럿이면 후보 격자를 만드는 것부터가 차원의 저주라, 설계표의 한 칸(런 하나의 인자 하나) 만 놓고 최적값을 찾는 1차원 탐색을 표 전체에 대해 순회한다. 요즘 상용 소프트웨어의 기본 엔진이 대개 이쪽이다.
  • 어느 쪽이든 비볼록이라 초기 설계에 따라 다른 곳에 갇힌다. 무작위 시작점을 수십~수백 번 돌려 최고를 취하는 것이 표준 관행이고, 재현이 필요하면 난수 시드를 기록해야 한다.

6. 비선형 모형과 컴퓨터 실험[편집]

비선형 모형에서는 순환이 생긴다. 정보행렬 M(θ)\mathbf{M}(\theta) 가 미지의 θ\theta 에 의존하므로, 최적 설계를 짜려면 답을 이미 알아야 한다. 대응은 세 갈래다. 초기 추정값을 꽂아 넣는 국소 최적 설계(체르노프 1953), 사전분포에 대해 logdetM(θ)\log\det\mathbf{M}(\theta) 를 평균하는 베이즈 D-최적 설계, 그리고 실험을 진행하며 갱신하는 순차 설계. 마지막 것이 베이지안 최적화의 획득함수와 만나는 지점이다.

컴퓨터 실험으로 오면 이야기가 더 갈린다. D-최적 설계는 모형 형태를 이미 안다는 전제 위에 서 있는데, 대리 모델을 세우는 단계에서는 그 전제가 없다. 그래서 실제로 벌어지는 일은 다음과 같다.

D-최적 설계공간 채움 설계
전제모형 기저를 지정모형 미지
점의 위치설계 영역 경계·꼭짓점에 몰림내부까지 고르게
반복점허용 (오차 추정에 유용)무의미 (결정론적 코드)
강한 상황제약으로 찌그러진 영역, 물리 실험크리깅·가우시안 프로세스 대리 모델
대표Fedorov·좌표교환라틴 하이퍼큐브 표본추출, 소볼 수열

D-최적 설계가 점을 가장자리에 몰아넣는다는 성질이 결정적이다. 1차 모형이면 각 인자의 양 끝 두 점만 쓰는 것이 최적인데, 그러면 곡률이 있어도 영영 못 본다. 즉 가정한 모형이 옳다는 조건에서만 최적이고, 적합결여(lack of fit)를 진단할 여지를 스스로 없앤다. 전산유체역학이나 유한요소법 해석을 표본점으로 쓰는 상황에서 이건 치명적이다 — 반응면이 어떻게 생겼는지 모르기 때문에 표본을 뿌리는 것이니까. 그래서 전산 실험의 기본값은 공간 채움이다.

그렇다고 두 세계가 무관한 것도 아니다. 가우시안 프로세스 대리 모델에서 상관행렬 K\mathbf{K} 의 행렬식을 최대화하는 설계(슈어리-윈 1987의 최대 엔트로피 표본추출)는 형식적으로 D 기준과 같은 꼴인데, 이때 나오는 답은 오히려 공간을 고르게 채운다. 상관함수가 가까운 점끼리는 정보가 겹친다고 말해 주기 때문이다. “행렬식 최대화 = 가장자리 몰림”은 D 기준의 성질이 아니라 선형 모형이라는 가정의 성질이었던 것. 실무 처방도 여기서 나온다. 모형 형태를 정말 아는 물리 실험이면 D-최적, 모른 채로 반응면을 배우는 중이면 공간 채움, 제약이 심한 영역에서 공간 채움을 하고 싶으면 제약을 만족하는 후보 위에서 최대엔트로피/최대최소 기준을 쓴다.

7. 실무의 함정[편집]

  • 인자를 반드시 부호화하라. det\det 는 척도에 민감하다. 온도 300400 K와 압력 12 bar를 원단위로 넣으면 온도 열이 행렬식을 지배해 설계가 망가진다. 모든 인자를 [1,1][-1,1] 로 선형 변환하고 시작하는 것이 국룰이다.
  • 모형에 없는 항은 설계도 못 지킨다. 2인자 교호작용을 모형에 안 넣으면 알고리즘은 그것을 추정할 이유가 없고, 결과 설계는 그 항과 다중공선성에 가깝게 엮인다. 나중에 항을 추가하면 그 순간 설계행렬이 거의 특이해진다. 의심되는 항은 설계 단계에서 넣어 두는 것이 유일한 방어다.
  • 효율 비교의 조건. D-효율은 같은 모형·같은 실험 횟수일 때만 의미가 있다. 런 수가 다르면 런당으로 정규화하고, 모형이 다르면 아예 비교하지 않는다.
  • 최적화가 대체할 수 없는 것. 랜덤화·블록화는 D 기준이 신경 쓰지 않는다. 시간에 따라 표류하는 요인이 있으면 아무리 det\det 가 커도 결과가 오염된다. 최적 설계는 실험계획법의 세 원칙을 대체하는 것이 아니라 그 위에 얹는 것이다.2
  • 다구치식 직교 배열과의 관계. 제약이 없고 인자 수준이 균형 잡힌 표준 상황에서는 고전적 직교 설계가 이미 D-최적이거나 그에 매우 가깝다. 최적 설계 알고리즘은 표준 상황을 개선하는 도구가 아니라 표준 설계가 존재하지 않는 상황을 구제하는 도구다.3

8. 관련 문서[편집]

9. Footnotes[편집]

  1. A-최적이나 E-최적은 “분산의 합”이나 “최대 고유값”을 다루므로 모수의 단위가 섞이면 사과와 오렌지를 더하게 된다. 길이 모수와 각도 모수를 함께 추정하는 문제에서 A-최적 설계를 mm 기준으로 짜느냐 m 기준으로 짜느냐에 따라 답이 달라지는 것을 처음 보면 꽤 당황스럽다. D 기준만 이 시비에서 자유롭다.

  2. 최적 설계표를 실험 담당자에게 넘기면 “왜 이런 이상한 조합만 반복하냐”는 말을 듣는다는 점에서는 고전적 DOE와 처지가 같다. 다만 이쪽은 설명이 한 단계 더 어렵다. 직교성은 그림으로 그려 보일 수 있지만 행렬식은 그렇지 않다.

  3. 그래서 “최적 설계 소프트웨어를 샀으니 이제 요인설계는 몰라도 된다”는 태도가 가장 위험하다. 알고리즘은 사용자가 적어 준 모형에 대해서만 최적이고, 그 모형을 적는 일이 실은 실험계획의 90%다. 컴퓨터가 대신 해 주는 것은 나머지 10%의 조합 탐색뿐이다.