你能幫幫我解決這個問題嗎?
我想創建一個用於學習目的的計算機模擬器。它將模擬二進制結果並使用幾個是/否因子作為輸入(假設ABC)。
輸出將是成功的百分比。
所有因子都在“ - ”時的輸出是成功的5%。
什麼時候
A為“+”5.5%(增益0.5%)
B為“+”6.5%(增益1.5%)
C為“+”5%(0%增益)
A和B在“+”(AB相互作用)7.5%(增益2.5%)
因此,我想在軟件中將其作為試驗執行模型實施,其中包含隨機試驗和輸出列表(取決於因子ABC的水平)。
軟件行為示例:
審判順序ABC輸出
第一次試用+ + +失敗
第二次試驗+ - +失敗
第3次試驗+ - - 成功
.....
10000試用+ - - 失敗
我希望它看起來很逼真,因此不是所有時間A + B-C-的組合都會導致“成功”,因為這個過程不是物理過程,而是人類的反應。
構建這種算法的一般步驟是什麼?
可以在JMP中完成嗎?
另外我正在考慮像Excel,R這樣的工具,像Anylogic,Promodel這樣的仿真軟件。
十分感謝!
對不起,也許我應該創建一個新主題。
但是,是否可以通過使用JMP中構建的模擬響應腳本來實現我的目標?
非常感謝您對模擬的所有幫助!
你可以幫我修改這個腳本或為這個任務建議一個新的方法嗎?
現在我想模擬一個明確的篩選設計。有18個因素。
效果大小:
| 因子 | 成功的百分比 |
| 一個 | 1,31% |
| 乙 | 1,42% |
| d | 1,58% |
| Ë | 1,64% |
| F | 1,46% |
| H | 1,39% |
| ķ | 1,34% |
| 中號 | 1,37% |
| | |
| DE | 1,67% |
| FK | 1,54% |
當所有因素處於低“0”水平時,成功率為1.2%。
這是我想要模擬的確切設計:
| X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | X9 | X10 | X11 | X12 | X13 | X14 | X15 | 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 |
您正在擬合比此樣本量計算器更複雜的模型。有額外的自由度用於估計其他術語。
我建議你回到8個不同場景(A,B和C的組合)中的每一個的公式,以確保你使用正確的概率。你只提供了八種情況中的四種,所以我對其他四種情況做了一些假設。您可能希望檢查這些以確保一切都符合您的預期。我猜你期望互動效果增加2.5%,但互動期限不是2.5%。如果你指出A和B都是正數,你只能獲得2.5%的收益。交互還包括A和B的其他3種組合所發生的情況。
例如:A和B均為正數:概率為7.5%
A和B均為零:概率為5%。 因此,當它們是“相同的符號”時,平均概率為6.25%
零,B為正:概率為6.5%
正零,B零:概率為5.5%,平均概率為6%。
因此,交互效應實際上是0.25%,這實際上很小(並且非常接近您的分析中的A * B交互估計)。
非常感謝您的澄清!
我已經完成了最小樣本量的計算,因此它可以檢測到0.5%的差異。然而,有時對模擬結果的分析並未檢測到AB相互作用與64000次試驗一樣重要。

我做了正確的計算嗎?

當然,每個模擬都是不同的,但您正在尋找非常小的效果尺寸。通過10,000次試驗,您將獲得大約5000次A和1的試驗,以及5000次試驗,A為0。在那些5000的0中,你期望5%的“成功”率,大約250個觀察值。5000比1,你預計成功率為5.5%,約為275觀察。總共只有25個觀察差異。這是一個小差異。將隨機噪聲添加到此,您可以看到差異實際上可能更小。
分類數據通常需要更大的樣本量。再加上尋找非常小的影響會導致非重要性。以更多統計術語表示,您可以非常低的功率來檢測所需的效果大小。
非常感謝你的腳本!這就是我正在尋找的東西。
你能告訴我為什麼當我生成10000行時,名義邏輯回歸併沒有表明A和AB是顯著的效果?

這可能更優雅,但快速“強力方法”是將隨機公式輸入JMP數據表。我將A,B和C列設置為0到1之間的隨機整數列(為了方便起見,我選擇了0而不是-1)。然後,對於Result列,我剛剛輸入了一個“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 ) ) ) ) )