공정 변수 드리프트 또는 크리프 감지안녕,
JMP에서 일정 기간 동안 대규모 공정 변수 세트에 대한 드리프트/크리프/구배를 감지하는 데 사용할 수 있는 방법이 있습니까? 그런 다음 사용자는 기울기가 너무 높거나 낮고 플래그가 지정되어야 하는 것으로 간주되는 임계값을 설정합니다.
현재 저는 프로세스 스크리닝 도구에 평균 Upshift, Downshift 및 Absolute Shift를 표시하는 Drift Summaries Option이 있다는 것을 알고 있습니다. 이 경우 전체 드리프트(양수 또는 음수)를 찾고 있지만 절대 이동(내가 보는 것에서)은 [Abs(Upshift) + Abs(Downshift)]로 계산됩니다. 이것은 전반적으로 상승 또는 하락했는지 여부를 알려주지 않습니다. 기술적으로 나는 Abs(Upshift + Downshift [음수 값])를 찾고 있습니다.
현재 해결 방법은 프로세스 스크리닝 결과를 데이터 테이블로 변환하고 계산을 다시 수행하는 화면을 작성하는 것입니다. 그러나 이는 계산된 값이 Quick Graph/Quick Control Charts 등과 같은 유용한 기능이 있는 Processing Screening 플랫폼과 분리되어 있음을 의미합니다. 또한 Local Data Filter와 잘 작동하지 않습니다.
다른 사람이 내가 이것에 접근하는 방법에 대한 아이디어가 있으면 정말 감사하겠습니다. 감사!해석학Re: 공정 변수 드리프트 또는 크리프 감지추가된 열의 정렬 순서와 관련된 문제의 경우 이 문제가 2022년 가을에 제공될 JMP의 다음 주요 릴리스에서 해결될 것임을 확인할 수 있습니다. 허용된 솔루션은 현재로서는 좋은 해결 방법입니다.
Re: 공정 변수 드리프트 또는 크리프 감지JMP 지원팀에서 아직 근본 문제를 해결하지 못했다는 것을 확인했지만, 내가 아는 한 허용된 솔루션으로 해결하면 문제가 해결됩니다.
Re: 공정 변수 드리프트 또는 크리프 감지안녕,
이 포스트를 진행하면서 추가된 컬럼(Combined Drift)의 순서를 해결할 수 있는 솔루션을 찾았는지 궁금합니다.
고맙습니다.
Re: 공정 변수 드리프트 또는 크리프 감지저는 여전히 테이블 정렬이 테이블에서 읽은 값에 적용되지만 테이블에 쓰여진 값에는 적용되지 않는 이유를 파악하기 위해 JMP 지원팀과 협력하고 있습니다.현재로서는 대략적인 해결 방법이 있습니다.
names default to here(1);
dt = Open("$Sample_Data/iris.jmp");
//Open Process Screening with drift summaries
ps = dt << Process Screening(
Y( :Sepal length, :Sepal width, :Petal length, :Petal width ),
Control Chart Type( "Indiv and MR" ),
Drift Summaries( 1 )
);
//Add a dummy column and use set values to reset the table order
ncb = (ps << XPath( "//TableBox" )) << Append( newCol = NumberColBox("Delete Me", {}));
newCol << Set Values({});
newCol << Delete Box;
//calculate the combined drift
UpDrift = (ps << XPath( "//NumberColBox[NumberColBoxHeader[text()='Mean Up Drift']]" ))[1] << Get;
DownDrift = (ps << XPath( "//NumberColBox[NumberColBoxHeader[text()='Mean Down Drift']]" ))[1] << Get;
CombinedDrift = Abs( Matrix(UpDrift) + Matrix(DownDrift) );
ncb = (ps << XPath( "//TableBox" )) << Append( newCol = NumberColBox("Combined Drift", CombinedDrift));Re: 공정 변수 드리프트 또는 크리프 감지당신 말이 맞아요. 잘못된 주문을 더 일찍 받지 못한 것에 대해 사과드립니다.이 방법을 여러 번 사용했지만 아직 그 문제가 발생하지 않았습니다(방금 돌아가서 내 스크립트 몇 개를 다시 확인했습니다).어떤 이유로 테이블에서 데이터를 가져오는 것은 테이블의 정렬된 순서를 사용하는 것처럼 보이지만 데이터를 쓸 때 행은 다른 순서로 되돌아갑니다.나는 그것을 해결하기 위해 노력할 것입니다.
Re: 공정 변수 드리프트 또는 크리프 감지안녕하세요,
불일치 측면에서 스크린샷을 예로 들어 결합된 드리프트 열의 값을 보면 평균 상승 드리프트와 평균 다운 드리프트를 더할 때 값이 일치하지 않는다는 것을 알 수 있습니다. 두 행렬 사이에서 수학이 올바르게 수행되었다고 생각하지만 값이 다시 추가될 때 원래 프로세스 스크리닝 테이블의 열 매개변수 순서와 잘못 정렬될 수 있습니다.
이것이 명확해지기를 바랍니다.Re: 공정 변수 드리프트 또는 크리프 감지계산된 값이 일치하지 않는다는 것이 무엇을 의미하는지 잘 모르겠습니다.불일치의 예를 들어주실 수 있습니까?
두 번째 단락의 해결 방법에 동의합니다. 데이터 필터에서 업데이트한 후 다시 계산하는 것이 가장 쉬운 방법일 수 있습니다.
Re: 공정 변수 드리프트 또는 크리프 감지안녕!
이 문제에 대해 다시 알려주셔서 감사합니다. 이것이 거의 완전한 솔루션이라고 생각하지만 원래 프로세스 스크리닝 테이블 상자에 추가하는 계산된 값이 적절한 매개변수/열과 실제로 일치하지 않는 것 같습니다. 값을 추가할 때 일치할 수 있도록 이 스크립트에서 생성된 행렬에 열 이름을 추가할 수 있는 방법이 있는지 궁금합니다.
또한 기둥을 영구적으로 만들 수 있는지 궁금합니다. 로컬 데이터 필터를 적용하고 다시 계산하면 열이 사라집니다. 빠른 해결 방법은 데이터 테이블에서 데이터 필터를 실행하고 이 스크립트를 다시 실행하는 것일 수 있습니다.Re: 공정 변수 드리프트 또는 크리프 감지Process Screening 테이블에 열을 추가할 수 있습니다.
names default to here(1);
dt = Open("$Sample_Data/iris.jmp");
//Open Process Screening with drift summaries
ps = dt << Process Screening(
Y( :Sepal length, :Sepal width, :Petal length, :Petal width ),
Control Chart Type( "Indiv and MR" ),
Drift Summaries( 1 )
);
//calculate the combined drift
UpDrift = (ps << XPath( "//NumberColBox[NumberColBoxHeader[text()='Mean Up Drift']]" ))[1] << Get;
DownDrift = (ps << XPath( "//NumberColBox[NumberColBoxHeader[text()='Mean Down Drift']]" ))[1] << Get;
CombinedDrift = Abs( Matrix(UpDrift) + Matrix(DownDrift) );
//Add column to table with Combined Drift
ncb = (ps << XPath( "//TableBox" )) << Append( NumberColBox("Combined Drift", CombinedDrift) );오른쪽에 새로운 'Combined Drift' 열이 표시되어야 합니다.
