🎲 ម៉ុងតេកាឡូស៊ីម៉ូឡេសិន (Monte Carlo Simulation)

វាយការប៉ាន់ស្មានអំពីលេខមិនច្បាស់លាស់ ដំណើរការសេណារីយ៉ូចៃដន្យរាប់ពាន់តាមការប៉ាន់ស្មានទាំងនោះ និងបង្ហាញជូននូវជួរលទ្ធផលដែលអាចកើតឡើងទាំងអស់ ព្រមទាំងប្រូបាប៊ីលីតេនៃការខាតបង់។

📊 អថេរ (Variables)

🔗 សហសម្ព័ន្ធ (Correlations)

មេគុណសហសម្ព័ន្ធ (correlation) ចន្លោះពី -1 ដល់ 1។ គាំទ្របំណែងចែកទាំងអស់ ដោយ Gaussian copula។

🧮 រូបមន្តច្រើន (Multi-Output)

កំណត់ឈ្មោះ output និងរូបមន្ត។ គាំទ្រ + - * / ( ), ^, ប្រៀបធៀប (> < >= <= == !=), តក្ក (&& ||), ternary (cond ? a : b), និងអនុគមន៍ sqrt, abs, min, max, exp, log, floor, ceil, round(x,n), pow, sign, if, clamp, NPV, IRR, PMT។

⏱️ ជំហានពេលវេលា (Time Steps)

បើ > 1 រូបមន្តត្រូវគណនាម្តងទៀតក្នុងជំហាននីមួយៗ។ ប្រើអថេរពិសេស t (1..N), prev (តម្លៃ output នៅជំហានមុន), cum (ផលបូកបង្គរ)។
⚠️ ចំណាំ: លទ្ធផលចុងក្រោយគឺផលបូកបង្គរនៃគ្រប់ជំហាន។ បើចង់បានតម្លៃចុងក្រោយ (មិនបូក) សូមប្រើ prev ជំនួស cum ក្នុងរូបមន្ត។
⚠️ ចំណាំ: អថេរ input ត្រូវបានយកតម្លៃតែម្តងក្នុងមួយ iteration (មិនផ្លាស់ប្តូរតាម t ទេ)។ បើចង់ឱ្យអថេរផ្លាស់ប្តូរតាមពេលវេលា សូមប្រើរូបមន្តដូចជា Revenue * pow(1+Growth, t)។

⚙️ ការកំណត់ (Settings)

កំពុងដំណើរការ...
📈 ការប៉ាន់ស្មានពីទិន្នន័យ (Data Fitting — ជាជម្រើស)

បិទភ្ជាប់ទិន្នន័យប្រវត្តិសាស្ត្រ (លេខមួយក្នុងមួយបន្ទាត់ ឬខណ្ឌដោយក្បៀស)។ ប្រព័ន្ធនឹងរកបំណែងចែកដែលសមស្របបំផុត។ លោតជំហាននេះបាន បើអ្នកគ្មានទិន្នន័យប្រវត្តិសាស្ត្រ។

🎯 ការបង្កើនប្រសិទ្ធភាព (Optimization — ជាជម្រើស)

រកតម្លៃល្អបំផុតនៃ parameter ដើម្បីបង្កើន ឬបន្ថយ objective។

📈 លទ្ធផល (Results)

មធ្យម (Mean)?
-
គម្លាតស្តង់ដារ (SD)?
-
អប្បបរមា (Min)
-
អតិបរមា (Max)
-
P5?
-
P10
-
P25 (Q1)
-
P50 (មេដ្យាន)
-
P75 (Q3)
-
P90
-
P95
-
ភាពទ្រេត (Skew)
-
P(ខាតបង់)
-
P(ចំណេញ)
-
P(> គោលដៅ)
-
VaR 95%
-
CVaR 95%
-
95% CI
-

🔎 អត្ថន័យនៃលទ្ធផលនីមួយៗ

បន្ទាប់ពីដំណើរការ កម្មវិធីបង្ហាញលេខស្ថិតិសំខាន់ៗ។ នេះជាអត្ថន័យរបស់វាមួយៗ។

📊 ស្ថិតិមូលដ្ឋាន

មធ្យម (Mean)
តម្លៃមធ្យម — "ចម្លើយរំពឹងទុក"។
គម្លាតស្តង់ដារ
រង្វាស់ភាពប្រែប្រួល — កាន់តែធំ លទ្ធផលកាន់តែខ្ចាត់ខ្ចាយ។
Min / Max
លទ្ធផលអាក្រក់បំផុត / ល្អបំផុត។

📈 ភាគរយ (Percentiles)

P5, P10
ករណីអាក្រក់។ P5 = VaR 95%។
P50 (មេដ្យាន)
លទ្ធផលកណ្ដាល។
P90, P95
ជួរខាងលើ — ឱកាសចំណេញខ្ពស់។

⚠️ រង្វាស់ហានិភ័យ

P(ខាតបង់)
ប្រូបាប៊ីលីតេខាតបង់។
VaR 95%
ការខាតបង់អតិបរមាក្នុង 95% នៃករណី។
CVaR 95%
មធ្យមនៃ 5% ករណីអាក្រក់បំផុត។
95% CI
ចន្លោះទំនុកចិត្ត 95% សម្រាប់មធ្យម។
Percentile CI
បង្ហាញក្រោម P5, P50, P95 — CI 95% (bootstrap)។

🔬 ការវិភាគ

ភាពទ្រេត
≈0: ស៊ីមេទ្រី · >0: កន្ទុយស្តាំ · <0: កន្ទុយឆ្វេង។
Tornado
អថេរណាបង្កភាពប្រែប្រួលច្រើនបំផុត (កំណត់ត្រឹម 8 អថេរដំបូង)។

📐 រូបមន្តស្ថិតិសំខាន់ៗ

មធ្យម = (1/N) · Σ xᵢ វ៉ារ្យ៉ង់ = (1/N) · Σ (xᵢ − មធ្យម)² → SD = √វ៉ារ្យ៉ង់ P(ខាតបង់) = ចំនួន(xᵢ < 0) / N VaR 95% = P5 · CVaR 95% = មធ្យមនៃ 5% អាក្រក់បំផុត
បំណែងចែកនៃលទ្ធផល
- ← ខាតបង់ ចំណេញ → -
📚 ព័ត៌មានលម្អិតអំពីបំណែងចែក (15 ប្រភេទ)
🧪 ការធ្វើតេស្ត (Tests)
✨ លក្ខណៈពិសេសនៃ Monte Carlo (Features)
📊
បំណែងចែកលទ្ធផលពេញលេញ
ជំនួសការគណនាតម្លៃតែមួយ (deterministic) ស៊ីម៉ូឡេសិនបង្កើត N លទ្ធផលឯករាជ្យ ហើយរាយបំណែងចែកទាំងមូលរបស់វា។
x₁, x₂, …, xN ~ f(X) → មធ្យម, SD, ភាគរយ
🎲
ការយកតម្លៃចៃដន្យតាមបំណែងចែក
គាំទ្រ 15 បំណែងចែក ដោយប្រើ algorithm ត្រឹមត្រូវ៖ Box–Muller (Normal), Marsaglia–Tsang (Gamma), inverse-CDF (Triangular, Weibull, Pareto), និងផ្សេងទៀត។
🔗
Gaussian Copula សម្រាប់សហសម្ព័ន្ធ
ភ្ជាប់អថេរដោយ Cholesky decomposition នៃម៉ាទ្រីសសហសម្ព័ន្ធ បន្ទាប់មកបំប្លែងតាម rank transform ដើម្បីរក្សា marginal distribution ដើម។
z = L·ε, ε ~ N(0,I) → u = Φ(z) → x = F⁻¹(u)
⚠️
រង្វាស់ហានិភ័យកន្ទុយ
គណនា VaR 95% (Value at Risk), CVaR 95% (Expected Shortfall), និង P(ខាតបង់) ដែលជារង្វាស់ស្តង់ដារក្នុងហិរញ្ញវត្ថុ និងធានារ៉ាប់រង។
VaR95 = P5 · CVaR95 = E[X | X ≤ P5]
📉
ចន្លោះទំនុកចិត្ត (Confidence Intervals)
គណនា 95% CI សម្រាប់មធ្យម (តាម CLT) និង bootstrap CI សម្រាប់ភាគរយ (P5, P50, P95) ដោយ resampling ជាមួយ replacement។
🔍
Tornado Sensitivity Analysis
វិភាគឥទ្ធិពលនៃអថេរនីមួយៗលើលទ្ធផល ដោយជួសជុលអថេរមួយនៅ P10/P90 ហើយវាស់ការផ្លាស់ប្តូរនៃ P10/P90 លទ្ធផល។
Swing = |P90(out|var=high) − P10(out|var=low)|
📈
Maximum Likelihood Fitting
ប៉ាន់ស្មាន parameter នៃបំណែងចែកពីទិន្នន័យពិត ដោយ MLE ហើយជ្រើសរើសម៉ូដែលល្អបំផុតតាម AIC (Akaike Information Criterion)។
AIC = −2·logL + 2k
🧮
រូបមន្ត និង Output ច្រើន
គណនា output ច្រើនក្នុងពេលតែមួយ ពីរូបមន្តដែលមាន operator ពេញលេញ តក្ក ternary និងអនុគមន៍ហិរញ្ញវត្ថុ (NPV, IRR, PMT)។
⏱️
គំរូចលនាច្រើនជំហាន
ដំណើរការរូបមន្តច្រើនដងតាមជំហានពេលវេលា ដោយប្រើអថេរពិសេស t, prev, cum សម្រាប់គំរូបង្គរ ឬគំរូលូតលាស់។
🎯
Grid + Local Optimization
រកតម្លៃ parameter ល្អបំផុតដោយ grid search បន្ទាប់មក local refine ជាច្រើនជុំ — ប្រើ common random numbers (fixed comparison seed) ដើម្បីប្រៀបធៀបបានត្រឹមត្រូវ។
🔁
Reproducibility ដោយ Seed
កំណត់ random seed ដើម្បីទទួលបានលទ្ធផល ដូចគ្នាទាំងស្រុង រាល់ពេលដំណើរការ — ចាំបាច់សម្រាប់របាយការណ៍ និងការផ្ទៀងផ្ទាត់។
⚡
Web Worker Parallel Execution
ការគណនាដំណើរការនៅ thread ដោយឡែក ដូច្នេះ UI មិនគាំង ទោះបីជាដំណើរការ 250,000 iterations ក៏ដោយ។