<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />J'utilise JMP Pro 11.
Je travaille sur un projet qui consiste à ajuster un grand nombre de processus gaussiens. J'ai écrit un script qui lit un ensemble de fichiers de données, adapte un processus gaussien à chacun, fait des prédictions sur un autre ensemble de données, puis écrit les prédictions dans un fichier.
Mais maintenant, je veux enregistrer les paramètres du modèle (mu, sigma au carré, thêta) et les écrire également dans un fichier séparé. Comment puis-je faire ceci? Le modèle est d'abord créé, gp. Ensuite, je veux enregistrer le rapport de modèle.À la main, je peux faire Édition> Copier en tant que texte, le coller dans un autre fichier et l'enregistrer. Je peux le post-traiter pour obtenir les paramètres, bien que ce ne soit pas idéal. Comment puis-je avoir un script pour faire cela? Voici le code que j'ai maintenant :
gp = Processus Gaussien( Y( :y ), X( ), Définir la fonction de corrélation( "Cubic" ) ); // ça devrait être un : x, pas un smiley
gp << Enregistrer( ); // ne fonctionne pas
Je n'ai pas pu faire fonctionner Enregistrer ou Enregistrer le fichier texte. J'ai également essayé quelques variantes du menu principal ("Copier en tant que texte"), mais je n'ai pas réussi à le faire fonctionner non plus.
Merci pour toute aide.
Merci Ron! La commande Report parameters NumberColBox était exactement ce dont j'avais besoin et je suis en train d'ajuster le code à utiliser dans mon propre script.
salut Jazz,
votre question implique quelques problèmes.
si vous souhaitez conserver les résultats de nombreux processus, il peut être utile de ne pas enregistrer la sortie de chaque exécution, mais plutôt d'extraire les valeurs dans une table de données et de l'enregistrer.
ce qui suit n'est peut-être pas la solution la plus élégante, mais cela vous donnera une idée de ce que vous recherchez peut-être :
// crée une nouvelle table vide pour héberger les résultats
ntd = Nouveau tableau ( "paramètres" , ajouter des lignes ( 5 )) ;
Nouvelle colonne ( "moi" ) ;
Nouvelle colonne ( "sig2" ) ;
Nouvelle colonne ( "thêta" ) ;
pour ( je = 1 , je <= 5 , je ++,
// ouvre une table de données
dt = Ouvrir ( "$SAMPLE_DATA/Grande classe.jmp" ) ;
attendez ( 0 ) ;
// lance le processus gaussien
paramètres = généraliste = Processus gaussien ( Oui ( : hauteur ) , X ( : lester ) , Définir la fonction de corrélation ( "Cubique" ) ) ;
// extrait les paramètres du rapport
moi = Rapport ( paramètres ) [ NombreColBox ( 5 )] [ 1 ] ;
sig2 = Rapport ( paramètres ) [ NombreColBox ( 6 )] [ 1 ] ;
thêta = Rapport ( paramètres ) [ NombreColBox ( 1 )] [ 1 ] ;
// place les valeurs dans la nouvelle table
ntd : moi [ je ] = moi ;
ntd : sig2 [ je ] = sig2 ;
ntd : thêta [ je ] = thêta ;
fermer ( dt , nosave ) ;
attendez ( 1 ) ;
) ;
la boucle n'est qu'un moyen de faire cela plusieurs fois et d'accumuler des résultats, évidemment il ne sert à rien de reproduire les mêmes résultats encore et encore.
J'espère que cela t'aides,
Ron