【发布时间】:2015-01-18 23:47:07
【问题描述】:
我在 R 方面相对较新,如果您可以查看以下代码,我将不胜感激。我正在尝试使用 mmedist 估计 Frechet 分布(或逆 weibull)的形状参数(我也尝试了调用 mmedist 的 fitdist),但似乎出现以下错误:
Error in mmedist(data, distname, start = start, fix.arg = fix.arg, ...) :
the empirical moment function must be defined.
我使用的代码如下:
require(actuar)
library(fitdistrplus)
library(MASS)
#values
n=100
scale = 1
shape=3
# simulate a sample
data_fre = rinvweibull(n, shape, scale)
memp=minvweibull(c(1,2), shape=3, rate=1, scale=1)
# estimating the parameters
para_lm = mmedist(data_fre,"invweibull",start=c(shape=3,scale=1),order=c(1,2),memp = "memp")
请注意,我尝试过多次更改代码以查看我的错误是否在语法上,但我总是得到相同的错误。
我知道文档中的范例。我也试过了,但没有运气。请注意,为了使该方法起作用,矩的顺序必须小于形状参数(即形状)。
示例如下:
require(actuar)
#simulate a sample
x4 <- rpareto(1000, 6, 2)
#empirical raw moment
memp <- function(x, order)
ifelse(order == 1, mean(x), sum(x^order)/length(x))
#fit
mmedist(x4, "pareto", order=c(1, 2), memp="memp",
start=c(shape=10, scale=10), lower=1, upper=Inf)
提前感谢您的帮助。
【问题讨论】:
标签: r distribution