我想从固定为给定值均值(=0)、标准差(=1)、偏度(=0)和峰度的分布中采样。我还希望这个分布尽可能一般,即使 Kullback-Leibler 与均匀分布的散度尽可能小(这个条件相当于最大熵原理),就像峰度 = 3 的正态分布一样。
我知道,在一般情况下,很可能没有希望为这种分发提供封闭形式。我只对从中取样感兴趣。我接受合理的数值近似。
我不太关心效率——我可以等待大约 2 天才能获得 2000 个样品。
几年前,我写了一种遗传算法来解决这个问题:
- 从从均匀分布中抽取的 2000 个值的随机样本开始,这将在以后称为总体。
- 通过首先从总体中删除 200 个样本的随机子样本,然后重新插入从均匀分布中采样的相同数量的随机数,创建总体的许多(大约 100 个)变体。
- 找到具有尽可能接近目标参数的均值、标准偏差、偏度和峰度的变体(度量的选择对这个算法来说不应该是关键的,因为所有条件都是相互独立的)。
- 继续第 2 步,人口是第 3 步中最佳选择的变体。
该算法很慢,但最终它产生了我所理解的最大熵分布的良好近似值。
这个算法正确吗?或者有没有更好的方法来获得一般的尖峰分布?