이 위시리스트 요청에 영감을 준 것은 무엇입니까?
우리 회사에서는 ~10,000행 x 10,000열을 포함하는 데이터세트에 대해 ppk와 새로운 제한을 계산해야 하며, 이 작업은 여러 데이터세트에서 매일 수행되어야 합니다. 이 작업은 매우 오랜 시간이 걸릴 수 있습니다. 저는 배포 또는 프로세스 기능 플랫폼을 사용하여 이를 자동화하고 ppk, 최적, 해당 적합에 대한 매개변수 및 대상 ppk를 기반으로 하는 새로운 제한 세트를 출력하는 스크립트 작성을 탐색했습니다. 일부 동료는 Matlab에서 동일한 작업을 수행하는 스크립트를 작성했습니다. JMP 스크립트를 최적화하려는 모든 노력에도 불구하고 Matlab 스크립트는 여전히 약 10배 더 빠릅니다.
당신이 보고 싶은 개선점은 무엇입니까?
보고서 창을 생성하지 않고 스크립트에서 실행할 수 있는 JSL 함수를 보고 싶습니다. 다음과 같은 입력이 있습니다.
- 열의 데이터를 1xn 행렬로,
- 데이터에 맞는 분포 목록,
- 사용하기 선호하는 ppk방법(점수, 백분위수),
- 타겟 ppk
그리고 다음과 같이 출력됩니다.
- 가장 잘 맞는 분포 이름(최소 AICC)
- 최적 분포 유형에 대한 적합 매개변수의 벡터 또는 목록
- PPK,
- 사용된 ppk방법(zscore 또는 백분위수),
- aicc(있으면 좋지만 필수는 아님)
- 목표 ppk를 사용하여 계산된 새로운 제한(있으면 좋지만 필수는 아님)
마지막으로 Beta, Exponential, Gamma, Johnson, Lognormal, Normal, Normal Mixture, SHASH 및 Weibull 분포에 적합할 수 있어야 합니다.
이 아이디어가 왜 중요한가요?
(1) 팀에서 JMP를 사용하고 싶지만, 내 스크립트는 실행하는 데 30분이 걸리는 반면 Matlab 스크립트는 동일한 작업을 수행하지만 1분밖에 걸리지 않는다면 설득하기가 거의 불가능합니다. 내 스크립트가 느린 이유는 10,000개 열에 대한 보고서 창을 만드는 데 드는 모든 오버헤드 때문입니다. 대신, 보고서 생성을 건너뛰고 필요한 결과만 제공할 수 있는 기능을 사용하여 이러한 계산을 수행할 수 있다면 좋을 것입니다. 나는 이것이 훨씬 더 빠르고 코딩하기 쉬울 것이라고 믿습니다.
(2) 10,000개가 넘는 열의 데이터 세트를 분석할 수 있어야 합니다. 12000개의 열을 사용하여 스크립트를 실행하려고 하면 스크립트가 실행 도중에 중지되는 것을 발견했습니다. 아직 근본 원인을 파악하지 못했지만 3600열 이하에서는 잘 작동합니다. 보고서 창 생성에 제한이 있어 오류가 발생하는 것이 아닌가 의심됩니다.
내가 시도한 다른 것들
1. Fit Censored() 및 Fit Transform to Normal() 함수는 모두 맞춤 매개변수를 얻는 데 사용할 수 있다는 점에서 제가 요청한 함수와 유사합니다. 그들은 ppk나 새로운 한계를 계산하지 않지만 적합 매개변수를 사용하여 ppk와 새로운 한계를 직접 계산할 수 있습니다. 그러나 이러한 기능은 내가 원하는 배포판의 하위 집합만 지원합니다.
2. 저는 현재 Python으로 무언가를 작성하고 이를 기존 스크립트에 통합하여 배포 및 프로세스 기능 플랫폼의 사용을 대체하는 방법을 모색하고 있습니다. 하지만 시간이 많이 걸릴 것 같아요.
불행히도 내 문제를 재현하는 스크립트는 다소 깁니다. 요청 시 제공하겠지만 위의 문제에 대한 설명이 충분하기를 바랍니다.
내 세부 사항:
JMP 프로 17.2.0
MacOS 벤츄라 13.6.1