Simulationsexperiment mit kategorischem ZufallsfaktorHallo alle,
Ich möchte die Auswirkungen der Variation des kontinuierlichen Faktors „liquid“ auf die Antwort („strength“) im Beispiel Flrpaste.jmp untersuchen. Im endgültigen Modell habe ich „Flüssigkeit“, „Mehl“ und „Typ“ als Faktoren.
Ich möchte ein „Simulationsexperiment“ durchführen, bei dem ich für jeden Versuchslauf (bestehend aus 5000 N Läufen) „Flüssigkeit“ auf einem eindeutigen Niveau (zwischen 4 und 5), „Mehl“ auf Weiß und „Typ "Variiert zufällig zwischen Wasser und Milch mit gleicher Wahrscheinlichkeit (also ungefähr 2500 N Läufe für jeden Typ). Ich weiß, dass ich von der Simulationsexperiment-Plattform aus einfach „Flüssigkeit“ unter der Liste der zu experimentierenden Faktoren auswählen könnte, und das Skript würde eine Tabelle generieren, in der jede Zeile einem solchen experimentellen Lauf entsprechen würde. Das Problem ist, dass Simulationsexperiment nur den Typ "Fest" als kategorialen Faktor akzeptiert, sodass ich nicht zwischen Milch und Wasser für "Typ" wechseln kann.
Eine Option, die ich derzeit verwende, um dies zu umgehen, besteht darin, dies manuell zu tun, indem ich den Wert "Flüssigkeit" im Bild unten ändere und jedes Mal das Simulationsergebnis aufzeichne. Ich frage mich nur, ob dies etwas sein könnte, das leicht mit Skripten gemacht werden könnte?
Angehängt ist die modifizierte Datei "Flrpaste.jmp" - bitte beziehen Sie sich auf das Skript "Simulator", um die Simulationsschnittstelle wie gezeigt zu generieren.
Vielen Dank!

AnalytikBetr.: Simulationsexperiment mit kategorischem Zufallsfaktor
@hxnduke schrieb:
Danke für den Vorschlag, @martindemel
Ich bin etwas durcheinander. Im Skript "Simulation Experiment Table" sind Werte aller Spalten außer Round(Type) angegeben, aber wie haben Sie diese Werte erhalten? Sieht es auch so aus, als ob die Spalte Round(Type) erstellt wird, nachdem die Simulationstabelle generiert wurde? Würde in diesem Fall die Simulation nicht basierend auf Type-Werten wie 1,2, 1,6 usw. statt auf den runden Werten von 1 oder 2 durchgeführt?
Okay, ich denke, das ist meine Schuld. Sie haben Recht mit der Gesamtfehlerrate ODR (da die anderen Spalten auf der Grundlage der Zahlenwerte berechnet wurden und die Runde danach angewendet wurde. Um ein Modell zu haben, das nur 1 und 2 berücksichtigt, müssen Sie ODR nach Typ und Flüssigkeit modellieren. In der gespeicherten Vorhersageformel tauschen Sie Type by Round(Type) aus, da wir jetzt basierend auf dem Modell die ODR für nur 1 und 2 Werte berechnen.
Dann können Sie das gaußsche Prozessskript mit der Spalte log10 (newODR) anpassen und vor dem Ausführen das Antwortlimit für diese Spalte so einstellen, dass es minimiert wird. Im Profiler sehen Sie, wie sich die Ebenen 1 und 2 auswirken. Runde (Typ) sperren und auf 1 setzen, dann optimieren. Machen Sie dasselbe für 2. Und vergleichen Sie die Ergebnisse. Dies gibt wahrscheinlich das, was Sie wollen.
Ein anderer Ansatz wäre jedoch vielleicht, die Vorhersageformel des Modells mit kategorialer Wirkung zu speichern. Erstellen Sie dann eine Simulationstabelle, wie Sie sie für die kontinuierlichen Variablen benötigen, fügen Sie eine zufällige kategoriale Spalte mit den benötigten Ebenen hinzu und fügen Sie die Vorhersagespaltenformel in einer neuen Spalte hinzu. Dadurch erhalten Sie eine Simulationstabelle mit so vielen Ebenen, wie Sie für Ihren kategorialen Wert benötigen, basierend auf dem in erster Instanz erstellten Modell.
Betr.: Simulationsexperiment mit kategorischem ZufallsfaktorDanke für den Vorschlag, @martindemel
Ich bin etwas durcheinander. Im Skript "Simulation Experiment Table" sind Werte aller Spalten außer Round(Type) angegeben, aber wie haben Sie diese Werte erhalten? Sieht es auch so aus, als ob die Spalte Round(Type) erstellt wird, nachdem die Simulationstabelle generiert wurde? Würde in diesem Fall die Simulation nicht basierend auf Type-Werten wie 1,2, 1,6 usw. statt auf den runden Werten von 1 oder 2 durchgeführt? Ich verstehe Ihren Standpunkt, die Spalte Round (Type) als Eingabe für das Simulationsexperiment zu verwenden, ich bin mir nur nicht ganz sicher, wie das gemacht werden könnte, bevor die Simulation tatsächlich durchgeführt wird, um die Fehlerrate usw. zu berechnen.
Dies ist beispielsweise Teil des Skripts, das zeigt, wie die Spalte „Stärkemittelwert“ im Skript „Simulation Experiment Table“ generiert wird:
New Column( "Strength Mean",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[9.22251973143198, 9.52515071457111, 9.13419539683891, 8.40703105322384,
7.77461735393402, 7.52128272230656, 9.09993409369168, 9.55028950380741,
Meine andere Frage ist, könnte dies mit kategorialen Faktoren mit mehr als 2 Ebenen durchgeführt werden? Für die Studie, an der ich arbeite, gibt es einen kategorialen Faktor mit 5 Stufen, also bin ich mir nicht ganz sicher, ob das funktionieren würde, wenn ich nicht Begriffe zweiten, dritten und vierten Grades für Typ hinzufüge?
Wäre es alternativ möglich, ein Skript zu schreiben, um das manuelle, jeweils eine Simulationsverfahren mit der Schaltfläche „Simulieren“ zu automatisieren, aber stattdessen Liquid in einer for-Schleife laufen zu lassen?
Betr.: Simulationsexperiment mit kategorischem ZufallsfaktorDie einzige Möglichkeit, die ich mir vorstellen kann, um den kategorialen Wert in einem Simulationsexperiment zu verwenden, ist zu schummeln.
Sie müssen eine kontinuierliche Spalte mit den Werten 1 und 2 erstellen, z. B. . Dies kann durch Auswahl der Spalte Typ erfolgen. Dann Cols-Menü, Dienstprogramme, Etiketten zu Codes. Dadurch werden die Spalteneinträge in 1 und d2 geändert und die ursprünglichen Werte als Beschriftungen beibehalten. Natürlich können Sie für ein ähnliches Verhalten eine neue Spalte erstellen.
Wenn Sie die Simulation verwenden, können Sie Uniform verwenden. Im erstellten Simulationsexperiment fügen Sie eine Spalte hinzu, indem Sie mit der rechten Maustaste auf Typspalte, Neue Formelspalte, Transformieren, Runden klicken. Damit erstellen Sie eine neue Spalte von 1 und 2, die gleich verteilt sind.
Jetzt müssen Sie das Modellskript ändern, um diese Spalte anstelle der Typspalte zu verwenden. In diesem Beispiel muss, wenn Sie nichts geändert haben, :Type mit :Name("Round[Type]") im Skript ausgetauscht werden, wenn Sie möchten um das Modell auszuführen.
Anbei eine Änderung Ihrer Datentabelle (einschließlich eines Skripts zum Erstellen der neuen Simulationstabelle).