仮想DoEの試験実行モデルをシミュレートするにはどうすればよいですか。この問題について私を助けてもらえますか。
学習用のコンピュータエミュレータを作りたい。バイナリの結果をエミュレートし、入力としていくつかのYes / Noファクタを使用します(ABCとしましょう)。
出力は成功率になります。
すべての要因が「 - 」の場合の出力は、成功の5%です。
いつ
「+」5.5%のA(0.5%のゲイン)
「+」6.5%のB(1.5%増)
"+" 5%のC(0%増)
"+"のAとB(ABの相互作用)7.5%(2.5%の増加)
それで、私はそれをソフトウェアで無作為試験と出力のリストを持つ試験実行モデルとして実装したいと思います(要因ABCのレベルによります)。
ソフトウェアの動作例
お試し順序ABC出力
1回目の試行+ + +失敗
2回目の試行+ - +失敗
3回目の試行+ - - 成功
.....
10000トライアル+ - - 失敗
プロセスは物理的なものではないため、A + B- C-の組み合わせが常に "成功"にならないように、現実的に見えるようにしたいのです。それは人間の反応です。
そのようなアルゴリズムを構築する一般的な手順は何ですか?
JMPでできますか?
また、Excel、R、Anylogic、Promodelなどのシミュレーションソフトウェアなどのツールが必要と考えています。
本当にありがとう!
再:どうすれば仮想DoEの試験的実行モデルをシミュレートできますか?申し訳ありませんが、新しいトピックを作成する必要があります。
しかし、JMPに組み込まれているSimulate Responseスクリプトを使用して私の目的を達成することは可能ですか?
再:どうすれば仮想DoEの試験的実行モデルをシミュレートできますか?シミュレーションにご協力いただきありがとうございます。
このスクリプトを修正したり、このタスクに新しいアプローチを提案してください。
今、私は決定的なスクリーニングデザインをシミュレートしたいです。18の要因があります。
効果サイズ:
| 因子 | 成功率 |
| A | 1,31% |
| B | 1,42% |
| D | 1,58% |
| E | 1,64% |
| F | 1,46% |
| H | 1,39% |
| K | 1,34% |
| M | 1,37% |
| | |
| DE | 1,67% |
| FK | 1,54% |
低い "0"レベルの成功率の全要因が1.2%の場合。
これは私がシミュレートしたい正確な設計です。
| X1 | ×2 | X3 | X 4 | X 5 | X6 | X7 | X8 | X 9 | X10 | X11 | X12 | X13 | X 14 | X 15 | X16 | X17 | X18 |
| 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 |
| 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 |
| 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 |
| 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 |
| 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 |
| 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 |
| 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 |
| 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 |
| 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 |
| 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 |
| 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 |
| 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 |
| 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 |
| 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 |
再:どうすれば仮想DoEの試験的実行モデルをシミュレートできますか?あなたはこのサンプルサイズ計算機がするつもりであったよりもっと複雑であるモデルをあてはめています。他の項を推定するために使用されている追加の自由度があります。
適切な確率を使用していることを確認するために、8つの異なるシナリオ(A、B、およびCの組み合わせ)それぞれの公式に戻ることをお勧めします。あなたは8つの状況のうち4つしか提供していなかったので、私は他の4つのケースについていくつかの仮定をしました。それらをチェックして、すべてが期待通りになっていることを確認することをお勧めします。私はあなたが相互作用効果が2.5%の利益であると期待していると思います、しかし相互作用項は2.5%の利益ではありません。あなたが示したようにAとBの両方が正であるとき、あなたは2.5%の増加を得るだけです。この相互作用には、AとBの他の3つの組み合わせで起こることも含まれています。
例として、AとBの両方が正:確率は7.5%
AとBは両方ともゼロで、確率は5%です。 それで、それらが「同じ符号」であるとき、6.25%の平均確率を与えます。
Aゼロ、Bプラス:確率は6.5%
Aが正、Bがゼロの場合、確率は平均確率6%に対して5.5%です。
したがって、相互作用の効果は実際には0.25%であり、これは非常に小さい(そして分析におけるA * B相互作用の推定値にかなり近い)。
再:どうすれば仮想DoEの試験的実行モデルをシミュレートできますか?説明してくれてありがとう!
最小サンプルサイズの計算を行ったので、0.5%の差を検出できます。しかし、シミュレーション結果を分析しても、64000回の試行でABの相互作用が有意であると検出されないことがあります。

計算は正しくできましたか?

再:どうすれば仮想DoEの試験的実行モデルをシミュレートできますか?もちろんすべてのシミュレーションは異なりますが、あなたは非常に小さいエフェクトサイズを探しています。10,000件の試行では、Aが1の場合は約5000件、Aが0の場合は5000件の試行があります。0での5000のうち、約250の観測値である5%の「成功」率が予想されます。1を5000にすると、成功率は5.5%と予測されます。これは、約275の観測です。1万件の合計のうち25件の観測差があります。それは少し違います。これにランダムノイズを加えると、その差は実際にはさらに小さいことがわかります。
カテゴリカルデータは通常、より大きなサンプルサイズを必要とします。非常に小さな効果を探すことと相まって、それは意味のないことにつながります。より統計的な言葉で言えば、あなたはあなたの望む効果サイズを検出するための非常に低い力を持っています。
再:どうすれば仮想DoEの試験的実行モデルをシミュレートできますか?このスクリプトをありがとうございます。それが私が捜し求めていたものです。
10000行を生成したときに、名目ロジスティック回帰がAとABが有意な効果を示していない理由を教えてください。

再:どうすれば仮想DoEの試験的実行モデルをシミュレートできますか?これはおそらくもっと洗練された方法で行うことができますが、素早い「総当りの方法」はランダムな式をJMPデータテーブルに入力することです。A、B、およびC列を0から1の間のランダムな整数列にしました(簡単にするために-1ではなく0を選択しました)。次に、結果列に、2項分布からさまざまな確率で「If」条件の文字列を適切な成功確率で入力しました。A、B、Cの組み合わせは8つしかないため、この場合は非常に単純です。より大きな問題については、よりエレガントになるようにします。あなたのテーブルの行数はあなたが持っていたいランダム試行の数になります。この単純なケースでは、10行しかありませんでした。
New Table( "Untitled",
Add Rows( 10 ),
New Column( "A", Numeric, "Nominal", Format( "Best", 12 ),
Formula( Random Integer( 0, 1 ) ) ),
New Column( "B", Numeric, "Nominal", Format( "Best", 12 ),
Formula( Random Integer( 0, 1 ) ) ),
New Column( "C", Numeric, "Nominal", Format( "Best", 12 ),
Formula( Random Integer( 0, 1 ) ) ),
New Column( "Success?", Numeric, "Nominal", Format( "Best", 12 ),
Formula(
If(
:A == 0 & :B == 0 & :C == 0, Random Binomial( 1, 0.05 ),
:A == 0 & :B == 0 & :C == 1, Random Binomial( 1, 0.05 ),
:A == 0 & :B == 1 & :C == 0, Random Binomial( 1, 0.065 ),
:A == 0 & :B == 1 & :C == 1, Random Binomial( 1, 0.065 ),
:A == 1 & :B == 0 & :C == 0, Random Binomial( 1, 0.055 ),
:A == 1 & :B == 0 & :C == 1, Random Binomial( 1, 0.055 ),
:A == 1 & :B == 1 & :C == 0, Random Binomial( 1, 0.075 ),
:A == 1 & :B == 1 & :C == 1, Random Binomial( 1, 0.075 ),
Random Binomial( 1, 0.05 ) ) ) ) )