Scripting - Comment sélectionner la distribution la mieux adaptée et collecter les paramètres de capacité ?Je veux créer un script qui fait ce qui suit :
1) prendre un ensemble de données (1 colonne à la fois)
2) effectuer un ajustement continu pour toutes les distributions
3) trouver le meilleur ajustement, appliquer les limites des spécifications et analyser les paramètres de capacité (CpK en particulier)
4) afficher le CpK (et probablement d'autres éléments) dans une table
Je sais comment faire cela manuellement, mais même après l'avoir fait et enregistré un script, le script ne régénère pas la même analyse que j'avais effectuée à l'origine. Si je définis les limites des spécifications dans une distribution donnée (le triangle rouge à côté de Normal 3 au lieu du triangle de niveau supérieur), cela se perd complètement dans le script. Si je les définis à partir du niveau supérieur, les informations sont stockées, mais j'ai 50 à 100 ensembles de données sur lesquels exécuter cette analyse, et il s'agit d'une gamme de distributions. J'ai besoin du script pour trouver le MEILLEUR ajustement, puis faites cette analyse.
L'exemple 1 ci-dessous est un extrait de code sur lequel j'ai travaillé (pas encore sorti dans une table, mais au moins obtenir la bonne distribution et analyse), mais il m'oblige à savoir que les données seront un mélange Normal 3. Si j'utilise l'exemple 2, la distribution par défaut est normale, ce qui est faux. Si je pouvais comprendre comment évaluer le meilleur ajustement en tant que paramètre, je pourrais l'utiliser dans une fonction de commutation ou comparable pour configurer la syntaxe requise pour chaque distribution.
// 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 ) )
);Une autre aide pour la sortie vers une table serait également très utile. C'est mon premier script JMP et j'ai du mal à trouver des exemples clairs dans le Guide de script.
Re : Scripting – Comment sélectionner la distribution la mieux adaptée et collecter les paramètres de capacité ?Je suis d'accord avec la prudence de Stephen.
Je comprends le désir de réduire l'ennui d'effectuer une telle analyse à la main avec un script. Un script est un moyen idéal pour automatiser l'activité JMP.
Mais la capacité d'ajuster et de classer simultanément tous les modèles de distribution est destinée à un exploratoire analyse. Vous pouvez mener une telle exploration au début du développement du processus, alors que l’on sait peu de choses sur son comportement. En revanche, mener une étude de capabilité est un confirmatif analyse effectuée tard dans le développement du processus, lorsque l'on sait beaucoup de choses et que rien dans le processus ne change. Par exemple, une analyse de capacité appropriée nécessite que le contrôle du processus ait été démontré, au moins jusqu'à la phase I.
Vous ne pouvez pas vraiment automatiser le décision subjective sur le modèle de distribution lors de l'utilisation méthodes objectives . Ou peut-être que je devrais le dire ainsi : « Ce n'est pas parce que vous pouvez le faire que vous devriez le faire. »
Re : Scripting – Comment sélectionner la distribution la mieux adaptée et collecter les paramètres de capacité ?Je serais prudent en utilisant le meilleur ajustement, car le meilleur ajustement numérique n'est pas toujours le meilleur ajustement logique. D'après mon expérience, j'ai trouvé que la plate-forme de distribution était sur-ajustée - par exemple, suggérant qu'un mélange Normal 3 était le meilleur ajustement, mais sur la base de la théorie de la façon dont les données sont générées, un ajustement log-normal était le plus approprié.
Cela nécessite un certain degré d'évaluation subjective. Dans l'exemple ci-dessus, les scores AICc pour les ajustements les plus exotiques/complexes n'étaient que légèrement inférieurs. Si de nombreuses colonnes partagent le même mécanisme de génération des données, il peut être prudent de choisir le meilleur classement dans toutes ces colonnes en combinant les classements de toutes les différentes colonnes.
Cela nécessitera un peu plus de JSL car vous devrez enregistrer le tableau des meilleurs ajustements pour chaque colonne, les classer, les comparer, puis extraire le meilleur ajustement entre les colonnes.Re : Scripting – Comment sélectionner la distribution la mieux adaptée et collecter les paramètres de capacité ?Merci pour l'aide, mais l'analyse de capacité est toujours par défaut sur une distribution normale. Vous m'avez cependant donné d'autres idées de codage sur la façon d'améliorer mon script ! La commande "boîte de contour" est très utile.
J'ai pu utiliser la "boîte de contour" pour analyser l'ajustement supérieur du tableau Comparer les distributions et saisir ce nom (Mélange Normal 3) pour créer la chaîne requise pour l'appel d'analyse de capacité requis pour cette distribution. Ce n'est PAS élégant, mais cela fonctionne jusqu'à présent.
Merci.
Re : Scripting – Comment sélectionner la distribution la mieux adaptée et collecter les paramètres de capacité ?Voici un script qui devrait vous donner un bon départ. Il effectue les tâches souhaitées pour une seule colonne
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>