1

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

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

我对获取拉普拉斯分布并将其可视化的想法如下所示:

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

? 代表我不确定的区域,m是平均值,s是尺度参数。

4

1 回答 1

5

如果要绘制密度:

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 是所需的随机偏差数;geom_histogram()在 中使用ggplot

拉普拉斯直方图

于 2021-08-14T20:50:53.840 回答