如何绘制拉普拉斯噪声分布​​?

How to plot laplacian noise distribution?

我目前正在研究差分隐私,想要可视化数据集的噪声分布。我使用拉普拉斯分布作为我的噪声添加机制。

我已经计算了 beta(比例参数)和数据集的真实输出(均值),想知道我应该使用哪个拉普拉斯函数(dlaplace()plaplace()qlaplace(), rlaplace() 来自 rmutil 包)用于噪声分布。我也不明白为什么我不能只生成带有拉普拉斯参数和均值的噪声分布,而不指定数据 (yqpn) 在上述函数中。

我得到拉普拉斯分布并可视化的想法如下所示:

df <- ?laplace(?,m=33.6, s=7.32)
plot(df)

?表示我不确定的区域,m 是平均值,s 是比例参数。

如果要绘制密度:

curve(dlaplace(x, m=33.6, s=7.32), from = 0, to = 66)

ggplot2相当于:

ggplot() + 
   geom_function(fun = function(x) rmutil::dlaplace(x, m = 33.6, s = 7.32)) + 
   expand_limits(x=c(0,66))

如果你想要随机偏差:

hist(rlaplace(10000, m = 33.6, s = 7.32), col = "gray", breaks = 100)

(第一个参数,10000,是所需的随机偏差数;在ggplot中使用geom_histogram()