Cardiff Research Consortium Ltd, Cardiff, UK.
Pharmacoeconomics. 2010;28(8):665-74. doi: 10.2165/11535350-000000000-00000.
Simulation techniques are well suited to modelling diseases yet can be computationally intensive. This study explores the relationship between modelled effect size, statistical precision, and efficiency gains achieved using variance reduction and an executable programming language.
A published simulation model designed to model a population with type 2 diabetes mellitus based on the UKPDS 68 outcomes equations was coded in both Visual Basic for Applications (VBA) and C++. Efficiency gains due to the programming language were evaluated, as was the impact of antithetic variates to reduce variance, using predicted QALYs over a 40-year time horizon.
The use of C++ provided a 75- and 90-fold reduction in simulation run time when using mean and sampled input values, respectively. For a series of 50 one-way sensitivity analyses, this would yield a total run time of 2 minutes when using C++, compared with 155 minutes for VBA when using mean input values. The use of antithetic variates typically resulted in a 53% reduction in the number of simulation replications and run time required. When drawing all input values to the model from distributions, the use of C++ and variance reduction resulted in a 246-fold improvement in computation time compared with VBA - for which the evaluation of 50 scenarios would correspondingly require 3.8 hours (C++) and approximately 14.5 days (VBA).
The choice of programming language used in an economic model, as well as the methods for improving precision of model output can have profound effects on computation time. When constructing complex models, more computationally efficient approaches such as C++ and variance reduction should be considered; concerns regarding model transparency using compiled languages are best addressed via thorough documentation and model validation.
模拟技术非常适合模拟疾病,但计算量很大。本研究探讨了模型化效果大小、统计精度与使用方差减少和可执行编程语言实现效率提高之间的关系。
基于 UKPDS 68 结果方程,使用 Visual Basic for Applications(VBA)和 C++编写了一个已发表的模拟模型,以模拟 2 型糖尿病患者群体。评估了编程语言的效率提高,并使用 40 年时间范围内的预测 QALY 评估了对偶变量减少方差的影响。
当使用平均值和抽样输入值时,使用 C++可分别将模拟运行时间减少 75 倍和 90 倍。对于一系列 50 个单向敏感性分析,使用 C++时总运行时间为 2 分钟,而使用平均值输入值时,VBA 的总运行时间为 155 分钟。对偶变量的使用通常可使模拟重复次数和运行时间减少 53%。当从分布中向模型中提取所有输入值时,与 VBA 相比,使用 C++和方差减少可使计算时间提高 246 倍 - 对于 VBA,评估 50 个场景相应需要 3.8 小时(C++)和大约 14.5 天(VBA)。
经济模型中使用的编程语言选择以及提高模型输出精度的方法都可能对计算时间产生深远影响。在构建复杂模型时,应考虑更高效的计算方法,如 C++和方差减少;对于使用编译语言的模型透明度问题,最好通过彻底的文档记录和模型验证来解决。