在R中使用`extRemes`拟合通用极值(GEV)时出错?

时间:2019-04-10 19:58:25

标签: r data-fitting

我有一些数据,我想使用R中的extRemes包来拟合广义极值(GEV)分布。但是,发生错误:

library(extRemes)
Mydata = c(6,3,3,3,5,5,4,3,5,5,4,3,4,4,6,5,5,4,5,2,6,4,6,5,3,3,8,3,4,4,6,6,6,6,6,5,6,6,5,5)
fit_gev <- fevd(x=Mydata, method = "MLE", type="GEV", period.basis = "year")
summary(fit_gev)

Error in diag(cov.theta) : invalid 'nrow' value (too large or NA)
In addition: Warning message:
In diag(cov.theta) : NAs introduced by coercion

我想知道如何解决此错误?感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用EnvStats软件包进行如下调整:

library(EnvStats)
# Data
Mydata =
c(6,3,3,3,5,5,4,3,5,5,4,3,4,4,6,5,5,4,5,2,6,4,6,5,3,3,8,3,4,4,6,6,6,6,6,5,6,6,5,5)    
# Generalized Extreme Value (EnvStats)
egevd(Mydata, method = "pwme")# (Method: probability-weighted moments)

Results of Distribution Parameter Estimation
--------------------------------------------

Assumed Distribution:            Generalized Extreme Value

Estimated Parameter(s):          location = 4.268896
                                 scale    = 1.314489
                                 shape    = 0.353434

Estimation Method:               Unbiased pwme

Data:                            Mydata

Sample Size:                     40