什麼是蒙特卡羅模擬?

蒙特卡羅模擬是一種數學技術,可預測不確定事件的可能結果。電腦程式使用此方法來分析過去的資料,並根據動作選擇預測一系列未來結果。例如,如果您想估算新產品的第一個月銷售額,可以將歷史銷售資料提供給蒙特卡羅模擬程式。該計劃將根據一般市場情況、產品價格和廣告預算等因素估計不同的銷售價值。

為什麼蒙特卡羅模擬很重要?

蒙特卡羅模擬是一種概率模型,可以在其預測中包含不確定性或隨機性元素。當您使用概率模型來模擬結果時,每次都會得到不同的結果。例如,您的住家和辦公室之間的距離是固定的。但是,概率模擬可能會透過擁堵、惡劣天氣和車輛故障等考量因素來預測不同的旅行時間。  

相比之下,傳統的預測方法更具確定性。它們為預測提供了明確的答案,並且無法考慮不確定性。例如,他們可能會告訴您最小和最大旅行時間,但兩個答案都不太準確。  

蒙特卡羅模擬的優點

蒙特卡羅模擬可提供多個可能的結果,以及根據大量隨機資料樣本得出的每種結果的可能性。相較於確定性預測,其更加明確。例如,預測財務風險需要分析數十個或數百個風險因素。財務分析師會使用蒙特卡羅模擬來產生每個可能結果的可能性。 

蒙特卡羅模擬的歷史

20 世紀 40 年代,John von Neumann 和 Stanislaw Ulam 發明了蒙特卡羅模擬或蒙特卡羅方法。他們以摩納哥著名的賭博地點進行命名,因為該方法與輪盤遊戲具有相同的隨機特徵。

蒙特卡羅模擬使用案例有哪些?

公司使用蒙特卡羅方法來評估風險並做出準確的長期預測。以下是一些範例使用案例。

商業

企業領導者在做出決策時會使用蒙特卡羅方法來投射現實情境。例如,行銷人員需要決定增加線上瑜伽課程的廣告預算是否可行。他們可以對不確定因素或變數使用蒙特卡羅數學模型如下所示:

  • 訂閱費用
  • 廣告成本
  • 註冊率 
  • 保留 

然後,模擬將預測變化對這些因素的影響,以指出決策是否有利可圖。 

金融

財務分析師通常會對股價做出長期預測,然後向客戶提供適當的策略建議。在這樣做的同時,他們必須考慮可能導致投資價值劇烈變化的市場因素。因此,他們會使用蒙特卡羅模擬來預測可能的結果,以支援他們的策略。

線上遊戲

嚴格的法規管控線上遊戲和博彩行業。客戶期望遊戲軟體能夠公平,並且能夠模仿實體遊戲的特性。因此,遊戲程式設計人員會使用蒙特卡羅方法來模擬結果並確保公平的遊戲體驗。

工程

工程師必須確保他們建立的每個產品和系統的可靠性和穩健性,然後才能推向大眾。他們會使用蒙特卡羅方法,來根據現有變數模擬產品可能的故障率。例如,機械工程師會使用蒙特卡羅模擬來估計引擎在各種條件下運作時的耐用性。

蒙特卡羅模擬如何運作?

蒙特卡羅模擬的基本原理在於遍歷性,其描述了封閉系統中移動點的統計行為。移動點最終將通過遍歷系統中的每個可能位置。這成為蒙特卡羅模擬的基礎;在蒙特卡羅模擬中,電腦會執行足夠的模擬以產生不同輸入的最終結果。

例如,對於一個六面骰子,則擲出特定數字的概率為六分之一。當您擲骰六次時,您可能不會六次都擲出不同的數字。但是,當您無限期地投擲時,您即可得出理論概率,即每個數字的概率是六分之一。結果精確度與模擬次數成正比。換言之,執行 10,000 次模擬的結果比執行 100 次的模擬結果更準確。 

蒙特卡羅模擬的運作方式相同。它使用電腦系統來執行足夠的模擬,以產生模擬現實生活結果的不同結果。系統使用隨機數字產生器來重新建立輸入參數的固有不確定性。隨機數字產生器是產生不可預知的隨機數序列的電腦程式。 

蒙特卡羅模擬與機器學習比較

機器學習 (ML) 是一種電腦技術,它使用大量的輸入和輸出 (I/O) 資料樣本訓練軟體,以了解兩者之間的相依性。另一方面,蒙特卡羅模擬使用輸入資料的樣本和已知的數學模型來預測系統中可能發生的結果。您可以在蒙特卡羅模擬中使用 ML 模型來測試和確認結果。

蒙特卡羅模擬有哪些元件?

蒙特卡羅分析包含輸入變數、輸出變數和數學模型。電腦系統將自變數饋送到數學模型中,進行模擬,並產生因變數。 

輸入變數

輸入變數是會影響蒙特卡羅模擬結果的隨機值。例如,製造品質溫度是影響智慧型手機耐用性的輸入變數。您可以將輸入變數表示為一系列的隨機值範例,以便蒙特卡羅方法可以使用隨機輸入值模擬結果。 

輸出變數

輸出變數是蒙特卡羅分析的結果。例如,電子裝置的預期壽命是輸出變數,其值為時間,例如 6 個月或 2 年。蒙特卡羅模擬軟體會以長條圖或圖表顯示輸出變數,並將結果分佈在水平軸上的連續範圍內。

數學模型

數學模型是以數學形式描述輸出和輸入變數之間關係的方程式。例如,獲利率的數學模型是利潤 = 營收-開支

蒙特卡羅軟體會根據概率分佈類型,以可能的值取代營收和開支。然後重複模擬以獲得高度準確的結果。當數學模型涉及許多隨機變數時,蒙特卡羅模擬可以執行數小時。 

蒙特卡羅模擬中的概率分佈有哪些?

概率分佈是統計函數,代表在限制之間分配的值範圍。統計專家使用概率分佈來預測可能出現不確定變數,而其可能由離散或連續值組成。 

離散概率分佈由整數或有限數的序列表示。每個離散值的概率大於零。統計學家在表上繪製離散概率分佈,但他們將連續概率分佈繪製為圖形 x 軸上兩個給定點之間的曲線。以下是蒙特卡羅模擬可以建模的常見概率分佈類型。

常態分佈

常態分佈 (也稱為鐘形曲線),對稱的形狀像一個鐘,代表了大多數現實生活中的事件。中位數出現隨機值的可能性很高,並且朝鐘形曲線兩端的概率顯著降低。例如,在特定教室中對學生的體重進行重複隨機抽樣,可以為您提供常態分佈圖。

均勻分佈

均勻分佈是指具有相等機會的隨機變數的統計表示。在圖表上繪製時,均勻分佈的變數在有效範圍內會顯示為水平線。例如,均勻分佈表示在模具每一側滾動和著陸的可能性。

三角分佈

三角形分佈使用最小值、最大值和最可能的值來表示隨機變數。它的概率在最可能的值處達到峰值。例如,公司使用三角分佈來預測銷售量,方法是建立三角形的最小值、最大值和峰值。

執行蒙特卡羅模擬的步驟有哪些?

蒙特卡羅方法包括以下步驟。

建立數學模型

定義可將輸出和輸入變數匯集在一起的方程式。數學模型包含基本的商業公式到複雜的科學方程式。 

確定輸入值

從不同類型的概率分佈中進行選擇,以代表輸入值。例如,行動電話的工作溫度很可能是鐘形曲線,因為該裝置在大多數情況下是在室溫下執行的。 

建立範例資料集

根據選擇的概率分佈建立大型隨機樣本資料集。樣本大小應在 100,000 範圍內,以產生準確的結果。 

設定蒙特卡羅模擬軟體

使用輸入範例和數學模型來設定和執行蒙特卡羅模擬軟體。結果時間可能會根據輸入變數的數量而有所不同,且您可能需要等待結果。

分析結果

檢查模擬結果,找出輸出在長條圖上的分佈情況。使用統計工具計算參數 (例如平均值、標準差和變數),以確定結果是否符合您的期望。

蒙特卡羅模擬有哪些挑戰?

以下是使用蒙特卡羅模擬時的兩個常見挑戰: 

  • 蒙特卡羅模擬高度依存於輸入值和分發。如果在選擇輸入和概率分佈時出錯,則可能導致不正確的結果。 

它可能需要大量的運算能力來執行蒙特卡羅實驗。使用蒙特卡羅方法進行運算可能需要數小時或數天的時間才能在單一電腦上完成。 

AWS Batch 如何協助進行蒙特卡羅模擬?

AWS Batch 是資料分析師用來在 AWS 環境中批次執行工作負載的服務。資料分析師使用 AWS Batch 來自動擴展蒙特卡羅模擬的雲端運算資源。然後,他們會在更短的時間內模擬複雜系統和變數。AWS Batch 提供以下功能:

  • 資料科學家專注於分析結果,而不是管理資源分配。 
  • 在執行蒙特卡羅模擬時,AWS Batch 可消除手動監督的干預需求。
  • 您無需在 AWS 環境中安裝單獨的批次運算軟體。 

立即建立 AWS 帳戶,開始使用蒙特卡羅方法。

使用 AWS 的蒙特卡羅模擬後續步驟

查看額外的產品相關資源
進一步了解有關運算服務的資訊 
AWS 運算服務免費方案
檢視免費的運算服務 
開始在主控台進行建置

開始在 AWS 管理主控台使用 AWS 進行建置。

登入