모델 기반 다변량 연속 프로세스 검증 목적으로 벤치마크 모델을 사용하는 방법안녕 모두,
게시물에 계속해서 (링크는 아래에 제공됨)-
https://community.jmp.com/t5/Discussions/Help-in-JSL-scripting-of-Model-Driven-Multivariate-Control-Chart/mp/655359#M84445
이전에 제안한 것과 유사한 줄에 하나의 일반 스크립트를 갖도록 스크립트를 확장하고 싶지만 이번에는 모델 기반 다변량 제어 차트가 제어 한계를 수정하기 위해 일부 벤치마크 모델(PCA 또는 PLS)을 사용해야 합니다. 그 이유는 지속적인 프로세스 검증을 위해 한도를 수정하면(이상치 없이 과거 데이터 세트에서 계산됨) 향후 배치를 이 한도에 대해 모니터링해야 하기 때문입니다. 현재 이 스크립트가 실행될 때마다 데이터 세트가 다르기 때문에 새로운 제어 제한이 생성됩니다(명백한 이유로).
따라서 첫 번째 부분은 제어 한계를 수정하는 것입니다(모든 과거/황금 데이터 세트가 제어 한계 아래로 떨어져야 함). 데이터 포인트가 제어 한계 아래로 떨어졌습니까(물론, 이상값을 제거한 후)? 여기서 내가 직면하고 있는 까다로운 부분은 MDMVCC가 제어 한계를 넘어 하나 또는 다른 데이터 포인트를 제공할 때마다(데이터 세트가 변경됨에 따라) 소위 이상값이 제거되었음에도 불구하고 직면하고 있는 것입니다.이것은 고쳐져야 합니다.
두 번째 부분은 이후에 제조된 배치에서 이 스크립트(고정 제어 한계 포함)를 실행하여 CPV 활동의 일부로 변수의 일탈을 식별하는 것입니다.
전반적인 아이디어는 우수한 정확도로 이상치/변이를 예측/식별할 수 있는 일반 MDMVCC 스크립트(벤치마크 모델에서)를 갖는 것입니다.
커뮤니티의 누군가가 저를 안내하거나 이 요청에 대해 더 많은 정보를 제공할 수 있다면 대단히 감사하겠습니다.
미리 감사드립니다!
한국,
나와즈
고급 통계 모델링Re: 모델 기반 다변량 연속 프로세스 검증 목적으로 벤치마크 모델을 사용하는 방법안녕하세요 @Riaz90Nawaz
두 번째 질문(고정 제어 한계 포함)의 경우 이것은 아이디어입니다.
- 현재 데이터 세트/향후 배치에 과거/황금 데이터 추가
- MDMVCC에 대한 "Historical Data End at Row" 옵션 설정
다음은 참조용 샘플 스크립트입니다.
Names Default To Here( 1 );
historical_dt = Open( "$SAMPLE_DATA/Quality Control/Aluminum Pins Historical.jmp" );
current_dt = Open( "$SAMPLE_DATA/Quality Control/Aluminum Pins Current.jmp" );
//Get the number of rows for the historical data
historical_data_end_row = N Row( historical_dt );
//Combine the data tables
dt = historical_dt << Concatenate( current_dt );
//Close
Close( historical_dt, nosave );
Close( current_dt, nosave );
dt << Clear Row States;
cols_of_interest = dt << get column names( Continuous, "String" );
Eval(
Substitute(
Expr(
obj = dt <<
Model Driven Multivariate Control Chart(
Process( cols_of_interest ),
Historical Data End at Row( historical_data_end_row )
)
),
Expr( cols_of_interest ), Eval( cols_of_interest ),
Expr( historical_data_end_row ), Eval( historical_data_end_row )
)
);
obj << T Square Plot( Save Values );
new_cols = Associative Array( dt << get column names( Continuous, "String" ) );
new_cols << Remove( Associative Array( cols_of_interest ) ); // T2 column
// get UCL (should be made more robust)
ucl_value = ((Report( obj )[Outline Box( "T² Limit Summaries" )] << Child)[3] << Get)[1];
alarm_rows = Loc( dt[0, new_cols << get keys] > ucl_value );
dt << Select Rows( alarm_rows );
Wait( 0 );
obj << T² Plot( Contribution Plot for Selected Samples( alarm_rows ) );
dt << Clear Select;
그것이 당신의 문제에 효과가 있기를 바랍니다.
Re: 모델 기반 다변량 연속 프로세스 검증 목적으로 벤치마크 모델을 사용하는 방법안녕 @yuichi_katsumur ,
안내해 주셔서 감사합니다. 대단히 감사합니다.
동일한 코드에 다음 코드를 추가하여 변수 간의 상관 관계를 이해할 수 있도록 다변량 산점도 행렬을 추가하려고 합니다.
다변량(
Y(cols_of_interest),
분산 추정("행 방향"),
산점도 행렬( 밀도 타원( 1 ) )
);
이 측면에 대해서도 약간의 조명을 던질 수 있다면 감사하겠습니다.
감사합니다.
Re: 모델 기반 다변량 연속 프로세스 검증 목적으로 벤치마크 모델을 사용하는 방법안녕하세요 @Riaz90Nawaz ,
한 가지 아이디어는 다음 코드입니다. 나는 이것이 효과가 있을 것이라고 생각한다.
Multivariate(
Y( eval(cols_of_interest) ),
Variance Estimation( "Row-wise" ),
Scatterplot Matrix( Density Ellipses( 1 ) )
);
Re: 모델 기반 다변량 연속 프로세스 검증 목적으로 벤치마크 모델을 사용하는 방법안녕 @yuichi_katsumur ,
신속한 지원에 진심으로 감사드립니다. 그것은 효과가 있었다.
내 기본 게시물에도 게시한 한 가지 일반 쿼리는 이 고정 제한(과거 데이터 세트에서 생성됨)을 현재 데이터 세트에 시각적으로(스크립팅을 통해) 추가할 수 없습니까? 스크립트는 기록 제어 제한을 위반하는 행에 대해서만 기여를 제공하지만 알 수 있습니다. 현재 데이터 세트에 대해서도 이 참조선을 갖는 것이 이상적입니다. 현재 현재 데이터 세트의 제어 한계는 빨간색 파선으로 표시됩니다. 저는 이것이 표시되는 것을 원하지 않습니다(명백한 이유로). 대신 과거의 고정 제어 한계는 현재/미래 동안 계속되어야 합니다. 데이터세트도. 이것은 보다 정확한 시각적 표현을 제공합니다.
한국
Re: 모델 기반 다변량 연속 프로세스 검증 목적으로 벤치마크 모델을 사용하는 방법안녕 @Riaz90Nawaz ,
아시다시피 과거 데이터에 대한 관리 상한(UCL)은 베타 분포를 기반으로 합니다. 한편, 현재 데이터에 대한 UCL은 F 분포를 기반으로 합니다. https://www.jmp.com/support/help/en/17.1/#page/jmp/statistical-details-for-limits.shtml#ww345612
각 데이터에 대해 동일한 제한을 사용하는 것이 타당한지 잘 모르겠습니다. 한 가지 아이디어는 행 제외 옵션을 사용하는 것입니다. 다음은 참조용 샘플 스크립트입니다.
Names Default To Here( 1 );
historical_dt = Open( "$SAMPLE_DATA/Quality Control/Aluminum Pins Historical.jmp" );
current_dt = Open( "$SAMPLE_DATA/Quality Control/Aluminum Pins Current.jmp" );
//Get the number of rows for the historical data
historical_data_end_row = N Row( historical_dt );
//Combine the data tables
dt = historical_dt << Concatenate( current_dt );
//Close
Close( historical_dt, nosave );
Close( current_dt, nosave );
dt << Clear Row States;
cols_of_interest = dt << get column names( Continuous, "String" );
dt << Multivariate(
Y( Eval( cols_of_interest ) ),
Variance Estimation( "Row-wise" ),
Scatterplot Matrix( Density Ellipses( 1 ) )
);
//Exclude current data
data_end_row = N Row( dt );
selected_row = dt << select rows( Index( historical_data_end_row, data_end_row ) );
selected_row << Exclude;
obj = dt << Model Driven Multivariate Control Chart( Process( Eval( cols_of_interest ) ) );
//Show excluded row
obj << Show Excluded Rows( 1 );
obj << T Square Plot( Save Values );
new_cols = Associative Array( dt << get column names( Continuous, "String" ) );
new_cols << Remove( Associative Array( cols_of_interest ) ); // T2 column
// get UCL (should be made more robust)
ucl_value = ((Report( obj )[Outline Box( "T² Limit Summaries" )] << Child)[3] << Get)[1];
alarm_rows = Loc( dt[0, new_cols << get keys] > ucl_value );
dt << Select Rows( alarm_rows );
Wait( 0 );
obj << T² Plot( Contribution Plot for Selected Samples( alarm_rows ) );
dt << Clear Select;
//Add reference line
report = obj << report;
report[Picture Box( 1 )][axis box( 2 )] << Add Ref Line(
{0, eval(historical_data_end_row)},
"Solid",
"Light Red",
"Historical",
1,
0.25
);Re: 모델 기반 다변량 연속 프로세스 검증 목적으로 벤치마크 모델을 사용하는 방법안녕 @yuichi_katsumur ,
신속한 지원에 다시 한 번 진심으로 감사드립니다!!
예, 과거 및 현재 데이터 세트의 기본 분포 차이에 대해 알고 있습니다. 실제로 "CPV(Continued Process Verification)"의 일부로 후속 모니터링에 다른 제한을 사용할 수 없습니다. 기본적으로 프로세스의 드리프트/이동을 연구하기 위해 후속 배치를 모니터링하는 하나의 고정 제어 한계(과거 데이터 세트에서 파생됨)가 있어야 합니다. 내가 고치려는 요점을 얻었기를 바랍니다.
이에 대한 귀하의 지원에 감사하지만 행을 제외하지 않고 이 작업을 수행할 수 없습니까? 방금 제공된 스크립트를 사용해 보았습니다. T2 컨트롤 차트 시각화 측면에서 내가 달성하고자 하는 목적을 제공하지만 T2 기여 플롯을 보았을 때 스크립트는 모든 포인트에 대한 차트를 제공합니다(특히 현재 데이터 세트의 경우). ) 특정 포인트가 UCL을 위반하는지 여부에 관계없이. 스크립트에서 "alarm_rows"에 대한 기여도 플롯이 구체적으로 언급되어 있지만 작동하지 않는 것 같습니다. 현재 데이터 세트 행을 제외했기 때문일 수 있지만 확실하지 않습니다.
내가 달성하려는 것을 이해하기를 바랍니다.
귀하의 지원에 미리 감사드립니다.
감사합니다.
Re: 모델 기반 다변량 연속 프로세스 검증 목적으로 벤치마크 모델을 사용하는 방법안녕 @Riaz90Nawaz , 당신의 답변에 감사드립니다. 나는 당신이 원하는 것을 이해합니다. 죄송합니다. 스크립트에 오류가 있습니다. 스크립트에 다음 줄을 추가하십시오(26번째 줄).
//Exclude current data
data_end_row = N Row( dt );
selected_row = dt << select rows( Index( historical_data_end_row, data_end_row ) );
selected_row << Exclude;
dt << Clear Select; //Please add this line!!
행을 제외할 때 일부 행을 선택했으므로 선택을 취소해야 합니다. 나는 이것이 효과가 있을 것이라고 생각한다.
Re: 모델 기반 다변량 연속 프로세스 검증 목적으로 벤치마크 모델을 사용하는 방법안녕 @yuichi_katsumur ,
업데이트된 스크립트에 감사드립니다.지금 작동하고 있습니다.
신속한 지원에 감사드립니다!!
좋은 하루 보내세요!
친애하는,