【发布时间】:2021-04-18 18:35:58
【问题描述】:
我想将拉普拉斯分布拟合到密度由公式给出的数据:
正如我在 wikipedia 上读到的那样,mu 参数的良好估计量是中位数,而 tau - 与中位数的平均偏差。
所以我做了什么:
set.seed(42)
# Create a vector for which Laplace distribution will be fitted
vec <- rexp(1000)
# Defining laplace distribution
dlaplace <- function(x, mu, b) {
1/(2*b)*exp(-(abs(x - mu))/b)
}
#Estimating two parameters
mu <- median(vec)
tau <- mean(abs(vec-mu))
但是现在,如果我们在适合我们数据的密度的直方图上进行搜索,我们最终会得到以下图像:
library(ggplot2)
vals <- dlaplace(vec, mu, tau)
ggplot() + geom_histogram(aes(vals), binwidth = 3) +
geom_line(aes(x = 1:length(vec), y = vec))
这表明它根本不适合这种分布。我的问题是:
这很糟糕,因为我将我的向量从不是拉普拉斯的指数分布中随机化,还是我做错了什么?
【问题讨论】:
-
看看
hist(vals),看看它是否符合您的期望。 -
PDF 的 AUC 为 1。但您在 y 轴上绘制的是计数而不是比例,这意味着您观察到的数据的直方图的 AUC >> 1。您有一个缩放比例问题。
标签: r ggplot2 distribution