JMP DOE에서 무작위 실행 순서 및 설계 유효성 검증
안녕하세요 여러분,
저는 현재 JMP로 생성된 실험 설계(DOE)를 사용하여 작업을 진행하고 있으며, 무작위 실행 순서의 품질을 평가하는 데 관심이 있습니다. JMP는 설계 생성 과정에서 실행 순서를 자동으로 무작위화하지만, 그 무작위화의 효과를 객관적으로 평가하고 싶습니다.
특히, JMP가 다음과 같은 기능을 내장하고 있는지 또는 다음과 같은 워크플로우를 제공하는지 알고 싶습니다.
- 실행 순서 전반에 걸쳐 추세, 체계적인 패턴 또는 편차를 감지합니다.
- 요인 수준의 군집화 또는 불균일한 분포를 식별합니다.
- 무작위성에 대한 공식적인 통계적 검정(예: 런 검정, 자기상관 검정 또는 독립성 검정)을 수행합니다.
- 또는 실행 순서가 실제 무작위화에 얼마나 근접하는지를 정량화할 수 있습니다.
JMP에서 이러한 유형의 평가를 위한 직접적인 방법을 제공하지 않는 경우, 실험 설계 실행 순서의 무작위성을 평가하기 위한 권장 JSL 스크립트, 추가 기능 또는 모범 사례 접근 방식이 있습니까?
또한, JMP가 실험 순서를 수동으로 재배열한 후에도 실험 설계의 무결성과 통계적 특성이 유지되는지 확인할 수 있는 도구를 제공하는지 여부에 관심이 있습니다.
미리 귀중한 의견에 감사드립니다.
베이즈나이트
실험 설계제목: JMP DOE에서 무작위 실행 순서 및 설계 유효성 검증 관련안녕하세요 @BayesKnight 님 ,
커뮤니티에 오신 것을 환영합니다!
모델 적합 옵션에서 무작위화 부족이나 시간 민감도로 인해 발생할 수 있는 반응 추세를 감지하는 데 도움이 될 수 있는 옵션이 최소 두 가지 있다고 생각합니다.
- 그래프 옵션: 행별 잔차 플롯 : 이 플롯은 관측값의 행 순서로 인해 발생하는 패턴을 파악하는 데 도움이 될 수 있습니다.
- 통계적 검정 옵션: 더빈-왓슨 검정 : 잔차에 1차 자기상관이 있는지 검정하는 통계량입니다. 행이 시간 순서대로 정렬되어 있는 경우(실험이 데이터 테이블의 순서와 동일하게 수행된 경우)에만 적합합니다.
관리도( 관리도와 웨스트가드 규칙을 통해 요인 수준의 분포가 추세를 따르는지 평가) 및 시계열 분석 옵션과 같은 다른 그래픽 또는 통계적 옵션도 활용할 수 있습니다. 계층적 클러스터링을 통해 데이터 포인트의 클러스터링이 불균형하지 않은지, 또는 행들이 순서대로 그룹화되었는지 확인할 수도 있습니다. 마지막으로, 다변량 분석 플랫폼을 사용하여 요인과 행 순서 간에 유의미한 상관관계가 있는지 확인할 수 있습니다.
디자인 평가 플랫폼을 통한 디자인 평가는 각 평가에서 행의 순서를 고려하지 않습니다. 디자인 실행 시 시간적 추세가 의심되고, 이러한 추세에 관계없이 요인 수준 재분배를 안정적으로 유지하고 싶다면 다음 게시물을 참조하십시오.
https://community.jmp.com/t5/RD-Blog/How-to-create-an-experiment-design-that-is-robust-to-a-linear/ba-p/30138
사용자 정의 설계에서 정의된 순서의 공변량
이 답변이 도움이 되길 바랍니다.
제목: JMP DOE에서 무작위 실행 순서 및 설계 유효성 검증 관련안녕하세요 @Victor_G 님 ,
따뜻한 환영과 제공해주신 정보에 진심으로 감사드립니다. 제 주된 관심사는 실험 실행 전에 무작위 순서 지정 의 질을 평가하는 것입니다. 응답 수집이 완료되면 비무작위 순서로 인해 발생할 수 있는 잠재적인 문제를 해결하기에는 너무 늦습니다. 이를 평가할 수 있는 방법이 있을까요?
제목: JMP DOE에서 무작위 실행 순서 및 설계 유효성 검증 관련원래 게시글에서 " 실행 순서가 실제 무작위화에 얼마나 근접하는지 정량화"하고 싶어 하셨습니다.
진정한 무작위화가 어떤 모습인지 알려주시면, 제가 얼마나 그 모습에 가까운지 정량화할 수 있는 방법을 찾을 수 있을 것 같습니다.
궁극적으로, 실험계획법(DOE) 실행의 무작위화는 시간이나 실험 순서와 관련된 알려지지 않은/예상치 못한 오류 발생 가능성에 대한 일종의 보험과 같습니다. 그러한 오류 발생 가능성이 존재한다면, 수집된 반응 데이터에 나타날 것이며, 이것이 바로 @Victor_G 님이 그러한 통찰력을 제공한 이유입니다.
JMP에 내장된 난수 생성기처럼 신뢰할 수 있는 난수 생성기를 사용한다면, 일반적으로 어떤 난수 패턴이든 적절합니다. 다만, 특정 상황에서는 적절하지 않을 수 있는데, 그러한 구체적인 상황을 알아야 합니다.
예를 들어, 어떤 장비가 항상 네 번째 생산품에서 오류를 발생시킨다고 가정해 봅시다. 이 경우, 유효한 무작위 패턴은 네 번째 시도마다 한 번씩 특정 요인이 높은 값으로 설정되도록 할 수 있습니다. 8회 실행 설계에서는 이러한 상황이 충분히 발생할 수 있습니다. 하지만 이는 결과에 분명히 영향을 미칠 것입니다. 이러한 사실은 분석을 수행하기 전까지는 알 수 없으며, 가장 중요한 것은 분석 후 결과를 검증할 때 비로소 확인할 수 있다는 점입니다. 저는 실제로 "유효한" 무작위 패턴에도 불구하고 이와 유사한 상황이 발생하는 것을 목격한 적이 있습니다.
마지막으로, 질문하신 통계 분석 및 속성은 모델의 오차항이 독립적이고 동일한 분포를 따른다는 가정을 전제로 합니다. 실험 설계(DOE)의 실행 순서를 수동으로 변경해도 이러한 가정에는 영향을 미치지 않습니다. 실제로 각 실행이 완전히 독립적이라는 것을 알고 있다면 무작위 배정조차 필요하지 않습니다. 대부분의 경우 무작위 배정은 (앞서 언급한) 알려지지 않은 오차 발생 가능성에 대비한 일종의 보험과 같은 역할을 합니다. 만약 실험 실행 순서를 수동으로 변경하는 것이 독립성에 영향을 미친다면, 설계(및 분석) 시 이러한 시간적 특성을 고려해야 합니다.
이 정보가 도움이 되길 바랍니다. 그리고 모든 실험은 검증되어야 하며, 1, 2, 3, 4, 5와 같은 순서조차도 무작위적인 패턴일 수 있다는 점을 기억하세요!
제목: JMP DOE에서 무작위 실행 순서 및 설계 유효성 검증 관련저는 다른 관점을 제시합니다. 실험 후 실험 전략의 효과를 평가하는 데에는 여러 가지 "기법"이 있습니다. 저는 계획에 더 많은 시간을 투자할 것을 제안합니다. 실험에서의 무작위 배정은 확인되지 않고 검증되지 않은 요인(이를 '잡음'이라고 부르겠습니다)이 실험의 다른 요인과 혼동되는 것을 방지하는 기법이라고 생각합니다. 우리는 더 효과적으로 접근할 수 있다고 생각합니다. 그렇다면 그 잡음 효과는 어디로 가는 걸까요? 그 잡음 효과에 대해 알고 싶으신가요? 무작위 배정은 할당을 방지합니다(Shewhart의 주장). 저는 잡음에 대해 알고 싶습니다. 어떤 잡음이 중요한 걸까요? 실험에 어떻게 잡음을 도입할 수 있을까요? 잡음에 대해 어떻게 강건할 수 있을까요? GEP Box의 의견에 동의합니다.
"차단할 수 있는 것은 차단하고, 차단할 수 없는 것은 무작위로 처리하세요."
이 말은 노이즈를 식별할 수 있다면, 블록에 노이즈를 섞는 것이 무작위화보다 더 효과적이라는 뜻입니다. 노이즈는 할당 가능합니다. 식별할 수 없는 노이즈(이유는 잘 모르겠지만)의 경우에는 무작위화해야 합니다.
제가 추천하는 논문은 두 편입니다.
유덴, WJ, 무작위화와 실험, 테크노메트릭스, 제14권, 제1호, 1972년 2월
Hwan, Marilyn (2000), “ 무작위화할 것인가 말 것인가, 그것이 문제로다 ”, ASQ 통계 부문 뉴스레터 , 제17권, 제1호, 26쪽
제목: JMP DOE에서 무작위 실행 순서 및 설계 유효성 검증 관련안녕하세요 @BayesKnight 님 ,
다른 분들이 이미 잘 언급하신 내용에 더하여, 제가 고려해 볼 만한 몇 가지 생각을 덧붙이고 싶습니다.
1. 실험을 실행하기 전에 DOE 순서를 어떻게 정량화할 계획입니까? 실험 결과가 어떤 변수(시료 상태, 장비, 오븐 온도 등 DOE에서 고려하지 않은 변수)의 상태에 따라 달라진다면, 이는 모든 실험을 완료한 후에야 데이터에 나타나며, 앞서 논의한 바와 같이 평가할 수 있습니다.
2. 실험계획법(DOE)의 무작위성을 실제로 검증하고 싶다면, 수백 또는 수천 개의 DOE를 생성하고 1회부터 20회까지 실행하여 각 실행이 얼마나 자주 선택되는지 통계를 수집할 수 있습니다. 충분한 수의 DOE를 생성하면 선택 과정에서 어떤 패턴도 발견되지 않을 것입니다. 하지만 그렇다면 어떤 DOE를 선택해야 할까요? 어떤 DOE가 가장 무작위적일까요? JSL 스크립트를 작성하여 이 작업을 수행할 수 있으며, 시간은 그리 오래 걸리지 않을 것입니다. 물론 DOE를 정의할 때 숨겨진 변수가 결과에 영향을 미치지 않도록 매우 신중해야 합니다. 이러한 분석을 수행하더라도 실행 순서에 영향을 미치는 숨겨진 변수를 완전히 고려할 수는 없습니다.
3. 실험 설계(DOE)가 완료되면, 앞서 언급했듯이 실행의 무작위성을 평가하는 방법은 여러 가지가 있습니다(행별 잔차 분석이 좋은 시작점입니다). 또한 "실행 순서" 열을 추가하고 이를 분석에 포함하여 결과가 실행 순서에 따라 통계적으로 유의미한 상관관계가 있는지 확인할 수 있습니다. 심지어 완전히 무작위적인 요인인 "널 요인"(JMP의 자동 유효성 검사에 대해 알아보세요. JSL 코드가 있지만 내장 기능은 아닙니다)을 추가하고, 이 널 요인보다 통계적으로 중요도가 낮거나 같은 요인은 무시할 수도 있습니다.
사전 계획은 매우 중요하며, 종종 논의 시간의 상당 부분을 차지하게 됩니다. 잘 계획된 실험설계(DOE)는 부실하게 계획된 DOE보다 분석 시간이 적게 소요될 뿐만 아니라, 더 많은 통찰력을 더 빠르게 얻을 수 있습니다. 이와 관련하여 다음과 같은 사항들을 고려해 보세요. 순서가 중요하다고 생각할 만한 이유가 있는가? 있다면 그 이유는 무엇이며, 그 이유는 무엇이고, 설계에 어떻게 반영할 수 있는가? 결과에 영향을 미칠 수 있는 다른 요인들은 무엇이며, 이러한 요인들을 고려할 수 있는가? 신호의 잡음은 어디에서 오는가? 잡음을 최소화하거나 실험설계에 반영하는 방법은 무엇인가?
도움이 되었으면 좋겠습니다!
DS
제목: JMP DOE에서 무작위 실행 순서 및 설계 유효성 검증 관련안녕하세요 @Dan_Obermiller 님 ,
자세한 답변 감사드립니다.
맞습니다. "완벽한" 또는 "진정한" 무작위화란 존재하지 않습니다. 하지만 일부 무작위화는 바람직하지 않은 패턴(예: 동일한 요인 수준이 오랫동안 연속되는 현상, 주기적 구조 등)을 피한다는 점에서 다른 무작위화보다 나을 수 있습니다.
그렇기 때문에 저는 JMP가 난수 생성기에 대한 신뢰나 시각적 검사에만 의존하는 것이 아니라, 이러한 측면들을 객관적으로 평가할 수 있는 도구를 제공하는지 알아보고 싶었습니다.
저는 특히 미묘한 시간 관련 위험이나 장비 작동 방식이 결과에 영향을 미칠 수 있는 상황에서 실행 순서의 품질을 평가할 수 있는 추가적인 방법을 찾고 있습니다.
귀중한 의견 감사드립니다. 정말 큰 도움이 되었습니다.
제목: JMP DOE에서 무작위 실행 순서 및 설계 유효성 검증 관련안녕하세요 @SDF1
답변 감사합니다.
저는 실험설계(DOE)의 정의/계획 단계가 매우 중요하다는 점에 전적으로 동의하며, 바로 그 점 때문에 이 질문을 드린 것입니다. 가능한 한 가장 탄탄한 설계를 바탕으로 시작하고, 실행 전에 무작위 순서 지정이 안정적인지 확인하고 싶습니다.
예측할 수 없는 숨겨진 변수가 있을 수 있다는 점은 인정하지만, 제 주요 관심사는 다음과 같습니다.
- 견고한 무작위 실행 순서를 생성하는 방법
- 실험을 실행하기 전에 품질을 평가하는 방법.
의견 주셔서 다시 한번 감사드립니다.
제목: JMP DOE에서 무작위 실행 순서 및 설계 유효성 검증 관련요인 수준 분포에서 특정 패턴을 피하고 싶다면, 패턴 탐색하기 플랫폼이 바람직하지 않은 단변량 패턴을 감지하는 데 도움이 될 수 있습니다.
무작위화 과정에서 나타나는 패턴(물론 이 과정의 일부입니다)을 살펴보기 전에, 설계 평가 플랫폼을 사용하여 설계의 속성과 성능을 평가해 보셨습니까? 무작위화 과정에서 나타날 수 있는 패턴보다는 표본 크기/검정력의 부적절성이나 에일리어싱 구조의 미흡함으로 인한 실패 시나리오가 더 많을 가능성이 높습니다.
제목: JMP DOE에서 무작위 실행 순서 및 설계 유효성 검증 관련안녕하세요 @BayesKnight님 : 저도 이 주제를 흥미롭게 지켜봤는데, 솔직히 좀 헷갈리기도 합니다. 질문하신 내용은 JMP에서 생성되는 "랜덤" 실행 순서가 정말로 무작위인지 여부인 것 같습니다. @Dan_Obermiller님 이 말씀하신 것처럼, "신뢰할 수 있는 난수 생성기를 사용한다면 (JMP는 신뢰할 수 있는 난수 생성기를 사용합니다), 어떤 무작위 패턴이든 일반적으로 적절합니다." 물론 "신뢰할 수 있는" 난수 생성기조차도 대부분 의사 난수 생성기입니다. 따라서 의사 난수 생성기는 일반적으로 알고리즘을 사용하여 무작위 시퀀스의 속성을 가진 난수 시퀀스를 생성합니다. 그러므로 답은 "예"입니다.
실행 순서를 무작위로 만드는 간단한 방법 중 하나는 각 실행에 대해 Uniform(0,1) 숫자를 생성하는 것입니다. 그런 다음 해당 U(0,1)에 따라 실행 순서를 다시 정렬합니다.
하지만 제가 당신에게 묻고 싶은 것은 이것입니다. 어떤 계기로 그런 질문을 하게 되셨나요?
제목: JMP DOE에서 무작위 실행 순서 및 설계 유효성 검증 관련안녕하세요 @statman
답변과 참고 자료를 공유해 주셔서 감사합니다.
디자인을 평가하는 방법은 여러 가지가 있다는 점에는 동의하지만, 말씀하신 것처럼 대부분의 방법은 실험이 끝난 후에 사용됩니다.
제 목표는 문제가 너무 늦어 수정하기 전에 미리 발견하는 것을 피하는 것입니다.
저는 무작위화나 블록화의 목적 자체를 의심하는 것이 아닙니다. 다만 발생 가능한 문제점을 최대한 조기에 발견하고 싶을 뿐입니다. 특히, 무작위 순서가 의도치 않게 특정 패턴이나 경향을 만들어내어 설계의 타당성을 약화시키지 않도록 사전에 확인하고 싶습니다.
다시 한번 유익한 의견을 주셔서 감사합니다.
제목: JMP DOE에서 무작위 실행 순서 및 설계 유효성 검증 관련안녕하세요 @BayesKnight 님 ,
JMP는 실험계획법(DOE)에 적합한 안정적인 무작위 실행 순서를 생성해 주므로, 이 부분에 대해서는 걱정하실 필요가 없습니다(걱정해서는 안 됩니다). JMP는 35년 이상 이 분야의 업계 선두주자였습니다. 만약 그들의 소프트웨어가 신뢰할 수 없었다면 지금처럼 업계에 남아있을 수 없었을 것입니다.
실험계획법(DOE)을 실행하기 전에 실행 순서를 정량화하고 평가할 수 있는 방법을 만들었다고 하더라도, 결국에는 JMP의 무작위화 알고리즘이 "진정으로" 무작위적인지 여부를 테스트하는 것밖에 되지 않습니다. @MRB3855님 이 언급했듯이, 어떤 (디지털) 난수 생성기도 완전히 무작위적이지는 않습니다. 좋아하는 음악 앱의 "랜덤 재생" 기능을 사용해 보세요. 실제로는 재생 목록에 있는 각 노래를 한 번씩 재생한 후에야 다시 무작위로 재생 순서를 정하기 때문에 진정한 의미의 "랜덤 재생"이 아닙니다.
저도 @MRB3855님 의 의견에 동의합니다. DOE를 실행하기 전에 무작위성을 평가해야 한다는 질문을 왜 제기하신 건가요? JMP가 안정적인 무작위 실행 순서를 제공하지 않는다고 생각하는 이유는 무엇인가요?
만약 이러한 상황을 뒷받침하는 과거 데이터가 있다면, 우선 실험계획(DOE) 수립에 더 많은 시간을 투자하고 블록화 또는 다른 방법을 사용하여 이를 고려하는 것이 좋습니다. JMP의 오류를 섣불리 단정짓고 그쪽의 문제라고 생각하기보다는, 애초에 실험계획 자체가 제대로 수립되지 않았을 가능성이 훨씬 높습니다.
DS
제목: JMP DOE에서 무작위 실행 순서 및 설계 유효성 검증 관련안녕하세요, @BayesKnight 님 . @MRB3855 님 말씀처럼 이 주제는 정말 흥미롭네요. 다양한 관점을 제시하는 좋은 답변들이 많이 있습니다. 하지만 모든 답변에 만족하지 못하시는 것 같고, 지적하신 것처럼 "무작위성의 질"을 평가할 방법이 있는지 알고 싶어하시는 것 같습니다. 저는 무작위성은 그 자체로 무작위성이라고 생각하며, 때로는 육안으로 패턴이 보이면 실제로는 무작위적인 것이라도 그렇게 생각하지 못할 수도 있다고 봅니다.
요인 수준의 순서를 살펴보고 "충분히 뒤섞였는지" 확인하는 것 외에는 무작위성의 질을 평가하는 데 사용되는 공인된 통계적 기법은 없는 것으로 알고 있습니다. 어쩌면 답은 바로 그렇게 해서 가장 뒤섞인 순서가 나올 때까지 계속 무작위화하는 것일지도 모릅니다. 하지만 통계학자로서 저는 이런 방식이 실행 순서에 편향을 초래하고 잠재적으로 무작위성을 제거할 수 있다고 주장할 수도 있을 것입니다.
다소 황당한 해결책일 수도 있지만, y축에는 요인들을, x축에는 실행 순서를 나타내고, 요인 수준(-1, 0, +1)을 색상으로 표시하는 히트맵을 사용하는 것입니다. 이렇게 하면 패턴이 있는지 시각적으로 파악하는 데 도움이 될 수 있을 것 같습니다.
