Scripting: come selezionare la distribuzione più adatta e raccogliere i parametri di capacità?Voglio creare uno script che faccia quanto segue:
1) prendi un set di dati (1 colonna alla volta)
2) eseguire un adattamento continuo per tutte le distribuzioni
3) trovare la soluzione migliore, applicare i limiti delle specifiche e analizzare i parametri di capacità (in particolare CpK)
4) invia il CpK (e probabilmente altre cose) a una tabella
So come farlo manualmente, ma anche dopo averlo fatto e salvato uno script, lo script non rigenera la stessa analisi che avevo fatto originariamente. Se imposto i limiti delle specifiche all'interno di una determinata distribuzione (il triangolo rosso accanto a Normal 3 invece del triangolo di livello superiore), ciò si perde completamente nello script. Se li imposto dal livello più alto, le informazioni vengono archiviate, ma ho 50-100 set di dati su cui eseguire questa analisi e sono una gamma di distribuzioni. Ho bisogno dello script per trovare la soluzione MIGLIORE, quindi eseguire questa analisi.
L'esempio 1 di seguito è uno snippet di codice che sono riuscito a lavorare (non ancora output in una tabella, ma almeno ottengo la distribuzione e l'analisi corrette), ma mi richiede di sapere che i dati saranno una miscela Normale 3. Se utilizzo l'Esempio 2, il valore predefinito è una distribuzione Normale, il che è sbagliato. Se potessi capire come valutare l'adattamento migliore come parametro potrei utilizzare in una funzione di commutazione o comparabile per impostare la sintassi richiesta per ciascuna distribuzione.
// Example 1 that gives meaningful results, but requires me to know the distribution
Distribution(
Column("Test Data"),
Fit Distribution (Normal Mixtures( Spec Limits( LSL( -1 ), USL( 1 ) ), Clusters( 3 ) )
)
);
// Example 2 gives garbage because it assumes the distribution is normal, and it's never normal
Distribution(
Column("Test Data"),
Fit Distribution ("All"), Capability Analysis ( LSL( -1 ), USL( 1 ) )
);Anche un altro aiuto con l'output su una tabella sarebbe fantastico. Questo è il mio primo script JMP e faccio fatica a trovare esempi chiari nella Guida allo scripting.
Ri: Scripting: come selezionare la distribuzione più adatta e raccogliere i parametri di capacità?Concordo con la cautela di Stephen.
Comprendo il desiderio di ridurre la noia di eseguire manualmente un'analisi del genere con una sceneggiatura. Uno script è un modo perfetto per automatizzare l'attività JMP.
Ma la capacità di adattare e classificare tutti i modelli di distribuzione contemporaneamente è intesa per a esplorativo analisi. Potresti condurre tale esplorazione all'inizio dello sviluppo del processo quando si sa poco sul comportamento del processo. D'altra parte, condurre uno studio sulle capacità è a confermativo analisi condotta nelle fasi avanzate dello sviluppo del processo, quando si sa molto e nulla del processo sta cambiando. Ad esempio, una corretta analisi delle capacità richiede che il controllo del processo sia stato dimostrato, almeno durante la fase I.
Non puoi davvero automatizzare il decisione soggettiva sul modello di distribuzione durante l'utilizzo metodi oggettivi . O forse dovrei dirla così: "Solo perché puoi non significa che dovresti".
Ri: Scripting: come selezionare la distribuzione più adatta e raccogliere i parametri di capacità?Farei attenzione a utilizzare l'adattamento migliore, poiché l'adattamento numericamente migliore non è sempre quello logicamente migliore. Nella mia esperienza ho riscontrato che la piattaforma di distribuzione si adattava eccessivamente, ad esempio suggerendo che una miscela Normale 3 fosse la soluzione migliore, ma in base alla teoria di come vengono generati i dati, un adattamento log normale era più appropriato.
Richiede un certo grado di valutazione soggettiva, nell'esempio sopra i punteggi AICc per gli attacchi più esotici/complessi erano solo leggermente inferiori. Se molte colonne condividono lo stesso meccanismo di generazione dei dati, potrebbe essere prudente scegliere la classificazione migliore per tutte quelle colonne combinando le classifiche di tutte le diverse colonne.
Ciò richiederà un po' più di JSL poiché dovrai salvare la tabella degli adattamenti migliori per ciascuna colonna, classificarli, confrontarli e quindi estrarre l'adattamento migliore tra le colonne.Ri: Scripting: come selezionare la distribuzione più adatta e raccogliere i parametri di capacità?Grazie per l'aiuto, ma l'analisi delle capacità è ancora impostata su una distribuzione normale. Mi hai dato qualche altra idea di codifica su come migliorare il mio script! Il comando "riquadro contorno" è molto utile.
Sono stato in grado di utilizzare la "casella di contorno" per analizzare l'adattamento superiore dalla tabella Confronta distribuzioni e digitare quel nome (Miscela Normale 3) per creare la stringa richiesta per la chiamata di analisi delle capacità richiesta per quella distribuzione. Questo NON è elegante, ma finora funziona.
Grazie.
Ri: Scripting: come selezionare la distribuzione più adatta e raccogliere i parametri di capacità?Ecco uno script che dovrebbe darti un buon inizio. Esegue le attività desiderate per una singola colonna
names default to here(1);
dt=open("$SAMPLE_DATA\big class.jmp");
// Set the limits for the target column
dt:height << set property("spec limits",{LSL(57),USL(68),show limits(1)});
// Run the Distribution Platform
dis=Distribution(
Continuous Distribution( Column( :height ), Fit Distribution( "All" ) ),
capability analysis(1)
);
// Point to the first capability analysis and create a data table from it
dtCpk = report(dis)[outline box(9)][1][3][1]<<MAKE data="https://community.jmp.com/" table=""></MAKE>