我试图找到 lambda 的 MLE 估计,数据集是 column1= date and time(Y-m-d hours:min:sec)-由泊松分布。 column2=某个账户中的钱。 我一直收到一条错误消息,因为它说数据框没有数值,所以我检查了类:
[1] "POSIXct" "POSIXt"
[1] "numeric"
所以我使用了以下命令:
as.numeric(Capped_data_M$Date_Time - ISOdate(2019,01,01, hour=0, min=0, sec=0)
这使日期变成了像 6.556666
然后我尝试了
Poifit <- fitdist(dateandtime,"poisson", method = "mle")
但我收到此错误消息,指出分布未定义。我哪里做错了?
答案 0 :(得分:0)
从 fitdist()
包中的 fitdistrplus
文档中,distr
参数应该是:
命名一个分布的字符串“name”,必须为其定义相应的密度函数dname、相应的分布函数pname和相应的分位数函数qname,或者直接定义密度函数。
换句话说,您应该将“poisson”更改为“pois”
library(fitdistrplus)
dateandtime <- rpois(100, lambda = 1.3)
fitdist(dateandtime, "pois", "mle")
#> Fitting of the distribution ' pois ' by maximum likelihood
#> Parameters:
#> estimate Std. Error
#> lambda 1.25 0.1118033
由 reprex package (v1.0.0) 于 2021 年 4 月 19 日创建