【发布时间】:2019-03-14 06:45:50
【问题描述】:
我正在尝试估计 Weibull-Gamma 分布参数,但遇到以下错误:
"函数mle估计参数失败,报错 代码 7"
我该怎么办?
Weibull-Gamma 分布
密度函数
dWeibullGamma <- function(x, alpha, beta, lambda)
{
((alpha*beta)/(lambda))*(x^(alpha-1))*(1+(1/lambda)*x^(alpha))^(-(beta+1))
}
累积分布函数
pWeibullGamma <- function(x, alpha, beta, lambda)
{
1-(1+(1/lambda)*x^(alpha))^(-(beta))
}
危害功能
hWeibullGamma <- function(x, alpha, beta, lambda)
{
((alpha*beta)/(lambda))*(x^(alpha-1))*(1+(1/lambda)*x^(alpha))^(-(beta+1))/(1+(1/lambda)*x^(alpha))^(-(beta))
}
生存函数
sWeibullGamma <- function(x,alpha,beta,lambda)
{
(1+(1/lambda)*x^(alpha))^(-(beta))
}
估计
paramWG = fitdist(data = dadosp, distr = 'WeibullGamma', start = c(alpha=1.5,beta=1,lambda=1.5), lower= c(0, 0))
summary(paramWG)
Sample:
dadosp = c(240.3,71.9,271.3, 186.3,241,253,287.4,138.3,206.9,176,270.4,73.3,118.9,203.1,139.7,31,269.6,140.2,205.1,133.2,107,354.6,277,27.6,186,260.9,350.4,242.6,292.5, 112.3,242.8,310.7,309.9,53.1,326.5,145.7,271.5, 117.5,264.7,243.9,182,136.7,103.8,188.3,236,419.8,338.6,357.7)
【问题讨论】:
-
我无法重现该错误,您能否提供一个您遇到错误的示例?另外,你能确认你使用的是
fitdistrplus包中的函数fitdist吗? -
非常感谢您的回复。可以,可以,我发给你!!是的,我正在使用 fitdistrplus 包中的 fitdist。我的数据库包含巴西巴拉那州马林加市的每月降雨量。我只是把一月份的所有观察结果发给你。 (240.3 71.9 271.3 186.3 241 253 287.4 138.3 206.9 176 270.4 73.3 118.9 203.1 139.7 31 269.6 140.2 205.1 133.2 107 354.6 277 27.6 186 260.9 350.4 242.6 292.5 112.3 242.8 310.7 309.9 53.1 326.5 145.7 271.5 117.5 264.7 243.9 182 136.7 103.8 188.3 236 419.8 338.6 357.7)
-
Breno,将你的数据读入你的会话,
data <- read.csv("some_data, etc),然后dput(data),这会将它全部打印到你的屏幕上,复制structure(...), and class = "data.frame")之间的所有内容,并将其粘贴到上面您的数据的工作示例。 -
我的数据库有 500 多个观察值,它不适合。
-
您可以像在评论中那样提供数据的子集。只需编辑您的帖子,以便我们更容易重现您的问题并找到解决方案。例如,在示例开头添加
library(fitdistrplus) dadosp <- c(240.3, 71.9, 271.3, ...)之类的内容。另见the guidelines to provide a reproducible example
标签: r statistics distribution weibull fitdistrplus