Re: 자동차 PAT에 대한 Outlier 화면(부품 평균 테스트)안녕,
내 마지막 게시물을 따르십시오. 강력한 맞춤 이상값을 사용하고 있습니다. 기본 기능은 고/저 이상값, 평균 +/-6 시그마를 선별하는 것입니다.
일부 항목의 경우 평균+6 시그마(누출 항목과 같이 낮은 것이 좋음)에서 이상값만 선별하면 됩니다.
누구든지 평균 + 6 시그마에 대해서만 강력한 적합 이상치를 사용하는 방법을 말해 줄 수 있습니까?
감사해요
Re: 자동차 PAT에 대한 Outlier 화면(부품 평균 테스트)나는 결국 표현을 조작했다. 더 나은 방법이 없다면 이 접근 방식을 채택할 수 있어야 합니다.
NamesDefaultToHere(1);
// Sample data
dt = Open("$SAMPLE_DATA/Big Class.jmp");
// Explore outliers
eo = dt << Explore Outliers(Y( :height ));
eo << Robust Fit Outliers( K Sigma( 1 ), Huber( 0 ), Quartile( 1 ) );
eo << obj << Color Cells( :height ); // Blue (red) cells are 'low' ('high')
// Get the row numbers of the red cells . . .
// (1) Get the column script
colScript = :height << getScript;
// (2) Find the 'Color Cells' expression in the column script
n = 1;
While(Head(Arg(colScript, n)) != Expr(Color Cells), n++);
cs = Arg(colScript, n);
// (3) Find the row numbwrs of the red cells (red is '35')
n = 1;
While((Arg(cs, 1)[n])[1] != 35, n++);
redRowList = (Arg(cs, 1)[n])[2];
Print(redRowList);Re: 자동차 PAT에 대한 Outlier 화면(부품 평균 테스트)안녕 이안,
답장을 보내 주셔서 감사합니다.
1. Robust Fit outlier는 양방향에 대한 것이며 아래 수식은 +1 시그마 또는 -1 시그마 중 행을 빨간색으로 표시하는 것입니다.
행을 +1 시그마로만 표시하고 싶습니다.
eo << Robust Fit Outliers( K Sigma( 1 ), Huber( 0 ), Quartile( 1 ) );
2. 콜리스트를 인쇄하는 데 도움을 주기 위해 이것이 내가 정말로 찾고 있는 것입니다.
내가 받은 오류는 'Arg (cs,1) [n]/*###*/1]', Arg(cs,1)[n]/*###*/의 액세스 또는 평가에서 첨자할 수 없는 객체였습니다. 1]'
다시 검토해 주시겠습니까? 감사해요.
자동차 PAT(부품 평균 테스트)에 대한 Outlier 화면안녕하세요 팀,
Robust Fit 이상값 - 사분위수를 사용하고 있습니다. 결과는 높음 및 낮음 화면 모두에 대해 평균 +/- 6K(시그마)입니다.
지금은 누수 부분만 보고 있습니다. 평균 + 6K(시그마)에 대한 이상치가 필요합니다.
JSL에서 발생시키는 방법을 알려주십시오. 감사해요.
특이치 탐색( Y( :icc_aux10_total_vcc_1.000, :icc_aux10_VCCAUX10_vcc_1.000, :icc_aux18_total_vcc_1.000, :icc_aux18_VCCAUX18_vcc_1.000, :icc_core_total_vcc_1.050, :icc_core_VCC_vcc _1.050, :icc_core_lp_total_vcc_1.000, :icc_core_lp_VCC_vcc_1.000, :iccio_b_total_vcc_1.000, :iccio_b_VCCIOB_vcc_1.000, :iccio_ltr_total_vcc_1.000, :iccio_ltr_VCCIOLTR_vcc_1.000 ), Robust Fit Outliers( K Sigma( 6 ), Huber( 0 ), Quartile( 1 ) ), SendToReport( Dispatch( {}, "Commands", OutlineBox, {닫기( 0 )} ) ) );품질 및 프로세스 엔지니어링Re: 자동차 PAT에 대한 Outlier 화면(부품 평균 테스트)빨간색과 파란색 색상을 사용하는 것은 (내가 아는 한) JMP에 일방적 스크리닝(필요에 따라 높은 쪽 또는 낮은 쪽)을 수행하도록 요청할 수 있는 직접적인 방법이 없다는 사실을 우회하는 간접적인 방법일 뿐입니다. .
나에게 (Mac에서 JMP 17.1 사용) 위에 게시된 코드는 오류를 생성하지 않습니다. 다음을 인쇄합니다.
{25, 27, 30, 37, 39, 40}
이는 높은 쪽의 이상값을 포함하는 행 번호 목록입니다(표의 빨간색 셀).
Re: 자동차 PAT에 대한 Outlier 화면(부품 평균 테스트)안녕 이안,
늦은 답변 죄송합니다. 이제 스크립트를 실행할 JMP17이 있습니다. 말씀하신대로 오류 없습니다. 빨간색/파란색을 각각 보여줍니다.
시그마를 1에서 2,3,4,5,6으로 변경하려고 하면 동일한 오류가 발견되었습니다.
그것을 고치는 방법을 아십니까?
감사해요.
Re: 자동차 PAT에 대한 Outlier 화면(부품 평균 테스트)위에서 나는 '이 접근 방식을 적용하십시오'라고 조심스럽게 말했습니다
. 다른 사람을 대변하지 않고 JSL 스니펫을 게시할 때 내 의도는 (보통) 누군가가 코드를 파악하고 스스로 더 나아갈 수 있도록 격려하는 것입니다.
시그마를 2로 변경하면 테이블에 파란색 셀만 있고(낮은 쪽의 이상값) 코드가 이를 처리할 만큼 충분히 일반적이지 않으며 본 오류를 생성하는 것을 볼 수 있습니다.
모든 상황을 다룰 수 있는 보다 완전한(테스트되지 않은 . . . ) 스크립트를 찾으십시오.
NamesDefaultToHere(1);
// Sample data
dt = Open("$SAMPLE_DATA/Big Class.jmp");
// Explore outliers
eo = dt << Explore Outliers(Y( :height ));
eo << Robust Fit Outliers( K Sigma( 2 ), Huber( 0 ), Quartile( 1 ) );
eo << obj << Color Cells( :height ); // Blue (red) cells are 'low' ('high')
// Get the column script
colScript = :height << getScript;
// Initialise lists (which may or may not be updated by the subsequent code)
redRowList = {};
blueRowList = {};
// Find the location of the sub-expression 'Color Cells'. if there are no outliers, 'colorCellsExist' will be 0
subExpr = {};
for(i=1, i<=NArg(colScript), i++, InsertInto(subExpr, Head(Arg(colScript, i))));
colorCellsExist = Contains(subExpr, Expr(Color Cells));
// Find the row numbwrs of any high (red) cells or low (blue) cells (red is '35', blue is '37'):
// Need to handle situations in which there are only high outliers, only low outliers, both high and low
// outliers, or no outliers
if(
colorCellsExist,
// Get the 'Color Cells' expression in the column script
cs = Arg(colScript, colorCellsExist);
if(
// If 'cs' is a list of lists, we have both high and low outliers . . .
IsList(Arg(cs, 1)[1]),
for(i=1, i<=NItems(Arg(cs, 1)), i++,
if(
(Arg(cs, 1)[i])[1] == 35, redRowList = (Arg(cs, 1)[i])[2];
(Arg(cs, 1)[i])[1] == 37, blueRowList = (Arg(cs, 1)[i])[2];
);
);
,
// . . . or if 'cs' is not a list of lists, we have either high or low outliers (but not both)
if(
Arg(cs, 1)[1] == 35, redRowList = Arg(cs, 1)[2],
Arg(cs, 1)[1] == 37, blueRowList = Arg(cs, 1)[2]
);
);
);
Print("High: "||Char(redRowList)||" Low: "||Char(blueRowList));