JSL-Methode zur Ermittlung der oberen Kontrollgrenzen aus der multivariaten AusreißeranalyseWas hat diese Wunschlistenanfrage inspiriert?
Mit der Ausreißeranalyse der multivariaten Plattform können Sie Mahalanobis-Abstände, Jackknife-Abstände usw. in einer Spalte speichern.Diese werden grafisch dargestellt und eine berechnete obere Kontrollgrenze für das aktuelle Alpha angezeigt – sehr nützlich, um mithilfe der Abstände zu beurteilen, ob ein Punkt ein Ausreißer ist.JMP fügt einen einzelnen Wert (z. B. Jackknife-Wert) in die Spalteneigenschaften (z. B. in die Spalte „Jackknife-Abstände“) ein, der diese UCL darstellt.Wenn es jedoch eine „Nach“-Gruppe gab, gibt es für jede Gruppe unterschiedliche UCL-Werte (basierend auf der Anzahl der nicht fehlenden Punkte in der Gruppe) und dieser einzelne Wert in den Spalteneigenschaften scheint nur für die letzte Gruppe zu gelten.
Man könnte meinen, man könnte sie aus dem Bericht der Plattform extrahieren, aber das scheint nicht der Fall zu sein – sie befinden sich in Frameboxen und nicht in Textfeldern im Bericht, und ich sehe keine Möglichkeit, diese Werte zu extrahieren.
Welche Verbesserung würden Sie sich wünschen?
In meinem Anwendungsfall möchte ich mit einer Nach-Gruppe auch die UCLs in einer Spalte haben.Aber was ich mir wünschen würde, ist vielleicht eine Möglichkeit, die Plattform danach zu fragen, vielleicht ähnlich der Art und Weise, wie man in Fit Model mit <
Verwandt: Es wäre schön, wenn es in solchen Fällen eine gute Möglichkeit gäbe, <
Warum ist diese Idee wichtig?
Ich denke, es ist klar, warum die UCLs nützlich sind – es geht darum, womit man die Distanz vergleichen würde, um zu sehen, ob es sich um eine große Distanz für ein gegebenes Vertrauen handelt?
Hier ist ein Community-Beitrag, in dem jemand diesen Wert haben wollte. Er hat einfach kein „By“ verwendet, weil er mit dem einzelnen Wert in den Spalteneigenschaften zufrieden war: Gelöst: Vorhergesagte Jackknife-Werte – JMP-Benutzergemeinschaft
Automatisierung und SkripterstellungGrundlegende Datenanalyse und ModellierungBetreff: JSL-Methode zur Ermittlung der oberen Kontrollgrenzen aus der multivariaten AusreißeranalyseSie können diese Werte mit Skripten exportieren. Dies ist nicht die beste Methode, sollte aber zeigen, dass sie möglich ist
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);Betreff: JSL-Methode zur Ermittlung der oberen Kontrollgrenzen aus der multivariaten AusreißeranalyseClever!Ich hatte erfolglos versucht, FindSegs zu verwenden.Aber es ändert nichts an meinem Wunsch nach einer Möglichkeit, diese Werte direkt anzufordern.
Betreff: JSL-Methode zur Ermittlung der oberen Kontrollgrenzen aus der multivariaten AusreißeranalyseKudo + Kudo für den netten Workaround 
@jthi Wie hast du herausgefunden, dass es so ist? CustomStreamSeg ?
Gibt es so etwas wie << Segmente auflisten ?


Betreff: JSL-Methode zur Ermittlung der oberen Kontrollgrenzen aus der multivariaten AusreißeranalyseHöchstwahrscheinlich durch Raten und Ausprobieren verschiedener Dinge (ich weiß, dass es FrameBox ist -> ich weiß, dass es Anzeigesegmente geben könnte -> gehen Sie von dort aus (überprüfen Sie XML, verwenden Sie << find segs ... oder beginnen Sie einfach mit XML). Der Zugriff auf dieses seltsame CustomStreamSeg ist nicht erforderlich, da Sie den UCL-Wert von der „früheren“ FrameBox erhalten können, die auf deren LineSeg zugreift
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);Betreff: JSL-Methode zur Ermittlung der oberen Kontrollgrenzen aus der multivariaten AusreißeranalyseDanke 
Netter Trick, um das XML auch hier zu verwenden – ich habe erwartet, dass es auf FrameBox-Ebene stoppt.
cool, dass XPath hier auch funktioniert ...
Betreff: JSL-Methode zum Ermitteln der oberen Kontrollgrenzen aus der multivariaten AusreißeranalyseEin paar weitere Beobachtungen hierzu, die einen Blick wert sein könnten: Wenn Sie die Jackknife-Distanzen auf diese Weise speichern (aus der Ausreißeranalyse der multivariaten Plattform), erhalten Sie keine Formelspalte, obwohl Sie eine erhalten, wenn Sie Mahalanobis-Distanzen oder T-Quadrat speichern. Die Ergebnisse für Jackknife-Distanzen stimmen mit der in der Dokumentation zu multivariaten Methoden beschriebenen Formel überein, aber das führt nicht durchgängig zu einem fehlenden Wert für den einfachen 1-D-Fall, in dem alle anderen Werte gleich sind, sodass ihre Standardabweichung 0 ist. In diesem Fall kann es entweder zu einem fehlenden oder einem sehr großen Wert führen.