소개
DOE의 공간 채움 설계 시리즈에 다시 오신 것을 환영합니다! 1부에서는 공간 채움 설계의 기본 원리와 일반적인 유형을 살펴보았습니다. 이제 비교 연구의 핵심인 다양한 시나리오에서 이러한 설계를 평가하고 비교할 수 있는 견고한 프레임워크를 구축하는 단계로 넘어가겠습니다.
비교 연구 프레임워크
공간 활용 설계를 공정하게 평가하려면 표준화된 조건과 의미 있는 지표가 필요합니다. 본 연구에서 제시하는 접근 방식은 다양한 성능 차원을 기준으로 설계를 평가합니다.
- 답변
공간 범위 측정/균일성 응답
- 오차: 이론적인 균일 분포와의 편차를 측정하는 지표입니다. 목표는 설계에서 생성된 분포와 각 요인에 대한 균일 분포 간의 차이를 최소화하는 것입니다. 오차 반응을 통해 설계점 재분포의 공간적 범위와 균일성을 평가할 수 있습니다. 오차가 낮을수록 설계점 재분포가 더 균일하고(실험 공간의 범위가 더 넓음) 우수합니다.
요소 입력 및 설계 유형 선택이 완료되면 설계 진단 패널에서 차이 값을 확인할 수 있습니다(그림 1).
그림 1: 공간 채움 설계 패널. 20회 실행을 통해 두 가지 요인에 대한 신속하고 유연한 채움 설계의 설계 진단 결과입니다. 설계 생성 후 설계 진단 패널에 오차(빨간색)와 MaxPro(파란색) 값이 표시됩니다.
불일치 값과 설계 지점 간 거리와의 관계를 더 잘 이해하기 위해 6가지 요인에 대해 각각 60회 실행한 두 가지 공간 채움 설계(라틴 하이퍼큐브 및 빠른 유연 채움)를 비교해 보겠습니다(그림 2).

그림 2: 빠른 유연 채우기와 라틴 하이퍼큐브 설계에 대한 점 사이의 최소 거리 시각화.
두 설계의 점 간 최소 거리를 비교해 보면, 라틴 하이퍼큐브 설계가 설계점 간 최소 거리 값의 분포가 매우 좁다는 것을 분명히 알 수 있습니다. 이러한 특성은 특정 차원과 점의 개수에서 라틴 하이퍼큐브 설계가 고속 유연 채우기 설계보다 더 나은 판별력을 보여준다는 것을 나타냅니다. 즉, 설계점이 균일하게 분포되어 점 간 최소 거리가 안정적으로 유지되는 것입니다.
투영 속성 응답
- MaxPro: 모든 가능한 요소 부분집합에 대한 투영에서 공간 채움 속성을 평가합니다. 목표는 MaxPro 기준을 최소화하여 모든 차원에서 점 사이의 거리가 최대가 되도록 함으로써 설계점이 더 낮은 차원의 공간에 잘 투영되도록 하는 것입니다. 따라서 이 기준을 성공적으로 최소화하는 유일한 방법은 어떤 차원에서도 두 점이 동일한 좌표값을 공유하지 않도록 하는 것입니다.
공간 채우기 플랫폼에 요소를 입력하고 설계 유형을 선택하면 설계 진단 패널에서 MaxPro 값을 확인할 수 있습니다(그림 1).
MaxPro 통계는 구형 패킹 설계에서 한 차원에 대해 동일한 값을 가질 수 있기 때문에 정의되지 않습니다.
MaxPro 값과 설계의 투영 속성 간의 관계를 더 잘 이해하기 위해, 6개의 요인에 대해 각각 60회 실행한 두 가지 공간 채움 설계(라틴 하이퍼큐브와 고속 유연 채움)를 비교해 보겠습니다.
이 두 공간 채움 디자인의 디자인 포인트를 2차원으로 투영하면 투영상의 차이점을 비교할 수 있습니다(그림 3).
그림 3: 6개의 요인과 60회의 실행을 사용한 두 가지 공간 채움 설계의 투영 속성 시각화. 라틴 하이퍼큐브 시나리오에서는 Waern 링크가 모든 설계 지점을 실제 근접성을 기반으로 연결하지만, 빠른 유연 채움 설계에서는 그렇지 않다는 점에 유의하십시오.
왼쪽의 라틴 하이퍼큐브 설계에서 설계점 사이의 거리는 균일하고 작습니다. 이처럼 설계점 사이의 거리가 작고 균일하면 모든 투영면에서 점들이 분산되는 정도가 줄어들어 MaxPro 기준값이 높아집니다. 오른쪽의 빠른 유연 충전 설계에서는 설계점 사이의 거리가 불균일하고 더 크므로, 더 적은 차원으로 투영될 때 점들이 붕괴될 위험이 낮아집니다.
표본 크기가 다를 경우, 오차와 MaxPro 값은 강한 음의 상관관계를 보입니다. 오차가 매우 낮은 설계라도 MaxPro 값이 높게 나타날 수 있는데, 이는 표본 크기가 크기 때문에 설계점 사이의 거리가 작아져 저차원 공간에서 이러한 점들이 서로 가까워질 위험이 커지기 때문입니다. 따라서 오차와 MaxPro 기준은 주로 동일한 표본 크기를 가진 여러 설계를 비교할 때 사용됩니다.
설계 생성 복잡성
- HP 시간():HP Time() 함수는 마이크로초 단위의 고정밀 시간 값을 반환합니다. 이 함수는 다른 HP Time() 값과 비교할 때만 유용하므로 설계 생성 스크립트에 포함되어 있습니다. 여기 예제에서는 세 가지 요인에 대해 60회 실행으로 구형 패킹 설계를 생성하며, 생성 시간의 기록 및 표시는 두 개의 HP Time() 함수를 사용한 결과입니다.
t1 = HP Time();
DOE(
Space Filling Design,
{Add Response( Maximize, "Y", ., ., . ),
Add Factor( Continuous, -1, 1, "X1", 0 ),
Add Factor( Continuous, -1, 1, "X2", 0 ),
Add Factor( Continuous, -1, 1, "X3", 0 ),
Set Random Seed( 138892707 ),
Space Filling Design Type( Sphere Packing, 60 ), Simulate Responses( 0 ),
Set Run Order( Randomize ), Make Table}
);
t2 = HP Time();
Show( t2 - t1 ); The generation time (t2-t1) can be seen in the log (Figure 4).

그림 4: 스크립트 실행 결과의 로그 및 생성 시간 표시.
A transformed response column Time (s) is used for the response, as the units (seconds) are much more understandable and comparable between designs and enable the design generation time to be assessed more easily. The column Time (s) is created with the following formula:
Time (s) = HP Time (µs) / 1000000
- 요인
공간 채움 디자인 세대 간의 가장 큰 차이점을 다루기 위해서는 디자인 생성 방법, 차원, 점 밀도 측면에서 다양한 디자인을 만드는 데 도움이 되는 여러 요소를 구체적으로 명시해야 합니다.
- 디자인 유형:이 시리즈의 첫 번째 게시물 에서 이미 살펴본 바와 같이, 공간 채움 설계를 위한 다양한 설계 생성 방법이 존재하며, 각 방법은 사용 사례와 이점에 따라 분포 또는 기하학적 측면에서 서로 다른 특징을 갖습니다. 본 연구에서는 균일 채움 , 구형 패킹 , 라틴 하이퍼큐브, 그리고 빠른 유연 채움 설계를 활용하는 가장 일반적인 공간 채움 설계 생성 방법을 살펴봅니다.
- 차원성(요인 개수):차원(요인 개수)이 증가함에 따라, 각 요인에 대한 균일한 분포와 우수한 투영 특성을 유지하는 것이 더욱 복잡해지고 시간이 많이 소요되므로 공간 채움 설계의 성능이 저하될 수 있습니다. 나열된 다양한 반응에 대한 차원의 영향을 연구하기 위해, 본 연구에서는 차원 측면을 세 가지 수준으로 분석합니다.
- 저차원: 세 가지 요인
- 중간 크기: 6가지 요소
- 고차원: 9가지 요인
- 표본 크기 변형(실험 횟수/요인):기본적으로 JMP는 요인당 실행 횟수 비율을 10으로 설정하여 우수한 설계 성능을 보장하고 손쉬운 모델링을 가능하게 합니다. 그러나 실험 예산에 따라 공간 채움 설계의 성능은 크게 달라질 수 있는데, 이는 설계점 수가 적을 경우 각 요인에 대한 균일 분포를 유지하거나 우수한 투영 특성을 확보하는 것이 복잡해지기 때문입니다. 이러한 요인을 고려하여 다양한 표본 크기를 테스트했습니다.
- 작은각 요인당 3개의 설계 지점이 있으며, 이는 각 요인이 최소값, 중간값 및 최대값에서 테스트되도록 지점을 재분배하는 고전적인 중심 합성 설계(CCD)에서 얻을 수 있는 상황과 유사합니다.
- 중간요인당 20개의 설계 포인트가 사용되었으며, 이는 JMP의 기본값인 요인당 10개의 설계 포인트와 유사합니다.
- 크기가 큰각 요인당 100개의 설계점을 사용하여 설계 공간 내 높은 밀도의 점 덕분에 예측력이 뛰어난 모델을 구축할 수 있습니다.
- 실험 절차: 설계 선택
우리는 다양한 요인 수준을 쉽게 비교할 수 있도록 매우 단순한 설계를 사용하고자 합니다. 또한, 설계 생성 초기값이 고정되어 있지 않으므로 알고리즘 변동성을 추정하고 이러한 확률적 변동성을 요인 효과와 분리하고자 합니다. 특정 설계 구성에서는 구현이 어려울 수 있는 조합도 있으므로, 이상치나 결측값이 존재하더라도 견고한 분석이 가능한 설계를 원합니다.
이러한 모든 이유로 완전 요인 설계가 선택됩니다. JMP에서 완전 요인 설계를 생성하는 경로는 간단하고 직관적입니다. DOE 메뉴에서 고전적 설계 를 선택한 다음 완전 요인 설계를 선택하면 됩니다(그림 5).

그림 5: 완전 요인 설계 생성을 위한 DOE 메뉴.
앞서 나열된 반응 및 요인 정의에 따라, 다양한 공간 채움 구성을 평가하고 비교하기 위한 설계를 만들 수 있습니다(그림 6).

그림 6: 다양한 공간 활용 시나리오를 평가하고 비교하기 위한 완전 요인 설계 생성.
완전 요인 설계는 가능한 모든 요인 수준 조합을 수행할 수 있으므로 36회 실험(4x3x3)이 필요합니다.완전 요인 설계를 생성하는 스크립트는 다음과 같습니다.
DOE(
Full Factorial Design,
{Add Response( Minimize, "Discrepancy", ., ., . ),
Add Response( Minimize, "MaxPro", ., ., . ),
Add Response( Minimize, "Time", ., ., ., ., ., "s" ),
Add Factor(
Categorical,
{"Fast Flexible", "Uniform", "Sphere Packing", "Latin Hypercube"},
"Type",
0
), Add Factor( Continuous, {3, 6, 9}, "Factors", 0 ),
Add Factor( Continuous, {3, 20, 100}, "Ratio exp/factors", 0 ),
Set Random Seed( 31068506 ), Make Design, Simulate Responses( 0 ),
Set Run Order( Randomize ), Make Table}
);
이 스크립트를 통해 얻은 데이터 표는 그림 7에서 확인할 수 있습니다.
그림 7: 완전 요인 설계표
응답 평가
설계의 각 행에 대해, 연속 요소 개수, 요소당 점 개수, 설계 유형과 같은 해당 매개변수 값을 지정하여 공간 채움 설계가 생성됩니다. 모든 설계 구성에 대해 오차 및 MaxPro 메트릭 값이 기록됩니다.
분석 프레임워크
공간 활용 디자인에 대한 이 종합적인 연구 결과를 분석하기 위해 두 가지 접근 방식을 고려했습니다.
-
순위 분석 접근법공간 채움 설계 유형의 성능을 다양한 구성(차원 및 표본 크기)에 걸쳐 세 가지 응답에 대해 비교하는 것을 단순화하기 위해 1(최상의 설계)부터 4(최악의 설계)까지 순위를 매겼습니다.
오차나 시간처럼 값을 최소화하는 것이 목표인 응답의 경우, 스크립트에는 1부터 시작하는 순위를 반환하는 `Col Rank` 함수가 사용됩니다 .
- 불일치 순위 계산 공식:
Col Rank( :Discrepancy, :Factors, :"Ratio exp/factors"n, <
<TIE></TIE> <CODE class=" language-jsl">
<SPAN>시간 순위 계산 공식:<BR /></SPAN> <CODE class=" language-jsl">Col Rank( :Time, :Factors, :"Ratio exp/factors"n, <
<TIE></TIE> <SPAN><BR /></SPAN> <SPAN>MaxPro 순위 계산 공식:</SPAN><SPAN><BR /></SPAN> <CODE class=" language-jsl">Col Rank( :MaxPro, :Factors, :"Ratio exp/factors"n, <
<TIE></TIE>
<CODE class=" language-jsl"><CODE class=" language-jsl">
<CODE class=" language-jsl"><CODE class=" language-jsl">
<CODE class=" language-jsl"><CODE class=" language-jsl">
<UL>
<LI><STRONG><SPAN>모델링 접근 방식</SPAN></STRONG><SPAN><SPAN>모델링 접근 방식은 설계 생성 후 데이터 테이블에 첨부된 모델 스크립트를 사용하여 수행됩니다. 연구 설계가 완전 요인 설계이므로 이 스크립트에 지정된 기본 사전 모델에는 모든 주요 효과(설계 유형, 요인 수 및 요인당 실험 비율)와 모든 2요인 상호작용이 포함됩니다(그림 8).<BR /><BR /></SPAN></SPAN><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="FitModel1.svg" style="width: 888px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="FitModel1.svg" style="width: 888px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="FitModel1.svg" style="width: 888px;"><span class="lia-inline-image-display-wrapper" image-alt="FitModel1.svg" style="width: 888px;"><img src="https://us.v-cdn.net/6038925/uploads/images/86065i17D7A66B8EE3BEA4/FitModel1.svg" width="888" height="499" role="button" title="FitModel1.svg" alt="FitModel1.svg" /></span></SPAN></SPAN></SPAN><BR /><EM style="font-size: 1em;">그림 8: 기본 피팅 모델 실행.</EM><EM style="font-size: 1em;">' <STRONG>개별 모델 적합'</STRONG> 옵션을 선택하면 각 반응 변수에 대해 별도의 모델을 적합하게 됩니다.</EM><BR /><EM style="font-size: 1em;"><EM style="font-size: 1em;"><BR /></EM></EM> <P><SPAN>연속형 요인에 대해 3단계가 사용되므로 모델링 스크립트는 연속형 요인의 2차 효과로 인한 곡률 효과를 고려하도록 수정됩니다(그림 9).<BR /></SPAN></P> <SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="FitModel2.svg" style="width: 889px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="FitModel2.svg" style="width: 889px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="FitModel2.svg" style="width: 889px;"><span class="lia-inline-image-display-wrapper" image-alt="FitModel2.svg" style="width: 889px;"><img src="https://us.v-cdn.net/6038925/uploads/images/86066i67BC3913B034FFA6/FitModel2.svg" width="889" height="500" role="button" title="FitModel2.svg" alt="FitModel2.svg" /></span></SPAN></SPAN></SPAN><EM style="font-size: 1em;"><EM style="font-size: 1em;">그림 9: 수정된 적합 모델 실행. 모델 스크립트는 연속형 요인에 대한 이차 효과를 추가하여 수정되었습니다. 두 개의 연속형 요인을 선택한 다음 <STRONG>매크로</STRONG> > <STRONG>다항식을 차수로 변환을</STRONG> 클릭하여 두 개의 이차 효과를 추가합니다.<BR /><BR /></EM></EM> <P><SPAN>공간 채움 설계의 성능 반응을 분석하는 데 사용된 모델에는 주효과, 2요인 상호작용, 그리고 연속형 요인에 대한 이차효과가 포함됩니다.</SPAN></P> </LI>
</UL> <BR /> <H2 style="font-weight: 400;" id="toc-hId-227218614" id="toc-hId-227305844" id="toc-hId-227305844" id="toc-hId-227305844"><STRONG>다음 편</STRONG></H2> <P><SPAN>이번 마지막 게시물에서는 이 종합적인 비교 결과를 공개합니다! 다양한 시나리오에서 어떤 공간 채움 디자인이 탁월한지 보여주고, 실험 목표와 제약 조건에 기반한 디자인 선택을 위한 실질적인 지침을 제공합니다.</SPAN></P> <P><EM><SPAN>이 글은 공간 채움 실험 설계에 관한 3부작 시리즈의 두 번째 부분입니다.</SPAN></EM></P>
<OL>
<LI><SPAN><A href="https://community.jmp.com/t5/JMP-Blog/Part1-Introduction-to-common-types-of-space-filling-designs/ba-p/906541" target="_blank">공간 활용 디자인의 일반적인 유형 소개</A>. </SPAN></LI>
<LI><STRONG><SPAN>비교 프레임워크 및 평가 지표</SPAN></STRONG><SPAN>(이 게시물).</SPAN></LI>
<LI><A href="https://community.jmp.com/t5/JMP-Blog/Exploring-space-filling-designs-part-3-Results-analysis-and/ba-p/915402" target="_self"><EM><SPAN>결과, 분석 및 설계 선택 지침</SPAN></EM></A><SPAN>.</SPAN></LI>
</OL>
안녕하세요, 빅터님. 유익한 게시글 정말 감사합니다! JMP에서 생성하지 않은 공간 채움 설계에 대해서도 JMP를 이용해 공간 채움 설계 진단(예: 오차 및 MaxPro 기준)을 계산할 수 있을까요? 설계 평가 기능에서 이러한 통계를 제공하는 옵션이 없는 것 같은데, 다른 간편한 방법이 있는지 궁금합니다.
안녕하세요 @ktbrickey22 님 ,
긍정적인 피드백 주셔서 정말 감사합니다!
현재로서는 JMP 외부에서 생성된 설계에 대해서는 공간 채움 설계 진단(불일치 및 MaxPro)을 계산할 수 없습니다. 이 문제는 제가 이 블로그를 위해 실험을 진행하면서 제기했던 질문이기도 합니다. "모든 공간 채움 설계에 대한 MaxPro 값 얻기"라는 제목의 글에서처럼 말이죠. 현재로서는 이러한 값을 쉽게 계산할 수 없는 것 같아, 이 주제에 대한 위시리스트를 작성했습니다. "공간 채움 설계를 위한 설계 비교 플랫폼"이라는 제목의 글입니다.
현재로서는 두 개의 공간 채움 설계 간의 차이를 비교해야 할 경우 SciPy의 차이 비교 함수를 사용합니다. 이 함수는 JMP에서 제공하는 값과 동일하지는 않지만 모든 설계를 비교할 수 있게 해줍니다. SciPy에는 점들 사이의 최소 거리를 시각화하는 최소 신장 트리 와 같은 유용한 측정 지표 및 시각화 기능도 있습니다.
MaxPro의 경우, 이는 더 복잡한 문제이며 아직 만족스러운 해결책을 찾지 못했습니다.
이 답변이 도움이 되셨으면 좋겠습니다 
@Victor_G 님 , 빠른 답변과 조언 감사합니다! 위시리스트 항목들이 마음에 들었고, 그동안 SciPy 함수들을 살펴보겠습니다. 감사합니다!
@Victor_G 님 , 간단한 질문이 있습니다. 위에서 언급하신 MaxPro 접근 방식에 대해 " 목표는 MaxPro 기준을 최대화하여 저차원 공간에서 설계점의 좋은 투영을 보장하는 것입니다."라고 하셨는데, 도움말에는 MaxPro 기준을 최소화하는 것이 목표라고 나와 있습니다. 이 부분을 명확히 설명해 주시겠습니까?
안녕하세요 @charlie_whitman 님 ,
꼼꼼하게 읽어주시고 의견을 주셔서 정말 감사합니다. 그리고 이러한 오류를 지적해 주셔서 진심으로 죄송합니다. MaxPro 기준에 대해 읽다가 혼동했던 것 같습니다. 이 기준은 설계의 투영 속성을 평가하기 위한 것으로, 투영 속성이 높을수록 좋습니다. 투영 속성이 높을수록 정보를 극대화하고 비활성/중요도가 낮은 요소가 있더라도 효율적으로 간격을 둔 설계를 할 수 있기 때문입니다. 이는 잠재적 설계점 사이의 거리의 곱을 최대화함으로써 간격에 영향을 미칩니다. 하지만 JMP 도움말의 MaxPro 기준 공식에서는 설계점 사이의 거리가 분모에 있어서 이 기준이 최소화되어야 하는 것처럼 보입니다. JMP 도움말의 설계 진단 부분 에서도 " 값이 작을수록 좋습니다" 라고 반복해서 설명하고 있습니다.
JMP 도움말에 나와 있음에도 불구하고 여전히 혼란스럽고, 특히 베이지안 최적화 플랫폼의 "MaxPro 기준 최대화 " 옵션을 보면 더 그렇습니다. MaxPro 기준을 최대화하는 것의 이점은 무엇일까요? (실험 공간의 작은 부분 공간을 살펴볼 때 실행 결과가 밀집되거나 "겹쳐지는" 현상이 발생할 수 있습니다.) 해당 섹션의 도움말에는 다음과 같이 나와 있습니다. " 이 옵션은 훈련 데이터와 현재 배치 모두에서 요인 설정이 중복되지 않도록 요인 공간을 모델 없이 탐색하는 방법입니다. 하나 이상의 모델이 잘 맞지 않을 때 배치 크기에 관계없이 이 옵션을 사용하십시오. " 모델이 잘 맞지 않아 추가 탐색이 필요한 경우, 이 옵션은 새로 추가된 실행 결과를 잘 커버하기 위해 MaxPro 기준을 최대화하는 대신 최소화(설계점 간의 거리를 늘리고 실험 공간을 탐색)하려고 시도해야 하는 것 아닌가요?
JMP DoE 팀에서 이 혼란을 해결하는 데 도움을 주시면 정말 감사하겠습니다!
이 블로그 게시글 시리즈의 2부와 3부를 최대한 빨리 수정하겠습니다.
@Victor_G - 빠른 답변 감사합니다. 제가 아니라 고객분께서 그 오류를 발견하셨습니다. 다시 한번 감사드립니다!
@charlie_whitman 이 실수에 대해 다시 한번 사과드립니다. 2부와 3부에서 수정 작업을 완료했습니다. 혹시 다른 오류를 발견하시면 알려주세요 (없기를 바랍니다).