利用蒙特卡罗方法计算积分时,可以选择对
进行均匀采样,这样积分就可以近似写为
。但如果被积函数并不太均匀时,则误差会大幅增加,一些大权重的点也可能被漏掉。如图所示(图中
为被积分的函数,
为均匀抽样得到的点),通过均匀抽样,大部分的点都落到了
以下的位置,而两个尖峰内却极少有点分布,这样就会造成积分值的误差变大。假设可以找到一个函数
,可以使
变得更均匀,那么当按照分布函数
来抽样
时,原有的积分变为
。两个尖峰内会有更多的抽样点存在,从而提高模拟结果的精度。所以,通过选取另外一个分布函数对参数进行抽样,提高计算精度的方法就是重要性抽样。
在统计物理中,利用蒙特卡罗方法计算物理量时,当
很大且对应能量
越低的参数对积分的贡献越大。因此可以直接按照玻耳兹曼分布
来对
进行重要性抽样,则积分近似地变为
。由于样本需要通过特定的分布函数抽样,并且保证相邻样本近似无关联,即所有样本形成一条马尔可夫链,同时参数空间也一般非常大,所以常会采用梅特罗波利斯-黑斯廷斯算法。
但重要性抽样也有其局限性,对于参数空间内存在多个能量极小点,并且能量值相差不大,且彼此之间又离得很远的情况,按照配分函数进行抽样并不能很好地进行重要性抽样。因此,需要综合其他方法,如多重系综抽样和模拟退火方法。