안녕. 저는 분포 시각화, 분포 피팅 및 cpk 보고를 자동화하는 스크립트를 작성해 왔습니다. 방금 긴 작업을 마쳤고 일부 배포판의 이름을 사용해야 하는 방식에 많은 차이가 있음을 발견했습니다. 이를 위해서는 상당한 양의 디버깅이 필요했습니다. 내 요청은 작은 것이 아니지만 JSL이 배포 이름을 보다 일관되게 사용하여 스크립트 작성을 보다 효율적이고 덜 혼란스럽게 만들 수 있다면 좋겠습니다. 아래에 예를 제시하겠습니다.
내 스크립트는 분포 이름 {"Exponential", "Normal 2 Mixture", "Johnson SU", ...} 목록을 사용하고 먼저 각 분포에 대해 하나의 열이 있는 무작위 데이터 테이블을 생성합니다. 그런 다음 분포도를 만들고, 데이터를 적합시키고, 각 분포에 대한 적합 매개변수를 추출합니다. 또한 Process Capability 플랫폼을 사용하여 cpk를 계산합니다. 나는 필요한 정확한 코드를 얻기 위해 JSL 견적을 만든 다음 원하는 배포 이름을 대체하는 데 많이 의존합니다.
문제:
- 처음에 무작위 데이터의 행렬을 생성하려면 "지수" 대신 "Exp"를 사용하고 "정규 2 혼합" 대신 "정규 혼합"을 사용해야 합니다.
</CODE><CODE class=" language-jsl">J(100, 1, Random<FONT color="#FF0000"><STRONG>Exp</STRONG></FONT>(...));<BR />J(100, 1, Random<FONT color="#FF0000"><STRONG>NormalMixture</STRONG></FONT>(...));<BR />J(100, 1, Random<FONT color="#FF0000"><STRONG>JohnsonSB</STRONG></FONT>(...));
- 반면에 내 데이터에 분포를 맞추려면 "Exp" 대신 "Exponential"을, "Normal Mixture" 대신 "Normal 2 Mixture"를, "Johnson SB" 대신 "Johnson"을 사용해야 합니다.
dt << Distribution(
Continuous Distribution(
Column(:colname1),
Fit <FONT color="#FF0000"><STRONG>Exponential,</STRONG></FONT>
Fit <FONT color="#FF0000"><STRONG>Normal 2 Mixture,</STRONG></FONT>
Fit <FONT color="#FF0000"><STRONG>Johnson</STRONG></FONT>
)
)
- 그리고 Process Capability 플랫폼의 Normal 2 혼합물에 대한 또 다른 명명 체계는 다음과 같습니다.
pc = dt << Process Capability(
Process Variables(
:colname1 & Dist(<FONT color="#FF0000"><STRONG>Exponential</STRONG></FONT>),
:colname2 & Dist(<FONT color="#FF0000"><STRONG>Mixture of 2 Normals</STRONG></FONT>),
:colname3 & Dist(<FONT color="#FF0000"><STRONG>Johnson</STRONG></FONT>),
)
)
처음에는 스크립트에 시도할 배포 이름 목록을 제공한 다음 목록을 통해 for 루프를 순환하고 JSL 견적에 특정 이름을 추가한 다음 실행할 수 있기를 바랐습니다. 대신 대체하기 전에 각각의 다른 작업에 대한 배포 이름을 수정하기 위해 여러 개의 if 절을 만들어야 하는 어려운 방법을 발견했습니다.
모든 기능과 플랫폼에 대해 하나의 배포 이름 세트를 사용하여 이 모든 것을 단순화할 수 있다면 좋을 것입니다. 감사해요.
[JMP Pro 17.2.0 사용]