Metodo JSL per ottenere i limiti di controllo superiori dall'analisi dei valori anomali multivariatiCosa ha ispirato questa richiesta di lista dei desideri?
L'analisi dei valori anomali della piattaforma multivariata consente di salvare le distanze Mahalanobis, le distanze Jackknife, ecc. in una colonna.Li traccerà e mostrerà un limite di controllo superiore calcolato su quelli per l'alfa corrente, molto utile per utilizzare le distanze per valutare se un punto è un valore anomalo.JMP inserisce un singolo valore (ovvero Valore Jackknife) nelle proprietà della colonna (ovvero nella colonna Distanze Jackknife) che rappresenta questo UCL.Tuttavia, se fosse presente un gruppo Per, ci sono valori UCL distinti per ogni gruppo (in base al numero di punti non mancanti nel gruppo) e questo singolo valore nelle proprietà della colonna sembra essere solo per l'ultimo gruppo.
Si potrebbe pensare che potresti estrarli dal report della piattaforma, ma non sembra: sono nei Framebox, non nelle caselle di testo nel report e non vedo un modo per estrarre quei valori.
Qual è il miglioramento che vorresti vedere?
Nel mio caso d'uso, con By Group vorrei che anche gli UCL fossero in una colonna.Ma quello che mi piacerebbe vedere è forse la possibilità di chiederli alla piattaforma, magari in modo simile al modo in cui puoi chiedere un adattamento nel modello di adattamento per vari valori calcolati utilizzando <
Correlati: sarebbe bello se in casi come questo ci fosse un buon modo per <
Perché questa idea è importante?
Penso che sia chiaro il motivo per cui gli UCL sono utili: è ciò con cui confronteresti la distanza per vedere se è una grande distanza, per una data confidenza?
Ecco un post della community in cui qualcuno voleva questo valore, semplicemente non stava usando By, immagino perché era soddisfatto del singolo valore nelle proprietà della colonna: Risolto: valori previsti di Jackknife - Comunità di utenti JMP
Automazione e scriptingAnalisi e modellazione dei dati di baseRi: Metodo JSL per ottenere i limiti di controllo superiori dall'analisi dei valori anomali multivariatiPuoi esportare questi valori con lo scripting. Questo non è il metodo migliore ma dovrebbe dimostrare che è possibile
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);Ri: Metodo JSL per ottenere i limiti di controllo superiori dall'analisi dei valori anomali multivariatiIntelligente!Avevo provato a utilizzare FindSegs senza successo.Ma ciò non cambia il mio desiderio di un modo per richiedere direttamente quei valori.
Ri: Metodo JSL per ottenere i limiti di controllo superiori dall'analisi dei valori anomali multivariatiComplimenti + Complimenti per la bella soluzione 
@jthi come hai scoperto che è così? CustomStreamSeg ?
C'è qualcosa di simile << elenco segg ?


Ri: Metodo JSL per ottenere i limiti di controllo superiori dall'analisi dei valori anomali multivariatiMolto probabilmente indovinando e provando cose diverse (so che è FrameBox -> so che potrebbero esserci segmenti di visualizzazione -> vai da lì (controlla xml, usa << trova segs... o inizia semplicemente con xml). L'accesso a quello strano CustomStreamSeg non è necessario in quanto puoi ottenere il valore UCL da FrameBox "precedente" che accede al suo LineSeg
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);Ri: Metodo JSL per ottenere i limiti di controllo superiori dall'analisi dei valori anomali multivariatiGrazie 
bel trucco per usare l'XML anche qui: mi aspettavo che si fermasse a livello di FrameBox.
bello che XPath funzioni anche qui...
Ri: Metodo JSL per ottenere i limiti di controllo superiori dall'analisi dei valori anomali multivariatiUn paio di altre osservazioni a riguardo che potrebbero valere la pena dare un'occhiata: quando salvi le distanze Jackknife in questo modo (dall'analisi dei valori anomali della piattaforma multivariata) non ottieni una colonna formula, anche se lo fai se salvi le distanze Mahalanobis o T al quadrato. I risultati per le distanze Jackknife corrispondono alla formula descritta nella documentazione dei metodi multivariati ma ciò non risulta in modo coerente in un valore mancante per il semplice caso 1-d in cui tutti gli altri valori sono uguali quindi la loro deviazione standard è 0, può risultare in mancante o un valore molto grande in questo caso.