2

我是 R 新手。有一组样本和目标,我想拟合一个数值函数来解决新样本的目标。我的示例是以秒为单位的时间,表示用户在这个地方停留的持续时间:

>b <- c(101,25711,13451,19442,26,3083,133,184,4403,9713,6918,10056,12201,10624,14984,5241,
+21619,44285,3262,2115,1822,11291,3243,12989,3607,12882,4462,11553,7596,2926,12955,
+1832,3539,6897,13571,16668,813,1824,10304,2508,1493,4407,7820,507,15866,7442,7738,
+5705,2869,10137,11276,12884,11298,...)

首先,我将它们转换为除以 3600 的小时数,并且我想将函数拟合为持续时间的 pdf:

> b <- b/3600
> hist(c,xlim=c(0,13),prob=T,breaks=seq(0,24,by=0.5))
> lines(density(x), col=red)

在此处输入图像描述

我想拟合图中的红线,并插入新值以找到这个地方特定持续时间的概率,例如 p(duration = 1.5hours)。

感谢您的关注!

4

1 回答 1

2

如上所述,您可以fitdistrMASS包中安装发行版。如果您使用连续分布,您将有时间在一个区间内的概率。如果您使用离散分布,您可以计算某个时间(以小时为单位)的概率。

对于连续情况,您可以使用 Gamma 分布:fitdistr(b, "Gamma")将为您提供参数估计值,然后您可以使用pgamma这些估计值和区间。

对于离散情况,您可以使用泊松分布:fitdistr(b, "Poisson")然后使用dpois具有估计值和所需值的函数。

要决定使用哪一个,我只需用直方图绘制 pdf 并查看一下。

于 2013-03-23T20:50:15.930 回答