Método JSL para obtener los límites de control superiores del análisis de valores atípicos multivariados¿Qué inspiró esta solicitud de lista de deseos?
El análisis de valores atípicos de la plataforma multivariante le permite guardar distancias de Mahalanobis, distancias Jackknife, etc. en una columna.Los trazará y mostrará un límite de control superior calculado para los del alfa actual, muy útil para usar las distancias para evaluar si un punto es un valor atípico.JMP coloca un valor único (es decir, Valor Jackknife) en las propiedades de la columna (es decir, en la columna Distancias Jackknife) que es este UCL.Sin embargo, si hubiera un grupo Por, hay valores UCL distintos para cada grupo (según el número de puntos no faltantes en el grupo) y este valor único en las propiedades de la columna parece ser solo para el último grupo.
Uno podría pensar que podría extraerlos del informe de la plataforma, pero no lo parece: están en cuadros de marco, no en cuadros de texto, en el informe y no veo una manera de extraer esos valores.
¿Cuál es la mejora que le gustaría ver?
En mi caso de uso, con Por grupo también me gustaría que los UCL estuvieran en una columna.Pero lo que me gustaría ver es tal vez la capacidad de solicitarlos a la plataforma, tal vez similar a la forma en que se puede solicitar un ajuste en Fit Model para varios valores calculados usando <
Relacionado: sería bueno si en casos como este hubiera una buena manera de <<¿Obtener cuáles son los grupos para utilizar mejor esa lista de valores? Al menos no estoy seguro de cómo hacerlo sin analizarlo de los nombres de los cuadros de esquema en el informe.Sería bueno tener una lista útil en el mismo orden que los valores que obtiene de <
¿Por qué es importante esta idea?
Creo que está claro por qué los UCL son útiles: ¿es con qué compararías la distancia para ver si es una distancia grande, para una confianza determinada?
Aquí hay una publicación de la comunidad donde alguien quería este valor, simplemente no estaban usando By, supongo, porque estaban contentos con el valor único en las propiedades de la columna: Resuelto: Valores predichos de Jackknife - Comunidad de usuarios de JMP
Automatización y secuencias de comandosAnálisis y modelado de datos básicosRe: Método JSL para obtener los límites de control superiores del análisis de valores atípicos multivariadosPuede exportar esos valores con secuencias de comandos. Este no es el mejor método, pero debería demostrar que es posible.
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: Método JSL para obtener los límites de control superiores del análisis de valores atípicos multivariados¡Inteligente!Intenté utilizar FindSegs sin éxito.Pero eso no cambia mi deseo de encontrar una forma de solicitar directamente esos valores.
Re: Método JSL para obtener los límites de control superiores del análisis de valores atípicos multivariadosKudo + Kudo por la buena solución 
@jthi ¿Cómo supiste que es? Seg de flujo personalizado ?
¿Hay algo como << lista de segmentos ?


Re: Método JSL para obtener los límites de control superiores del análisis de valores atípicos multivariadosLo más probable es que adivine y pruebe cosas diferentes (sé que es FrameBox -> sé que podría haber segmentos de visualización -> vaya desde allí (verifique xml, use << buscar segmentos... o simplemente comience con xml). No es necesario acceder a ese extraño CustomStreamSeg, ya que puede obtener el valor UCL del FrameBox "anterior" que accede a su 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);Re: Método JSL para obtener los límites de control superiores del análisis de valores atípicos multivariadosGracias 
Buen truco para usar XML aquí también: esperaba que se detuviera en el nivel de FrameBox.
Es genial que XPath funcione aquí también...
Re: Método JSL para obtener los límites de control superiores del análisis de valores atípicos multivariadosUn par de observaciones más sobre esto que podrían valer la pena ver: cuando guarda las distancias Jackknife de esta manera (del Análisis de valores atípicos de la plataforma Multivariante) no obtiene una columna de fórmula, aunque sí la obtiene si guarda las distancias de Mahalanobis o T al cuadrado. Los resultados para las distancias Jackknife coinciden con la fórmula descrita en la documentación de Métodos multivariados, pero eso no da como resultado consistentemente un valor faltante para el caso 1-d simple donde todos los demás valores son iguales, por lo que su desviación estándar es 0, puede resultar en en ese caso falta o es un valor muy grande.