Simulation Monte Carlo pour une plateforme d'analyse (régression pas à pas)J'ai une analyse qui utilise plusieurs colonnes contenant des éléments aléatoires.Je sais mettre à jour manuellement les nombres aléatoires qui se trouvent dans les colonnes et je comprends comment mener une simulation pour la sortie d'une analyse.Mais dans ce cas, je souhaite exécuter une régression pas à pas chaque fois que les nombres aléatoires dans les colonnes sont mis à jour.Je veux le faire au moins 1000 fois.Je ne sais pas comment automatiser ce processus : générer de nouveaux nombres aléatoires dans des colonnes de formules, réexécuter la plate-forme de régression pas à pas, exécuter le modèle choisi et collecter les résultats.
AnalytiqueRe : Simulation de Monte Carlo pour une plate-forme d'analyse (régression pas à pas)Permettez-moi d'être plus précis au cas où l'un des généreux scripteurs pourrait vous aider.J'ai joint une version plus petite de ce que j'essaie de faire.J'ai 10 colonnes (toutes commençant par la colonne 2) dans le fichier joint qui impliquent une distribution normale aléatoire et la première colonne Y, qui utilise 5 colonnes étiquetées paramètre 1 à 5, et une distribution normale aléatoire dans la formule.Je souhaite effectuer les étapes suivantes :
1. Exécutez la régression pas à pas stockée dans le fichier.Je n'ai pas besoin de créer ou d'exécuter le modèle, j'ai seulement besoin d'exécuter le bouton Go qui exécute la procédure pas à pas après Run from the Fit Model platform.
2. Enregistrez la fréquence à laquelle chacune des 10 colonnes commençant par la colonne 2 est sélectionnée par la procédure par étapes. (Je ne sais pas comment scripter la collecte de ces informations particulières)
3. Réexécutez la formule pour les 5 colonnes de paramètres afin qu'elles contiennent un nouvel ensemble de valeurs simulées.Je sais que cela peut être fait avec la commande de formule Rerun qui se trouve au niveau de la flèche rouge en haut à gauche du tableau (mais je ne sais pas comment écrire cela).
4. Répétez les étapes 1 et 2. (Je crois que cela peut être fait via une simple boucle)
5. Faites cela 1000 fois et affichez les distributions pour le nombre de fois où chacune des 10 colonnes de la colonne 2 a été sélectionnée dans la procédure pas à pas.
Je crois que tout cela peut être scénarisé, mais c'est bien au-delà de tout ce que je suis capable de faire.Si quelqu'un peut être utile, je l'apprécierais.Je suis prêt à co-écrire un article avec quelqu'un car j'ai un exutoire en tête pour cela.
Re : Simulation de Monte Carlo pour une plate-forme d'analyse (régression pas à pas)J'ai pratiquement résolu mon problème - mais j'ai encore une question.Ci-joint un petit script qui exécute la régression pas à pas comme je le souhaite.Mais pour générer 1000 échantillons, j'avais besoin de créer une colonne "échantillon" et de l'utiliser comme variable "Par" dans l'analyse.Cela fonctionne, mais c'est une façon fastidieuse de faire une simulation, car je dois rendre le fichier très long - par exemple, pour 1 000 échantillons de 1 000 observations chacun, j'ai besoin de 1 000 000 de lignes.Est-ce que quelqu'un connaît un moyen plus efficace de mener une simulation?Autant que je sache, l'option "simuler" qui accompagne de nombreuses plates-formes JMP ne peut simuler que certains résultats d'analyse, mais pas l'analyse elle-même.
Re : Simulation de Monte Carlo pour une plate-forme d'analyse (régression pas à pas)Ce que vous avez présenté dans le post précédent est un bon plan. Je ferais ça aussi. Je vais essayer de donner quelques recommandations.
- Si vous débutez avec les scripts dans JMP, un point de départ est Guide de script . Certaines pièces importantes, dans cette tâche spécifique, pourraient être :
- En plus de cela, vous devez vous familiariser avec l'index de script dans le menu Aide. Il existe 3 groupes d'objets de script : Fonctions, Objets et Boîtes d'affichage. Il y a une zone de liste déroulante en haut à gauche et vous pouvez vous limiter à un groupe spécifique.
- Pour cette tâche spécifique, vous devrez peut-être consulter le groupe Objets. Toutes les plates-formes, y compris la table de données, sont répertoriées ici. Vous voudrez peut-être vérifier l'élément "Fit Stepwise" sous l'objet "Fit Model". Cliquez sur "Fit Stepwise", et regardez à droite pour un message "Finish" parmi "Item Messages". C'est peut-être la clé qui vous manque maintenant.
- Pour cette tâche spécifique, vous devez également apprendre à manipuler les tables de données. La concaténation, en particulier, peut-être. Accédez à la liste des objets, cliquez sur "Table de données" et recherchez à droite "Concaténer" parmi les messages d'élément.
Outre ce qui précède, voici d'autres conseils utiles que j'ai appris de mes collègues.
- Publiez des questions plus courtes et spécifiques sur le forum de discussion, dans la mesure du possible. Il sera plus susceptible de générer de l'aide.
- Préférez les captures d'écran aux pièces jointes. Pour les codes JSL, vous pouvez les insérer directement dans la publication, afin que les lecteurs puissent voir. Recherchez le bouton dans la barre d'outils lorsque vous modifiez un article. Il sera également plus susceptible de générer de l'aide. Par exemple, il est peu probable qu'un lecteur sur un appareil mobile ouvre une pièce jointe.

Re : Simulation de Monte Carlo pour une plate-forme d'analyse (régression pas à pas)Salut dale_lehman
Mon idée est d'obtenir et d'enregistrer le résultat de la plate-forme "par étapes" dans le dossier. Puis ' Importation de fichiers multiples ' tout le résultat dans un seul fichier.
Enfin, ligne propre par ' Valeur P' et distribuez comme vous le souhaitez.Détail JSL comme ci-dessous :
Clear Globals();
Clear Log();
Names Default To Here( 1 );
//Define path in and out
Path_in = Pick File( "Select file" );
If( Directory Exists( "$Desktop\Fit_Stepwise" ),
,
Create Directory( "$Desktop\Fit_Stepwise" )
);
Path_out = "$Desktop\Fit_Stepwise\";
//Run Fit model and stepwise after open datatable
dt = Open( Path_in );
For( i = 1, i <= 1000, i++,
ow = dt << Fit Model(
Y( :Y ),
Effects(
:Column 2 001,
:Column 2 002,
:Column 2 003,
:Column 2 004,
:Column 2 005,
:Column 2 006,
:Column 2 007,
:Column 2 008,
:Column 2 009,
:Column 2 010
),
Personality( "Stepwise" ),
Run,
SendToReport( Dispatch( {}, "Step History", OutlineBox, {Close( 1 )} ) )
);
dt_result = Report( ow )[Outline Box( "Stepwise Fit for Y" )][Outline Box( "Current Estimates" )][Table Box( 1 )] << Make Into Data Table;
dt_result << save( Path_out || Char( i ) || ".csv", "csv" );
ow << close window;
dt_result << Close Window;
);
dt << Close Window;
dt_result = Multiple File Import(
<<SET folder="">F\!"" ) > 0.05 ) ) << Delete Rows;
dt_result << Distribution( Stack( 1 ), Nominal Distribution( Column( :Parameter ), Horizontal Layout( 1 ), Vertical( 0 ) ) );</SET>