這可能會讓人感到意外,但工程師們進行蒙地卡羅(Monte Carlo)分析並評估其結果的方式有可能是不正確的。錯誤理解蒙地卡羅分析結果可能導致不正確的技術和商業決策,當然,蒙地卡羅分析法是有幫助的,實際上有多種蒙地卡羅分析方法可以使用,對此感到驚訝嗎?

蒙地卡羅分析法是一種多變數建模技術,可以將其視為一系列的「假設」場景。它允許工程師進行多次實驗,並對一組給定結果定義概率分佈或完成風險評估。在電路蒙地卡羅分析中,分析人員設定了會影響結果的每個元件特性的概率(一些元件具有很多不同的特性),並執行多個電路模擬來找出給定函數的各種可能的結果。

許多電路函數的參數變化不是單調的,因此,蒙地卡羅分析對於最壞情況電路分析(WCCA)很重要。僅進行極值分析(EVA)評估是不夠的,因為這會使許多分析不產生最壞的結果,最壞的情況往往不是在參數極端的情況下產生的,所以如果只做EVA,會錯過某些情況。

關於分析的順序存在許多錯誤觀念和錯誤的WCCA指南。要使用哪種分析方法取決於幾個因素,其中包括待評估函數的參數容差是否單調變化。

分析的順序並不一定是EVA、統計平方公差(RSS)和蒙地卡羅分析,即使這是許多指南所提供的順序。實際上,並沒有正式的「分析順序」,容差和分析方法基本上是相互獨立,RSS容差可以應用於靈敏度、參數EVA或蒙地卡羅分析方法。儘管EVA可以是有價值的第一步,通常可以讓你瞭解哪些參數對輸出函數有最大影響,但它並不一定是第一或唯一使用的方法。

如果一個分析結果不合規,不要將蒙地卡羅分析視為「後備」。在許多情況下,降低保守性當然是有用的,但這不是最壞情況分析(為什麼要進行最壞情況分析,請參見另一篇文章,《Why worst-case circuit analysis is challenging to per-form》)。對於許多類型的分析,包括穩定性和匯流排/步進負載瞬變分析,或者分析哪裡存在大量參數容差,蒙地卡羅才是首選,也許是唯一需要完成的分析。

另一個誤解是蒙地卡羅分析需要執行大量的實驗,這不一定是對的。

蒙地卡羅分析示例

圖1顯示了一個使用狀態空間平均模型的蒙地卡羅分析示例,用來分析一個開關電源的穩定性。模擬運作AC分析,看控制回路是否符合普遍接受的10dB增益裕度(頂部曲線)、30°相位裕度(中心曲線)的航太工業指南,圖中還顯示了與不穩定奇點-1,0(下方圖)的距離。

20190514TA31P1 圖1 開關電源的蒙地卡羅分析顯示了(從上到下)增益裕度、相位裕度,以及與不穩定奇點的距離。

在這個例子中,為影響待分析輸出函數的每個元件指定了一個容差範圍和分佈——通常是高斯分佈或均勻分佈。然後模擬一些(非任意)情況,其中容差特性根據它們的分佈而變化,並把待分析輸出函數的結果記錄下來。

記錄對圖1中12V~1.8V穩壓器進行AC穩定性分析期間在到不穩定奇點的距離上得到的增益、相位和穩定性裕度。記錄每個輸出函數的統計資料(平均值和標準差)和最壞情況(終點),若只做穩定性分析,從圖2顯示的穩定性裕度可以看出其性能。

20190514TA31P2 圖2 穩定性示例結果通常僅涉及相位和增益裕度。然而,穩定性裕度可以更好更準確地評估穩定性。這裡,為了方便起見,將與不穩定奇點的距離轉換為度數,並與30度需求進行比較。

蒙地卡羅結果必須在有效的統計框架中進行評估。該框架包括一個信心區間(由所選擇的總體而得到),以及一個與具體實例相關的信心水準(Confidence levels,也稱為確定性)組合。沒有此框架,就無法正確評估結果。

一個函數的容差區間基於總體的測量樣本,是一個存在某種可能性(或者感覺到某種程度的信心度)的區間,這種可能性就是總體的指定部分的值。

使用任意次運作後的最大和最小結果作為「最壞情況」,並不是執行和評估蒙地卡羅分析的正確方法。這是因為,從統計學角度來說,你並不知道計算了什麼樣的性能範圍。例如,不應該只完成500次(或100或1,000次等)實驗,並為了滿足規範要求而將終點作為「最壞情況」結果。以這種方式完成的蒙地卡羅分析很容易導致不正確的設計決策,因為結果有可能比預期更差,也有可能比預期更好。

對於航空航太和汽車領域的WCCA,可以使用以下兩種方法的其中之一來執行蒙地卡羅分析:正態分佈容差區間法,其結果是平均值±幾個σ(sigma);或與分佈無關的容差區間法(非參數統計),其結果是最壞情況結果。在這兩種情況下,運作次數都與具體的確定性和總體覆蓋率相關聯。

對終點值的使用是有特殊規則的。根據所選擇的蒙地卡羅方法,結果的分佈情況有可能重要,也可能並不重要。在圖2的情況下(穩定性裕度長條圖),結果不是正態分佈,因此,應該使用與分佈無關的方法。

對於正態分佈容差區間法,被模擬的函數(穩定性、步進負載、波紋等)的平均值和標準差是根據蒙地卡羅結果計算得出。然後使用範圍(平均值±幾個σ)計算性能,其中σ的個數基於總體(概率)覆蓋率/信心水準(確定性),通常為99.73%/99%,99.73%/95%,或99%/90%。航空航太讀者可能會看出99/90與用於小樣本輻射評估的統計資料相同。要使蒙地卡羅評估有效,這兩個數都必須定義,因為我們是在處理採樣資料系統,必須遵循「3sigma」準則進行分析這種說法是不全面的。

信心水準

可以使用免費的線上工具來計算概率信心水準組合,表1對50個案例進行了蒙地卡羅分析,顯示了容差區間計算的結果。這個免費的Excel/線上工具可以設定總體覆蓋率和確定性的案例個數,確定標準差的正確個數。這裡顯示了一個常用組合——50例,±4(3.942)σ,相當於99.73%/99%。輸出函數的分佈必須是高斯分佈。

20190514TA31P2-1 表1 50個案例的容差區間——99.73/99.4σ,99/90.3σ。

信心水準和總體覆蓋率互為反比。因此,給定的相同σ數量可以表示無限數量的信心度/總體覆蓋率組合。對於99.9%的信心水準,總體覆蓋率為99.315%,例如,執行30個案例,其中均值=0,標準差=1。

線上Excel計算器根據有限樣本的均值和標準差,在假設最後的總體是正態分佈(高斯)的情況下,計算出給定總體比例和任何指定信心水準的容差區間。在該示例中,99.73%/99%相當於大約4σ,99%/90%相當於3σ。

50個案例是一個任意的選擇。運作的案例數量可以是任意的,對於選定的信心區間/總體覆蓋率,將產生特定數量的標準差。但50是一個比較實際的數字,它不會因為太大而在SPICE模擬過程中遇到收斂問題,也不會因太小而引起不熟悉這種方法的評審人的質疑。對於最常選擇的信心區間和總體覆蓋率,它也恰好產生σ約整數。

如上所述,對於正態分佈容差區間法,最壞情況性能不是最大和最小終點模擬結果,而是平均值加上或減去指定的標準差數。

正態分佈容差區間法的關鍵在於它只有在輸出函數結果的分佈是正態或非常接近正態(例如不是偏態的)時才有效。正態性是可以測試的,如果分佈是非正態的,則應該使用與分佈無關的容差區間法,因為輸出變數總體的去偏是一個很具挑戰的數學過程。

底層元件容差分佈和輸出函數的靈敏度會極大地影響輸出函數的分佈。例如,控制回路穩定性通常高度依賴等效串聯電阻(ESR),其變化可達數量級,當ESR接近其最小值或規範最大值時,穩定性的模擬結果可能會高度偏斜。

因此,蒙地卡羅穩定性分析通常透過與分佈無關的方法完成。均勻容差(分佈平坦但被截斷)可以得出與高斯分佈不同的結果(假定高斯具有無限概率尾數)。顯然,如果已經知道元件的容差分佈,儘管這種情況很少發生,就應採用它們。

在給定確定性和總體覆蓋率時,與分佈無關的容差區間法為選擇將作為最差情況結果的模擬終點運作次數提供了基礎。與正態分佈的容差區間不同,與分佈無關指的是輸出函數的分佈形態不會影響結果,然而,底層容差將影響結果,並且均勻概率分佈將產生與高斯元件容差分佈不同的結果(倒不一定更差)。

參考圖3中的曲線由R統計套裝軟體(distfree.cr)生成,它顯示了與分佈無關的信心水準的適當運行次數。「與分佈無關」意味著輸出結果的分佈不必是高斯分佈,使用指定的概率和確定性,將表現最差的情況(終點)視為性能範圍。

20190514TA31P3 圖3 構建與分佈無關的雙側容差區間所需的最小樣本量。蒙地卡羅運作數量隨總體覆蓋率和確定性而變化。

表2顯示使用99.73%/90%總體覆蓋率/確定性對最差情況範圍的計算,運作次數必須為1,440。最差性能結果定義了範圍。

20190514TA31P3-1 表2 常用的與分佈無關的蒙地卡羅運作計數和標準差範圍,與總體覆蓋率和確定性的關係。

那麼,什麼是正確的總體覆蓋率和確定性呢?這通常取決於應用、程式,以及待評估的給定函數的性能期望水準。

結語

最差情況分析是一項很具挑戰的工作,它需要許多的專業知識,獲得結果的最佳方法並不總是顯而易見。如果沒有選擇或執行正確的方法,都可能浪費大量時間並且結果還不正確。對於輸出與所有底層容差變數不是單調關係的任何評估,蒙地卡羅分析幾乎是必不可少的。通常,單調性是未知的,如果執行蒙地卡羅分析,則必須定義總體覆蓋率和確定性以正確評估結果。無論是使用正態分佈容差區間法還是與分佈無關的容差區間法,都是如此。

(參考原文: Monte Carlo gone wrong,by Charles Hymowitz)