|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/applied-monte-carlo-simulation/
课程评论:没有评论
本课程“应用蒙特卡洛模拟”旨在解决在复杂系统或具有不确定输入值的情况下,分析师难以获得精确结果的问题。课程将介绍蒙特卡洛模拟(MCS)的核心原理,即通过生成大量随机输入变量,并反复运行模型来获得统计上可信的输出结果,从而实现对不确定性的量化。 MCS 适用于多种场景,包括: 1. **估计输入变量的误差:** 当输入变量本身存在误差时,MCS 可以帮助量化最终结果的复合误差,提供更准确的估计。 2. **量化复杂业务流程:** 对于涉及复杂量化计算的业务流程,如成本、效率、可靠性和风险分析,MCS 能提供在置信区间内的答案。 3. **支持数据分析和机器学习:** 在需要大量场景进行验证的预测、优化、回归、自助法、排队系统和系统动力学等应用中,MCS 是验证这些方法的重要工具。 4. **敏感性分析和风险评估:** 对结果的敏感性、影响力和置信区间进行分析,并进行相关的风险分析。 课程将以项目规划为例,说明 MCS 的应用。在项目规划中,任务的时长和成本常是不确定的,这会导致整体工期和成本估算的误差累积。MCS 可以生成成千上万个项目实例,为每个任务的任务时长或成本从最能代表其行为的概率分布中抽取随机值。通过对这些大量实例的统计分析,可以得到项目总工期(关键路径)或总成本的分布,并能识别出最可能的关键路径。这使得分析师能够给出带有置信区间的预测,例如“90% 的情况下项目工期会短于 34 天,存在 10% 的风险工期会超过 34 天”。 为了提高效率并避免重复造轮子,本课程将引入一个标准化的 MCS 过程。该标准化过程包含八个步骤,旨在简化模型的建立、调试、共享和复用。 **标准化的八步 MCS 过程包括:** * **步骤 1:** 表达问题陈述,准备所需信息,并建立一个基于静态固定估计值的初步静态模型以供验证。 * **步骤 2:** 识别模型中的输入变量,并确定最能代表这些变量行为的概率分布,同时配置分布的参数(均值、率、标准差)。 * **步骤 3:** 开发模型,用来自概率分布的随机值取代静态固定值。这将生成成千上万个模型实例,每个实例都包含不同的输入变量组合,并产生大量的输出结果。 * **步骤 4-7:** 使用五种分析方法来开发和解读结果:频率表、频率和累积频率百分比的组合图、使用百分位数的置信区间,以及敏感性分析和影响分析。 * **步骤 8:** 陈述研究发现,回答最初的问题,并提出模型的扩展和改进建议。 此外,本课程还会详细讲解并应用多种概率分布,如均匀分布、分类分布、正态分布、二项分布、对数正态分布、几何分布、负二项分布、指数分布、BetaPERT 分布等。课程将提供大量的实践资源,包括 18 个 Excel 中的已解决和已记录的 MCS 模型、10 个用于演示概率分布的专用工作簿、空白模型、模板、相关文章和书籍链接,以及详尽的程序说明。
A) Purpose of Monte Carlo SimulationMonte Carlo Simulation is a computational technique used in complex systems where deterministic results (or precisely known input values) are difficult or impossible to obtain.The main process is to generate random values for each input variable based on your knowledge of their behavior. The formulating would then be replicated over 1000s of instances, each with its own randomly extracted input variables. The resulting 1000s of output values can then be statistically analyzed to provide estimates with the required confidence.Monte Carlo Simulation will therefore resolve the problem analysts get when they are not sure of their estimates.B) Cases where it can be UsedHere are some situations that can be resolved by applying Monte Carlo Simulation:1) When you need to estimate input variables in a formulation. Each estimate will have an error margin. Your output results will therefore have a compounded error, making it difficult for you to be precise and accurate.2) When designing a business process that has an elaborate quantitative formulation. Manually, such objectives as costing, efficiency, reliability and risk cannot easily be calculated to give specific answers. Monte Carlo Simulation can then be used to assist designers get answers that can be quoted within confidence intervals.3) When supporting Data Analysis, Data Science methods or Machine Learning methods that can only be verified using test results based on a large number of scenarios. Applications such as forecasting, optimization, regression, bootstrapping techniques, queuing systems and other system dynamics processes.4) When you have a formulation that requires the use of sensitivity analysis, influence testing and confidence intervals of the outcome and related risk analysis.C) An Example: Planning a ProjectWhen planning projects with a large number of tasks that have imprecise duration and costs, estimation errors will creep into the global duration and cost resulting in a compounded error. Each variation you try will result in a different critical path.MCS allows you to prepare 1000s of scenarios. Each one will represent an "instance" of your project. For each task, you will be able to sample a random value from a probability distribution that best represents the behavior of the duration or the cost of such tasks.The 1000s of scenarios will then result in 1000s of total duration (critical path) or total costs. It can also result in many critical paths and can hence indicate which one is the most likely path your project will take. How does that help? You will be able to express your results with a measured degree of confidence.You might conclude that 90% of your scenarios resulted in a project duration shorter than 34 days. MCS can tell you that there would be a 10% risk the task might have a duration longer than 34 days. If you are more risk averse, you might use a tighter confidence level such 5% of the time, the duration might then be longer than 38 days. Such "confidence" analysis of results can only be reached when we have 1000s of durations or costs, giving you a lot more confidence in your estimates than when entering a single fixed value for the duration or cost of each task.D) But why do we Need a Standardized MCS Process?I learnt so much from many wonderful MCS books and video courses. Such a variety of approaches made it clear that I was wasting time starting each model from scratch. More time was needed to understand how each developer approached their problem and how they developed the simulations. I needed a standardized MCS process that can be used every time I developed a new model. This resulted in the 8-step process we will be using in this course.Such a standardized and segmented process would ease troubleshooting and debugging models. It would also make them more friendly to share. Moreover, you would be able to reuse some of these steps in future models.E) The Practical 8-Step Process for Developing Monte Carlo Simulation ModelsAt the end of this course, you will be able to use the 8 steps having learnt it through a documented Case Model:Step 1: express your problem statement and prepare the information you need in the coming steps. Develop a formulation that is static, that is, it would be based on single fixed estimates of input variables. This would help you validate the formulation early in the process.Step 2: identify the input variables in the model and determine the probability distributions that best represent each variable. In this step, and using the information from step 1, you will also be able to configure each distribution with using its proper parameters: means, rates, standard deviations.Step 3: develop your model using functions that extract random values from each of these distributions. Replace the fixed estimates used in Step 1 with dynamic random values extracted in Step 2. Each of the 1000s of scenarios would be an instant of your formulation containing different values of the input variables. This is the heart of the Monte Carlo model and it would result in 1000s of output results.Steps 4 to 7: develop and interpret the results with 5 analytic methods: frequency tables, combo charts showing the frequency and cumulative frequency percent of your output results, confidence intervals using percentiles, sensitivity and influence analysis.Finally, in Step 8 you will state your findings and answer the questions raised in the problem statement as well as suggest diverse extensions and improvements to the model on hand.F) Related MatterThe course includes many concrete models using the 8-step process. Various distributions will be clarified and used in these models: Uniform, Categorical (Discrete), Normal, Binomial, LogNormal, Geometric, Negative Binomial, Exponential, BetaPERT, etc. These will be explained and documented in detail along with examples and procedures to use them in Monte Carlo Simulation.All lectures will be supported by a variety of resources:· Solved and documented MCS models in Excel (18 all in all)· Dedicated workbooks that animate and describe various probability distributions (10 all in all)· Some blank models that allow you to start from scratch· Templates that can be used by you· Links to Interesting articles and books· Detailed procedures for some elaborate formulations· Related lists