Comment trouver chaque test pour dépister une unitéJe suis relativement nouveau dans JMP et JSL et je travaille actuellement sur le filtrage d'une unité dans un très grand ensemble de données. Mon objectif est d'obtenir une table de sortie contenant le nom de chaque test dans lequel l'unité (définie par son ECID) a un score z supérieur à 3 (ou une autre valeur que je peux choisir). Ces scores z doivent être basés sur les distributions respectives des tests d'unités réussies. Existe-t-il une fonctionnalité JMP pour cela ou un script qui a été conçu pour faire quelque chose dans ce sens. Vous trouverez ci-dessous mon pseudocode très lâche pour un script.
Pseudo-code :
Nécessite un ensemble de données suffisamment grand pour avoir une distribution normale pour différents tests (minimum 30 bonnes unités)
Sous-ensemble de la table de données de base en unités bin 1 uniquement
Calculer la moyenne et l'écart type pour chaque test en utilisant uniquement les unités de réussite
Calculer le score z par rapport à la moyenne et à l'écart type de chaque test
Créer une table de sortie avec tous les tests et scores supérieurs à 3
AnalytiqueTableau de donnéesScriptles fenêtresRe : Comment trouver tous les tests pour dépister une unitéVoici un exemple de script, qui crée les scores Z et identifie les valeurs supérieures à 3. Est-ce dans le sens de ce que vous voulez ?
Names Default To Here( 1 );
// Open Data Table: Probe.jmp
// → Data Table( "Probe" )
dt = Open( "$SAMPLE_DATA/Process Measurements.jmp" );
// Create a Bin column
dt << New Column( "Bin",
modeling type( nominal ),
set each value( If( Random Uniform( 0, 1 ) <= .8, 1, Random Integer( 2, 7 ) ) )
);
// Get column names for all continuous columns
colNames = dt << get column names( string, continuous );
For( i = 1, i <= N Items( colNames ), i++,
mean = .;
stddev = .;
// Create the Z scores for each test
dt << New Column( colNames[i] || " Z Score",
formula(
If( Row() == 1,
Mean = Col Mean( If( :Bin == 1, As Column( dt, colNames[i] ), . ) );
Stddev = Col Std Dev( If( :Bin == 1, As Column( dt, colNames[i] ), . ) );
);
Abs( :Process 1 - Mean ) / Stddev;
)
);
Column( dt, N Cols( dt ) ) << delete formula;
targetRows = dt << get rows where( As Column( dt, N Cols( dt ) ) >= 3 );
Try( As Column( dt, N Cols( dt ) ) << color cells( "red", As List( targetRows ) ) );
);Re : Comment trouver tous les tests pour dépister une unitéC'est un très bon point de départ. Merci de votre aide. J'aimerais adopter ce script afin de pouvoir l'exécuter uniquement sur des unités avec un ECID spécifique dans un grand ensemble de données. Si je devais exécuter ce script sur chaque point de données/die, je planterais malheureusement JMP. Comment recommanderiez-vous d'adopter ce script pour permettre cela ?
Re : Comment trouver tous les tests pour dépister une unitéJe créerais simplement un sous-ensemble de la table de données d'origine et exécuterais l'analyse dessus.
dt = current data table();
ECIDsToTest = { "413257", "56739",...........};
dt << select where( contains( ECIDsToTest, :ECID ) );
dtToTest = dt << subset( selected columns( 0 ), selected rows( 1 ) );
// Run the Z Score analysis on the new subsetRe : Comment trouver tous les tests pour dépister une unitéVeuillez fournir un exemple de tableau de données d'entrée et un exemple de ce que vous attendez de votre sortie.