用於蒙地卡羅模擬的 Analytic Solver 替代方案
xellstorm 在瀏覽器中對 Excel 模型做蒙地卡羅模擬,可以原樣開啟為 Analytic Solver 模擬建立的 Excel 檔案:讀得懂 Analytic Solver 的 49 個分配函數與 18 個百分位數寫法,參數仍連結到儲存格,也讀得懂 PsiOutput、PsiCorrMatrix 與 PsiSimParam。在 Windows、macOS 或 Linux 上,都不需要 Analytic Solver 或 Excel。
檔案本身不會更動,模型仍可在 Analytic Solver 中開啟。執行前會先列出轉換了什麼,以及每個沒轉換的公式與原因。
Analytic Solver 與 xellstorm 對照
| Analytic Solver | xellstorm | |
|---|---|---|
| 執行環境 | 在 Excel 內:桌面增益集用於 Windows 版 Excel;Analytic Solver Cloud 另可用於 Mac 版 Excel 與網頁版,且需要 Microsoft 365 訂閱 | Windows、macOS 或 Linux 的瀏覽器,不需 Excel;建議用 Chrome 或 Edge |
| 安裝 | 每位要執行模型的人,都要在 Excel 安裝增益集 | 不需安裝,也不需管理員權限 |
| Excel 檔案 | 儲存格裡是 Psi 函數;沒有 Analytic Solver 就算不出來 | 原樣讀取:xellstorm 不會寫入任何內容 |
| 同事 | 要有 Analytic Solver 才能重跑模型 | 在瀏覽器中開啟即可;報告的讀者不需授權 |
| 計算位置 | 桌面增益集在本機;Analytic Solver Cloud 在其廠商的伺服器上 | 在本機,於瀏覽器分頁內;檔案絕不上傳 |
表中關於 Analytic Solver 的內容,依其廠商截至 2026 年 10 月公布的說明;實際需求請向廠商確認最新資訊。
哪些 Analytic Solver 函數會轉換
這些表格由匯入器自己的規則清單產生,所以列出的正是能轉換的全部內容。每個函數對應到它所描述的分配,參數依 Analytic Solver 文件的定義轉換,每個對應也都與相當的 scipy 分配比對測試過。「百分位數」標示 …Alt 寫法,它們以百分位數指定分配,執行時 xellstorm 會精確求解;† 標示只能用數字轉換的函數。
| 分配 (xellstorm 名稱) | Analytic Solver |
|---|---|
白努利bern | PsiBernoulli |
貝他beta | PsiBetaPsiBetaGenPsiBetaSubj† |
二項binom | PsiBinomial |
Burr III(Dagum)burr | PsiDagum |
卡方chi2 | PsiChiSquare百分位數: PsiChiSquareAlt |
累積cumul | PsiCumul |
離散custom | PsiDiscretePsiDisUniform |
指數expon | PsiExponential百分位數: PsiExponentialAlt |
極值(最大值,Gumbel)gumbel_r | PsiMaxExtreme百分位數: PsiMaxExtremeAlt |
極值(最小值)gumbel_l | PsiMinExtreme百分位數: PsiMinExtremeAlt |
Ff | PsiFDist |
疲勞壽命(Birnbaum–Saunders)fatiguelife | PsiFatigueLife百分位數: PsiFatigueLifeAlt |
Fréchetinvweibull | PsiFrechet百分位數: PsiFrechetAlt |
伽瑪、愛爾朗gamma | PsiGammaPsiErlang百分位數: PsiGammaAlt |
直方圖histogram | PsiHistogram |
雙曲正割hypsecant | PsiHypSecant |
超幾何hypergeom | PsiHyperGeo |
整數均勻randint | PsiIntUniform |
逆高斯invgauss | PsiInvNormal |
Johnson SBjohnsonsb | PsiJohnsonSB |
Johnson SUjohnsonsu | PsiJohnsonSU |
Kumaraswamykumaraswamy | PsiKumaraswamy |
Lévylevy | PsiLevy百分位數: PsiLevyAlt |
對數邏輯斯fisk | PsiLogLogistic百分位數: PsiLogLogisticAlt |
邏輯斯logistic | PsiLogistic百分位數: PsiLogisticAlt |
對數常態lognorm | PsiLogNormalPsiLognormPsiLognorm2百分位數: PsiLogNormalAlt |
負二項、幾何nbinom | PsiGeometricPsiNegBinomial |
常態norm | PsiNormalPsiErf†百分位數: PsiNormalAlt |
柏拉圖pareto | PsiPareto百分位數: PsiParetoAlt |
柏拉圖 II(Lomax)lomax | PsiPareto2百分位數: PsiPareto2Alt |
Pearson V(逆伽瑪)invgamma | PsiPearson5百分位數: PsiPearson5Alt |
Pearson VI(beta prime)betaprime | PsiPearson6 |
PERTpert | PsiPert |
卜瓦松poiss | PsiPoisson |
瑞利rayleigh | PsiRayleigh百分位數: PsiRayleighAlt |
倒數(對數均勻)loguniform | PsiReciprocal |
t 分配t | PsiStudent百分位數: PsiStudentAlt |
三角triang | PsiTriangular |
由百分位數定義的三角trigen | PsiTriangGen |
均勻unif | PsiUniform |
韋伯weibull_min | PsiWeibull百分位數: PsiWeibullAlt |
分配可以單獨出現,也可以乘上一個正的乘數,再加或減至多一個偏移量,例如 PsiNormal(B1*1.1,B2)*C1+5;引數可以用數字、單一儲存格參照與算術運算,並保持連結到那些儲存格。PsiMean(B1) 這類統計量會讓 B1 成為輸出,與 Analytic Solver 相同。屬性函數、標記與統計量如下:
| 函數 | 在 xellstorm 中轉換為 |
|---|---|
PsiTruncate | 截斷:類型 1(預設):在任何平移之前的 truncate_min、truncate_max;-1:平移後的數值;3:truncate_pmin、truncate_pmax |
PsiTruncateP | 截斷:truncate_pmin、truncate_pmax(分配的百分位數) |
PsiShift | 平移:shift |
PsiName | 名稱:輸入的名稱 |
PsiCorrMatrix | 相關性:同一矩陣內各輸入之間的等級相關 |
PsiCorrDepen | 相關性:與同名配對的輸入之間的等級相關 |
PsiCorrIndep | 相關性:與同名配對的輸入之間的等級相關 |
PsiSimParam | 每次模擬一個值:基準執行中固定該儲存格,之後每次模擬各成一個情境 |
PsiOutput | 輸出:該儲存格本身,或其參照的儲存格 |
PsiSimOutput | 輸出:該儲存格本身,或其參照的儲存格 |
PsiMean | 統計量:第一個引數的儲存格成為輸出(與所有 Psi 統計量對輸出的處理相同) |
Analytic Solver 無法轉換的內容
- 沒有精確對應的函數。
PsiPertAlt與其他以兩個形狀參數指定的百分位數寫法,以及上方表格中沒有的任何 Psi 函數。PERT 請改給最小、最可能與最大值(PsiPert),這種寫法可以轉換。 - 匯入無法改寫的公式。同一個儲存格有多個分配、分配放在另一個函數內或分母中,以及需要改變運算順序的算術,例如
(PsiNormal(0,1)+5)*2。請拆成多個儲存格,每格一個分配。 - 最佳化模型。匯入讀取的是模擬,不是 Solver 的最佳化模型;xellstorm 在檔案旁另行設定自己的最佳化,處理不確定情況下的決策儲存格。
- 模型以外的部分。VBA 巨集、自訂函數與連到其他檔案的連結:與 xellstorm 開啟的任何 Excel 檔案一樣,都不支援。
每個沒轉換的公式都會連同原因列出,相容性檢查也會在執行前指出 xellstorm 算不出來的每個儲存格。從增益集移轉模型會用完整的範例,說明每個剩下的公式該怎麼處理。
逐步移轉 Analytic Solver 模型
- 開啟檔案。把 .xlsx 或 .xlsm 檔案拖放到 xellstorm;.xlsb 請先另存為 .xlsx。檔案在瀏覽器分頁內讀取與計算。
- 匯入 Psi 函數。「分配」步驟的由檔案匯入會列出哪些成為輸入、輸出、相關性或情境,以及每個剩下的公式與原因。
- 檢查剩下的部分。相容性檢查會把公式與 Excel 儲存的值核對,並指出 xellstorm 算不出來的儲存格。先替換這些,再採用結果。
- 執行並比較。全部轉換完成、檢查也沒有問題後,平均值與百分位數和 Analytic Solver 的差異就只來自抽樣雜訊。把設定存成專案檔,放在 Excel 檔案旁邊,之後就能重新執行。
常見問題
需要安裝 Analytic Solver 或 Excel 嗎?
都不需要。xellstorm 直接從檔案讀取公式,用自己的計算引擎在瀏覽器中計算模型,Windows、macOS 與 Linux 都能用。
Analytic Solver 的模擬模型能在 Mac 上執行嗎?
Analytic Solver 的桌面增益集在 Windows 版 Excel 中執行;Analytic Solver Cloud 另可用於 Mac 版 Excel,且需要 Microsoft 365 訂閱。xellstorm 在 macOS 的瀏覽器也能執行,開啟檔案不需要 Excel 或增益集;建議使用 Chrome 或 Edge。
結果會和 Analytic Solver 一樣嗎?
模型相同,亂數不同。轉換後的分配保留原本的參數,相關性也保留原本的等級相關。全部轉換完成、相容性檢查也沒有問題後,平均值與百分位數和 Analytic Solver 的差異來自抽樣雜訊,試驗次數愈多,雜訊愈小;輸入之間有相關性時,各工具配對抽樣值的方式不同,最好與最差那幾段結果的差異可能稍大。
同一個 Excel 檔案還能繼續用 Analytic Solver 嗎?
可以。匯入只是把公式轉成 xellstorm 自己設定中的輸入,不會寫入檔案,所以檔案照樣能在 Analytic Solver 中開啟與執行。
Analytic Solver 是其所有人的商標。xellstorm 與它並無關聯;這裡提到函數名稱,只是說明 xellstorm 讀得懂哪些內容。
相關內容
- 指南
從 @RISK、ModelRisk 或 Analytic Solver 移轉模型
xellstorm 能讀取 @RISK、ModelRisk 與 Analytic Solver 的 164 個分配函數,並列出轉換了哪些、哪些公式沒轉換及原因。 - 指南
@RISK 替代方案:直接開啟現有的 @RISK 檔案
xellstorm 是 @RISK 的替代方案:不需 @RISK 與 Excel,就能開啟 @RISK 檔案,轉換 53 個 @RISK 分配函數、參數仍連結到儲存格,並在 Windows、macOS 或 Linux 的瀏覽器中執行模型。 - 指南
ModelRisk 替代方案:直接開啟現有的 ModelRisk 檔案
xellstorm 是 ModelRisk 的替代方案:不需增益集與 Excel,就能開啟 ModelRisk 檔案,轉換 62 個 Vose 分配函數、參數仍連結到儲存格,並在瀏覽器中執行模型。
xellstorm 是在瀏覽器中執行的 Excel 模型蒙地卡羅模擬工具:免裝增益集,Excel 檔案也不會離開您的電腦。