我正在尝试使用包中的fdwm()
函数来拟合动态混合模型(主体为 Weibull,尾部为 Pareto) evmix
:
library(repmis)
library(evmix)
data=source_data("https://www.dropbox.com/s/r7i0ctl1czy481d/test.csv?dl=0")[,1]
test=fdwm(data,c(0.9150062,75.4699181,quantile(data,0.98),11.21,87.41,0.05))
我遇到了一个奇怪的行为:函数首先返回一个错误......:
Error in integrate(rx, wshape, wscale, cmu = cmu, ctau = ctau, sigmau = sigmau, : non-finite function value
...但继续运行并最终返回一些值:
test$mle
[1] 1.212213e+00 5.877943e+01 5.160288e+02 8.364144e-04 1.206929e+02 8.952331e-02
更远,
xeval=seq(min(data),max(data)+sd(data),length=length(data))
test.distr=ddwm(xeval,test$mle[1],test$mle[2],test$mle[3],test$mle[4],test$mle[5],test$mle[6])
hist(data,probability=TRUE)
lines(xeval,test.distr,col="red")
给出:
因此,似乎估计的参数是有效的。
因此,我应该忽略fdwm()
函数返回的错误吗?我可以使用估计的参数值吗?
关于我的 R 会话的一些信息:
R version 3.1.2 (2014-10-31)
Platform: x86_64-w64-mingw32/x64 (64-bit)
我使用的是 2.5 版evmix
。