【发布时间】:2015-05-17 05:39:45
【问题描述】:
我的频率值随时间变化(x 轴单位),如下图所示。经过一些归一化后,这些值可能被视为某些分布的密度函数的数据点。
问:假设这些频点来自 Weibull 分布T,我如何将最佳 Weibull 密度函数拟合到这些点从而推断分布@ 987654325@参数从哪里来的?
sample <- c(7787,3056,2359,1759,1819,1189,1077,1080,985,622,648,518,
611,1037,727,489,432,371,1125,69,595,624)
plot(1:length(sample), sample, type = "l")
points(1:length(sample), sample)
更新。
为了防止被误解,我想补充一点解释。 我的频率值随时间变化(x 轴单位)我的意思是我有数据表明我有:
- 7787价值1的实现
- 3056 次价值 2 的实现
- 2359 个实现价值 3 ... 等。
实现我的目标的某种方式(我认为不正确)是创建一组这些实现:
# Loop to simulate values
set.values <- c()
for(i in 1:length(sample)){
set.values <<- c(set.values, rep(i, times = sample[i]))
}
hist(set.values)
lines(1:length(sample), sample)
points(1:length(sample), sample)
并在set.values 上使用fitdistr:
f2 <- fitdistr(set.values, 'weibull')
f2
为什么我认为这是不正确的方法以及为什么我要在R 中寻找更好的解决方案?
在上面介绍的分布拟合方法中,假设
set.values是我从分布T实现的完整集在我原来的问题中,我知道密度曲线 第一部分的点 - 我不知道它的尾巴,我想 估计尾部(以及整个密度函数)
【问题讨论】:
-
我已经用直方图更新了我的答案。
-
你知道密度曲线第一部分结束和尾部开始的确切值吗?您的样本以值 22 结束:我可以假设尾部从 23 开始吗?
-
恐怕我不明白(我不知道我可以在这里使用“分布尾部”的正式定义)。我的最终目标是计算分布
T的变量的期望值。也许有理由假设第一部分(上面直方图中 1. 和 2. 点之间的部分)是线性的,而后一部分 - Weibull(Weibull 是我从向我提供数据的人那里得到的假设。我不会我不会为此赌上我的性命,但我倾向于假设相同。) -
你说:“在我原来的问题中,我知道密度曲线第一部分的点”。 “第一部分”到底是什么意思? “第一部分”在什么值处停止?您还说:“我不知道它的尾巴,我想估计尾巴(以及整个密度函数)”。为此,您需要(一个标准)选择尾部开始的位置。
-
我想我已经回答过了。我的解决方案在哪些方面不是您想要的?
标签: r distribution estimation probability-density weibull