iHermes
iHermes

Reputation: 339

How to perform non-stationary prediction for multiple stations using GEV distribution with L-moments in R

We have data from multiple stations, and our goal is to perform non-stationary predictions from different time points scale parameters for each station using the GEV distribution. We are currently using the extRemes package's fevd() function, which works well for Maximum Likelihood Estimation (MLE), but we also want to perform the analysis using L-moments.

The code we wrote:

XX <- c(9.0, 8.4, 8.4, 6.4, 16.0, 10.0, 7.9, 4.2, 5.7, 9.4, 7.6, 6.3, 2.9, 9.8, 9.6, 7.0, 2.6, 2.3, 1.9, 9.7, 9.1, 10.1, 9.4, 8.2, 6.6, 10.4, 8.0, 8.5, 12.9, 8.5, 8.8, 12.0, 11.0, 7.6, 5.1, 15.3, 9.1, 9.6, 9.0, 14.9, 7.1, 6.7, 8.0, 5.3, 18.5, 10.5, 8.4, 10.7, 4.0, 6.9, 9.8, 9.0, 13.0, 6.2, 7.0, 7.6, 6.5, 9.0, 11.0, 9.3, 9.0, 10.0, 6.4, 9.8, 7.2, 8.8, 10.0, 5.8, 9.2, 9.6, 9.7, 4.6, 5.6, 7.0)

  ti <- seq(1,length(XX),length = length(XX))
  nsfitscale <- fevd(x = XX, method = "Lmoments",scale.fun=~ti)
  rpnss <- return.level(nsfitscale, return.period = c(2, 5, 10, 25, 50, 100, 200, 500))
  LisAKS[[j]]=matrix(rpnss,dim(df)[1],8) 
  
  LmeanAks[j,]=colMeans(LisAKS[[j]])

Upvotes: 0

Views: 28

Answers (0)

Related Questions