다변량 이상치 분석에서 제어 상한을 얻는 JSL 방법이 위시리스트 요청에 영감을 준 것은 무엇입니까?
다변량 플랫폼의 이상값 분석을 사용하면 Mahalanobis 거리, Jackknife 거리 등을 열에 저장할 수 있습니다.이는 이를 플롯하고 현재 알파에 대해 계산된 관리 상한을 표시합니다. 거리를 사용하여 점이 이상값인지 평가하는 데 매우 유용합니다.JMP는 이 UCL인 열 속성(예: Jackknife Distances 열)에 단일 값(예: Jackknife 값)을 입력합니다.그러나 기준 그룹이 있는 경우 모든 그룹에 고유한 UCL 값이 있으며(그룹의 누락되지 않은 점 수를 기준으로) 열 속성의 이 단일 값은 마지막 그룹에 대한 것으로 나타납니다.
플랫폼 보고서에서 이를 추출할 수 있다고 생각할 수도 있지만 그렇지 않은 것 같습니다. 보고서의 텍스트 상자가 아닌 프레임 상자에 있으며 해당 값을 추출할 방법이 없습니다.
당신이 보고 싶은 개선점은 무엇입니까?
내 사용 사례에서는 By Group을 사용하여 열에 UCL도 포함하고 싶습니다.하지만 제가 보고 싶은 것은 플랫폼에 이를 요청하는 기능일 것입니다. <
관련 항목: 이와 같은 경우 <<해당 값 목록을 더 잘 사용하기 위해 그룹이 무엇인지 알아낼 수 있는 좋은 방법이 있다면 좋을 것 같습니다. 적어도 보고서의 개요 상자 이름을 구문 분석하지 않고 이를 수행하는 방법을 잘 모르겠습니다.<
이 아이디어가 왜 중요한가요?
UCL이 유용한 이유는 분명하다고 생각합니다. 주어진 자신감에 대해 UCL이 먼 거리인지 확인하기 위해 거리를 비교하는 것입니까?
다음은 누군가 이 값을 원했던 커뮤니티 게시물입니다. 열 속성의 단일 값에 만족했기 때문에 By를 사용하지 않은 것 같습니다. 해결됨: Jackknife 예측 값 - JMP 사용자 커뮤니티
자동화 및 스크립팅기본 데이터 분석 및 모델링Re: 다변량 이상치 분석에서 제어 상한을 얻는 JSL 방법스크립팅을 사용하여 해당 값을 내보낼 수 있습니다. 이것이 최선의 방법은 아니지만 가능하다는 것을 보여주어야 합니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Solubility.jmp");
dt << New Column("Group", Numeric, Continuous, Formula(
If(Row() < 20, 1, Row() < 40, 2, 3);
));
mv = dt << Multivariate(
Y(:Ether, :Chloroform, :Benzene, :Carbon Tetrachloride, :Hexane),
Variance Estimation("Row-wise"),
Scatterplot Matrix(1),
By(:Group)
);
mv << Jackknife Distances(1, Save Jackknife Distances);
window = mv[1] << Top Parent;
fbs = window << XPath("//OutlineBox[text()='Jackknife Distances']//FrameBox");
fbs_of_interest = fbs[2::NItems(fbs)::2];
segs = fbs_of_interest << Find Segs(CustomStreamSeg(1));
seg_scripts = segs << get script;
ucls = {};
For Each({seg_script}, seg_scripts,
Insert Into(ucls, seg_script[1]["Text"][2]);
);
show(ucls);Re: 다변량 이상치 분석에서 제어 상한을 얻는 JSL 방법영리한!FindSegs를 사용하려고 시도했지만 실패했습니다.그러나 이러한 값을 직접 요청하는 방법에 대한 나의 바람은 바뀌지 않습니다.
Re: 다변량 이상치 분석에서 제어 상한을 얻는 JSL 방법좋은 해결 방법에 대한 Kudo + Kudo 
@jthi 그걸 어떻게 알았어? CustomStreamSeg ?
같은 것이 있나요? << 세그먼트 나열 ?


Re: 다변량 이상치 분석에서 제어 상한을 얻는 JSL 방법대부분 다른 것을 추측하고 시도함으로써 가능합니다(FrameBox라는 것을 알고 있습니다 -> 디스플레이 세그먼트가 있을 수 있다는 것을 알고 있습니다 -> 거기에서 이동합니다(xml을 확인하고 << 세그먼트 찾기를 사용하거나... 또는 xml로 시작). LineSeg에 액세스하는 "이전" FrameBox에서 UCL 값을 얻을 수 있으므로 이상한 CustomStreamSeg에 액세스할 필요가 없습니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Solubility.jmp");
dt << New Column("Group", Numeric, Continuous, Formula(
If(Row() < 20, 1, Row() < 40, 2, 3);
));
mv = dt << Multivariate(
Y(:Ether, :Chloroform, :Benzene, :Carbon Tetrachloride, :Hexane),
Variance Estimation("Row-wise"),
Scatterplot Matrix(1),
By(:Group)
);
mv << Jackknife Distances(1, Save Jackknife Distances);
window = mv[1] << Top Parent;
linesegs = window << XPath("//FrameBox[@helpKey = 'Multiv Outlier']/LineSeg[@description='UCL Line']");
ucls = {};
For Each({yvals}, linesegs << Get Y Values,
Insert Into(ucls, yvals[1]);
);
show(ucls);Re: 다변량 이상치 분석에서 제어 상한을 얻는 JSL 방법감사해요 
여기에서도 XML을 사용하는 좋은 방법이 있습니다. 저는 그것이 FrameBox 수준에서 멈출 것으로 예상했습니다.
XPath가 여기서도 작동한다는 게 멋지군요...
Re: 다변량 이상치 분석에서 제어 상한을 얻는 JSL 방법살펴볼 가치가 있는 이에 대한 몇 가지 다른 관찰 사항: Jackknife 거리를 이 방식으로 저장하면(다변량 플랫폼의 이상값 분석에서) Mahalanobis 거리 또는 T 제곱을 저장하면 공식 열이 표시되지 않습니다. Jackknife 거리에 대한 결과는 다변량 방법 문서에 설명된 공식과 일치하지만 다른 모든 값이 동일하여 표준 편차가 0인 간단한 1d 사례에 대해 일관되게 누락된 값이 발생하지 않으며 다음과 같은 결과가 발생할 수 있습니다. 이 경우 누락되었거나 매우 큰 값입니다.