我有两个数据集,一个是经验数据,一个是通过TensorflowProbability模型中的蒙特卡洛采样生成的数据。我的目标是将模型分布与数据分布进行比较。
我曾尝试使用“ python最佳运输”包来实现Earth-movers-distance和wasserstein距离,但我不知道如何使其与tensorflow一起使用。
我正在TensorflowProbability / Edward2中定义一个模型,如下所示:
def model1(distribution1,distribution2):
return distribution1*distribution2
并将其与经验数据进行比较:
def empirical_distance(generatedData,empiricalData):
return wasserstein_distance(generatedData,empiricalData)
当调用empirical_distance()时,我想获得这些分布的接近程度的标量结果,因此我可以将其用作损失函数进行训练。