저는 일부 요인이 조건부인 실험을 설계하려고 하는데, 사용자 지정 설계를 사용하면 이러한 상황을 적절하게 처리할 수 있을지, 아니면 수동으로 설계해야 할지 확신이 서지 않습니다.
저는 기준값이 1 이고 최댓값인 하나의 변수 X1을 가지고 있습니다. X1은 이 기준값보다 작은 값으로만 변화시킬 수 있지만, X1을 기준값으로 유지하는 경우도 고려해야 합니다.
나머지 두 가지 요소의 경우 구조는 조건부입니다.
-
X2는 꺼짐 또는 켜짐 일 수 있습니다.
- 꺼짐 상태이면 레벨/강도가 없습니다.
- 켜져 있으면 연속적인 범위를 가집니다.
-
X3는 없을 수도 있고 있을 수도 있습니다.
- 없을 경우, 복용량/강도가 없습니다.
- 존재할 경우, 연속적인 범위를 갖습니다.
따라서 X2와 X3는 단순한 연속형 요인이 아닙니다. 왜냐하면 해당 요인이 활성화되거나 존재할 때만 연속형 값이 의미를 가지기 때문입니다.
제 목표는 이해하는 것입니다:
- X2 및/또는 X3이 존재할 때와 존재하지 않을 때의 효과
- X2 및/또는 X3가 활성화된 상태에서 해당 레벨/강도를 변경했을 때의 효과
- X1의 다양한 값에서 이러한 효과가 어떻게 나타나는가
- X1, X2, X3 사이에 상호작용이 있는지 여부
제가 고려 중인 아이디어 중 하나는 X2 와 X3를 이산적인 수치 변수 로 처리하는 것입니다. 여기서 0은 꺼짐/없음을 나타내고, 0이 아닌 값은 활성 연속 범위를 나타냅니다. 분석 시, 다항식 항의 자동 코딩/중심화를 피함으로써 수치 레벨을 보다 직접적으로 해석할 수 있습니다.
하지만 이러한 접근 방식에는 단점이 있다는 것을 알고 있습니다. 특히, 0 에서 첫 번째 0이 아닌 값으로의 도약은 두 가지 효과를 결합할 수 있습니다.
- 해당 요소를 켜거나 존재하게 했을 때의 효과
- 가장 낮은 활성 강도/용량으로 이동했을 때의 효과
따라서 활성화/존재 효과 와 강도/투여량 효과를 명확하게 구분하지 못할 수 있습니다. 특히 X1의 값에 따라 X2와 X3가 다르게 작용하는 경우, 이러한 현상은 상호작용 항을 해석하기 어렵게 만들 수 있습니다.
현재 시도 중인 두 번째 접근 방식은 범주형 활성화 요인과 이산형 수치 수준 요인을 모두 사용하여 X2와 X3를 표현하는 것입니다.
- X2에 대한 범주형 끄기/켜기 요소 하나와 이산 수치 레벨 요소 하나
- X3에 대해 범주형 부재/존재 요인 하나와 이산형 수치 수준 요인 하나가 있습니다.
DOE(
Custom Design,
{
Add Response( Maximize, "Y", ., ., . ),
Add Factor( Continuous, -1, 1, "X1_Level", 0 ),
Add Factor( Discrete Numeric, {0, 1, 2, 3}, "X2_Level", 0 ),
Add Factor( Categorical, {"Off", "On"}, "X2_Status", 0 ),
Add Factor( Discrete Numeric, {0, 1, 2, 3}, "X3_Level", 0 ),
Add Factor( Categorical, {"Absent", "Present"}, "X3_Status", 0 ),
Set Random Seed( 2055292721 ),
Number of Starts( 4702 ),
Add Term( {1, 0} ),
Add Term( {1, 1} ),
Add Term( {2, 1} ),
Add Potential Term( {2, 2} ),
Add Term( {3, 1} ),
Add Term( {4, 1} ),
Add Potential Term( {4, 2} ),
Add Term( {5, 1} ),
Add Term( {1, 1}, {2, 1} ),
Add Term( {1, 1}, {4, 1} ),
Add Term( {2, 1}, {4, 1} ),
Set Sample Size( 12 ),
Disallowed Combinations(
("X2_Status"n == "Off" & "X2_Level"n > 0) |
("X2_Status"n == "On" & "X2_Level"n == 0) |
("X3_Status"n == "Absent" & "X3_Level"n > 0) |
("X3_Status"n == "Present" & "X3_Level"n == 0)
),
Simulate Responses( 0 ),
Save X Matrix( 0 ),
Make Design
}
);
제 우려는 범주형 상태 요인이 불필요할 수 있다는 점입니다. 왜냐하면 OFF/ON 또는 부재/존재 상태가 이미 수치적 수준에 내포되어 있기 때문입니다. 따라서 이러한 설정이 활성화 효과와 수준/강도 효과를 진정으로 분리할 수 있는지, 아니면 모델 해석을 어렵게 만드는 다중공선성/혼란 변수를 유발하는지 확신할 수 없습니다.
제 질문은 다음과 같습니다.
- 지위 요인과 이산 수치 수준 요인을 모두 포함하는 것이 통계적으로 타당한가?
- 이 설정으로 활성화 효과와 레벨/강도 효과를 의미 있게 분리할 수 있을까요?
- Would it be better to use only the discrete numeric factors, with
0 = Off/Absent and 1–3 = active levels?
- JMP 사용자 정의 디자인에서 이러한 조건부 요인 구조를 처리하는 더 나은 방법이 있을까요?
안녕하세요 @JunaidM 님 ,
범주형 요인은 필요하지 않습니다. 왜냐하면 X2 수준이 0이면 이미 해당 요인이 "OFF" 상태임을 의미하기 때문입니다(X3도 마찬가지).
따라서 이러한 요소를 추가하여 설계를 생성하면 설계 생성 과정에서 중복 정보(및 다중공선성)만 발생하게 되며, 상태 및 레벨 요소 간의 선형 종속성으로 인해 모델링 과정에서 특이점 세부 정보가 생성됩니다.
공유해주신 설계 생성 스크립트를 보시면, 이러한 중복성(및 X2와 X2 상태 간의 종속성) 때문에 JMP의 설계 평가 플랫폼에서 Xi_Status 요소가 모델에서 제거되어 이산형 수치 요소와 수치 요소 항만 남았음을 알 수 있습니다.

그래서 저는 보다 직접적인 디자인 생성 방식을 고수할 것입니다.
이 설계의 목적은 무엇인가요? X2와 X3에 대해 그렇게 많은 수준을 테스트하는 데 정말로 관심이 있으신가요? 두 수준(낮은 수준: 부재 = 0, 높은 수준: 존재 = 3)의 스크리닝/D-최적 설계로도 충분할 수 있지 않을까요? 아니면 이차 효과를 분석하고 단순한 부재/존재 요인 수준 설정을 피하기 위해 세 수준을 사용하는 것이 더 나을까요?
이러한 수준을 정말로 적용하고 싶다면 다음과 같은 방법으로 디자인을 만들 수 있습니다.
- X1 연속 인자 (-1 ~ 1)
- X2는 0, 1, 2, 3의 값을 갖는 이산형 수치 변수이거나, 적절한 모델 항을 사용하여 충분한 수준의 변수를 갖는 연속형 변수입니다. 만약 4개의 수준을 테스트하고 싶다면, X2 항을 5제곱으로 지정하면 설계에서 이 요인에 대해 4개의 수준이 생성됩니다. 자세한 내용은 실험계획법(DoE)의 힘 수준(force levels) 부분을 참조하십시오.
- X3는 0, 1, 2, 3의 값을 갖는 이산형 수치 변수이거나, 충분한 수준의 값을 갖도록 적절한 모델 항을 포함하는 연속형 변수입니다.
활성화 효과와 수준/강도 효과를 분리하고 싶다면, 분석에서 X2=0일 때의 평균 반응과 X2=1, 2, 3일 때의 평균 반응을 비교하는 방식으로 두 조건의 반응을 평균낼 수 있습니다. 하지만 세분화되고 자세한 반응 데이터가 있다면 거시적 분석과 상세 분석, 두 가지 유형의 분석 결과를 모두 제공할 수 있으므로 분석에서 정보를 요약하는 것이 훨씬 쉽습니다.
이 답변이 도움이 되길 바랍니다.
안녕하세요 @Victor_G 님
자세한 답변 감사드립니다. 정말 도움이 많이 되었습니다.
Just to clarify one point: in the script I shared, I had removed the X2_Status and <STRONG>X3_상태</STRONG> terms myself from the model terms because I was already concerned that they may be redundant. But your explanation confirms the concern more clearly: since X2 = 0 already implies OFF and <STRONG>X2 ></STRONG> 0 implies ON, adding a separate status factor would introduce redundant information and potential collinearity.
So, if I understand correctly, the more direct approach (Option 1) does make sense.</CODE></P>
<P>Based on your response, I am also thinking that three discrete numeric levels may be sufficient instead of four. For example, <CODE>0, lowest practical active level, and highest practical active level. This may be more appropriate because the distance between 0 → lowest active level and lowest → highest active level is not the same.
제안해주신 내용을 바탕으로, 제가 생각하기에 더 합리적인 설계 구조를 만들었습니다. 범주형 상태 요인들을 제거하고 X2와 X3를 이산형 수치 요인으로 유지했습니다.00은 꺼짐/없음 상태를 나타내고, 0이 아닌 값은 활성 수준을 나타냅니다.
이 모델에는 주효과, X1에 대한 이차 효과, 그리고 선택된 2요인 상호작용 항이 포함됩니다.
DOE(
Custom Design,
{Add Response( Maximize, "Y", ., ., . ),
Add Factor( Continuous, -1, 1, "X1", 0 ),
Add Factor( Discrete Numeric, {0, 15, 30}, "X2", 0 ),
Add Factor( Discrete Numeric, {0, 30, 45}, "X3", 0 ),
Set Random Seed( 1139260218 ), Number of Starts( 71985 ), Add Term( {1, 0} ),
Add Term( {1, 1} ), Add Term( {2, 1} ), Add Potential Term( {2, 2} ),
Add Term( {3, 1} ), Add Potential Term( {3, 2} ), Add Term( {1, 2} ),
Add Term( {1, 1}, {2, 1} ), Add Term( {1, 1}, {3, 1} ),
Add Term( {2, 1}, {3, 1} ), Set Sample Size( 12 ), Simulate Responses( 0 ),
Save X Matrix( 0 )}
);
One point I want to check is about model fitting and interpretation. Since
0 for X2 and X3 represents a real OFF/absent condition, and not just a coded low level, I assume I should be careful with automatic coding or centering of polynomial terms. My concern is that centering may make the model coefficients harder to interpret in relation to the actual OFF/absent state. Would you recommend fitting these terms using the actual numeric values, or is there a better coding strategy for this type of factor?
설명해주셔서 감사합니다.
네, 세 가지 레벨을 사용하는 것은 흥미로운 접근 방식입니다. 요인이 없을 때와 있을 때의 반응 차이를 평가할 수 있을 뿐 아니라, 저용량과 고용량 사이의 반응 변화를 추정할 수도 있기 때문입니다. 순서형 요인 유형을 사용하고 있으므로, 이러한 순서형 요인의 기본 코딩 방식이 매우 적합할 수 있습니다. 순서형 요인의 경우, 첫 번째 레벨은 대조군 또는 기준 레벨이며, 매개변수는 순서형 요인이 각 레벨로 올라갈수록 반응에 미치는 영향을 측정합니다. 순서형 요인 코딩은 첫 번째 레벨이 0인 다양한 용량을 나타내는 레벨을 포함하는 요인에 적합합니다.
다항식 항의 중심화는 연속적인 요소 에 대해서만 수행되며, 이산적인 수치 요소에 대해서는 수행되지 않습니다.
생성하신 설계와 관련하여, JMP에서 기본값으로 설정된 "가능하면" 대신 "필수"로 이차 효과 추정 가능성을 지정하여 중간 수준(가장 낮은 용량에 해당)에서 더 많은 실험을 수행하는 것이 좋습니다. 총 실험 횟수(12회)는 동일하게 유지하되, 이 옵션을 변경하면 15단계(X2)와 30단계(X3)에서 실험 횟수를 각각 2회에서 3회로 늘릴 수 있습니다. 각 단계별로 균형 잡힌 실험 횟수(X2와 X3의 각 3개 단계에서 4회)를 보장하려면, 범주형 요인 유형으로 설계를 생성한 후(설계 생성 및 표 생성 후), 요인 유형을 순서형 숫자로 변경하고 관련 열 속성(코딩(최소/최대 수준 포함), 설계 역할(이산 숫자), 요인 변경)을 추가/수정할 수 있습니다.
이 답변이 모델링 상황을 명확히 하는 데 도움이 되기를 바랍니다.