I wondered if it was it possible to create an optimal design for any run size?I wondered if it was it possible to create an optimal design for any run size?I wondered if it was it possible to create an optimal design for any run size?I wondered if it was it possible to create an optimal design for any run size?어떤 런 사이즈에도 최적의 디자인을 만드는 것이 가능한지 궁금합니다.
내가 대학원에서 실험 설계를 처음 배웠을 때, 우리는 일반적인 용의자를 다루었습니다. 요인 설계와 2단계 요인이 있는 부분 요인 설계. 이러한 디자인은 주효과가 서로 독립적이기 때문에 널리 사용됩니다. 부분 요인의 초점은 상호 작용 효과로 앨리어싱을 희생하면서 실행을 저장하는 것입니다. 해상도에 대해 배우고 분수 계승을 선택하는 방법을 배우는 동안 실행 횟수는 항상 2의 거듭제곱이 될 것이라는 사실을 받아들이게 되었습니다. Plackett-Burman 설계에 대해 간략히 언급했을 때 실행 크기를 4의 배수로 일반화할 수 있음을 알았습니다. 하지만 그 이상으로 좋은 디자인은 불가능했던 것 같습니다.
몇 년 동안 앞으로 나아가고 저는 에서 Custom Design 플랫폼을 가지고 놀고 있습니다 JMP Sandia Labs에서 고객을 위한 실험적 디자인을 생성합니다. 원하는 런 크기를 지정할 수 있는 곳을 처음 보았습니다. 이제 저는 적절하다고 생각되는 요인 수준 조합의 배수인 실행 크기를 고수하는 경향이 있습니다. 그러나 그 무렵부터 질문이 저를 괴롭히기 시작했습니다. 모든 실행 크기에 대해 최적의 설계를 생성할 수 있었습니까?
이제 명확히 하자면, JMP는 다른 소프트웨어와 마찬가지로 알고리즘을 사용하여 시작하는 것이 주어진 최적의 디자인을 검색하기 때문에 기술적으로 예입니다. 그러나 그것은 정확히 내가 묻는 것이 아닙니다. 내가 알고 싶은 것은 factorial 및 fractional factorial 설계와 마찬가지로 직접 구성할 수 있는지 여부였습니다.
인식하지 못하는 사람들을 위해 요인 및 부분 요인 설계는 본질적으로 Hadamard 행렬로 알려진 특수한 유형의 행렬입니다. 이 행렬을 특별하게 만드는 것은 행렬의 전치에 원래 행렬(예: X^t*X)을 곱하면 대각 행렬이 된다는 것입니다. 이것이 바로 이것이 요인 및 부분 요인 설계로 사용되는 이유입니다. 대각 행렬은 공분산 행렬과 동일하므로 독립 주효과를 나타냅니다.
이 사실을 알게 되자 내 질문을 더 탐구하고 싶어졌습니다. 하지만 JMP에서 첫해가 되어서야 그렇게 할 수 있었습니다. 나는 평소처럼 시작했습니다. 수학을 가지고 놀면서 가능한 건설 방법에 대한 통찰력을 천천히 얻습니다. 동료들과 업무에 대해 이야기를 나눴고, @Ryan_Lekivetz 그리고 @joseph_morgan , 그리고 Ryan은 비슷한 주제로 인해 내 관심을 끌 수 있다고 생각하는 과포화 디자인에 대한 Dennis Lin의 기사를 나에게 보냈습니다. 내 작업과 직접적인 관련은 없지만 참조 중 하나는 관련이 있습니다. 그리고 거기에서 모든 것이 바뀌었습니다.
재발견의 기쁨
숨겨진 문을 우연히 발견한 것 같았습니다. 그 문을 열면 이상하고 멋진 신세계가 나타났습니다(CS에서 Lucy의 경험과 유사함). 루이스의 사자와 마녀 그리고 옷장 , 의도하지 않았지만 꽤 적절함). 그 참고 문헌을 읽는 것은 또 다른 참고 자료로 이어졌고, 그것은 또 다른 참고 자료로 이어졌습니다. 그리고 계속해서 꽤 많은 문학 컬렉션을 수집할 때까지 계속되었습니다. 이 논문에서 무엇이 그렇게 매력적이었습니까? 그들은 모두 거의 모든 실행 크기에 대해 2단계 요인에 대한 D-최적 설계를 생성하기 위한 직접 구성 방법에 대해 논의했습니다!!
이제 과장을 피하기 위해 이러한 방법이 존재하더라도 가능한 모든 단일 실행 크기에 대해 존재하지 않으며 일부 방법은 매우 복잡하다고 말해야 합니다. 그러나 직접적인 방법이 존재한다는 사실이 저를 흥분시켰습니다! 그리고 대부분의 실제 사례의 경우 구성 절차가 매우 간단했으며 잘 알려진 요인 및 부분 요인 설계에서 런을 추가하거나 빼는 작업이 포함되었습니다(이것이 내 개인 연구의 목적이었습니다. 평소대로, 나는 종종 바퀴를 재발견하는 자신을 발견합니다. 사실, 나는 대학원에 있는 동안 이러한 방법 중 일부를 들어본 적이 없다는 사실에 놀랐습니다. 다시 말하지만, 요인 설계와 부분 요인 설계를 마스터한 후에만 배울 수 있는 내용일 수 있습니다. 이러한 설계는 자체적으로 마스터하는 데 상당한 시간이 필요합니다.
나는 이러한 방법이 최적의 디자인을 만드는 데 미칠 수 있는 영향을 즉시 목격한 동료들과 이 방법을 공유했습니다. D-최적 설계를 찾기 위해 검색 알고리즘을 구현하는 대신 처음부터 설계를 구축하고 수학적으로 D-최적 설계를 보장할 수 있다고 상상해 보십시오. 이제 광범위한 실행 크기에 대해 이 작업을 수행할 수 있다고 상상해 보십시오. 다시 말하지만, 전부는 아니지만 실제 상황을 다루기에 충분한 대다수입니다. 글쎄요? 더 이상 상상할 필요가 없습니다!!
펀치라인
맞아요 여러분. ~ 안에 JMP 15 , 이제 맞춤형 설계 플랫폼에서 D-최적 설계를 생성하기 위한 간단한 구성 절차를 구현합니다! "좋습니다. 하지만 이것이 어떻게 상황을 바꾸나요?"라고 말할 수 있습니다. 글쎄요, 예를 들어, 새로운 과포화 설계 건설 플랫폼 . 그러나 다음 데모가 설명에 도움이 될 수 있습니다.

이 두 설계 모두 동일한 수의 요인(31)과 런 크기(34)를 포함하며 둘 다 D-최적 상태가 되도록 생성되었습니다. 실행 크기는 4의 배수가 아님을 유의하십시오. 왼쪽 버전에서는 알고리즘이 D-최적 설계를 찾는 데 거의 30초가 걸렸습니다. 오른쪽 버전에서는 거의 즉각적으로 훨씬 더 D-효율적인 디자인을 생성했습니다. 이제 이 시점에서 저는 가속 테스트 배경에서 왔다는 것을 언급하고 싶습니다. 그런 맥락에서 우리는 극단적인 수준까지 일을 처리하는 데 익숙하기 때문에 이렇게 말합니다. 그렇다면 이 예제를 극단적으로 늘리는 것은 어떻습니까?
이 경우 인자의 개수는 531개, 실행의 개수는 1059개(실험자의 꿈과 최악의 악몽을 하나로 합친 것)이다. 왼쪽 버전에서는 알고리즘이 D-최적 설계를 찾는 데 거의 3분이 걸렸습니다. 오른쪽 버전의 경우 거의 3시간이 걸렸습니다. 초 D-효율적인 설계를 보고합니다. 생성 단계가 이전 예와 거의 같기 때문에 생성 대신 보고서라고 말합니다. 나머지 시간은 너무 방대하기 때문에 설계를 배치하고 최종 보고서에서 진단을 받는 데 사용됩니다. 이것이 이 개선이 얼마나 놀라운지 증명하지 못한다면 어떻게 될지 모르겠습니다!!
평소와 같이 사업
앞으로 나올 여러 블로그 게시물에서 볼 수 있듯이 JMP 15에는 새로운 기능이 가득합니다. 그리고 참석하셨다면 JMP 디스커버리 서밋 Tucson에서 열린 회의에서 당신은 의심할 여지 없이 직접 보았을 것입니다. 흥분으로 벽을 뛰어 넘을 수도 있지만(또는 흥분에 더 가라앉아 판단력이 없을 수도 있음) 우리 개발자와 테스터에게는 평소와 같이 비즈니스입니다. 고객의 통계 요구 사항이 항상 충족되고 놀라운지 확인하는 것입니다. 그들이 필요로 하는 것을 결코 알지 못했던 것을 그들에게. 따라서 이 새 버전과 제공하는 모든 기능을 즐기고 피드백을 꼭 알려주세요!!
안녕 @칼킹 ,
이 개선은 나에게 정말 인상적입니다!
D-최적 설계를 결정하는 데 사용되는 알고리즘 정보가 어딘가에 제공됩니까?
최고,
티나