将带有CI的直线拟合到R中的GEV分布

时间:2018-09-28 12:09:14

标签: r regression distribution

我有一个34年的变量Y的数据。我想对该数据拟合广义极值分配(GEV)。

我使用以下代码。

df = structure(list(x = 1:35, y = c(176.55005072974, 136.609062033287, 158.323835221524, 160.668521285558, 174.185742838285, 156.90073054748, 158.045799551095, 186.696704141421, 169.388010854245, 169.023364381474, 173.755336249718, 178.360257725013, 180.055691919144, 178.963782808454, 176.309554924479, 176.869635838618, 181.870498315494, 189.611312902551, 185.161870675961, 187.35139554664, 165.46966999563, 182.242441328656, 186.244853297894, 188.453023779529, 191.97421050017, 191.041451101999, 196.644472224133, 188.515454922651, 206.281311879478, 194.858834774533, 223.552034677587, 207.730621173395, 214.28592077984, 257.861176094329, 270.111968152873), type = c("A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "B", "A", "A", "A", "A", "B", "A", "B", "A", "A", "A", "A", "A", "B", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A")), .Names = c("x", "y", "type"), row.names = c("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35" ), class = "data.frame")

##fit GEV distribution using package (extRemes) library(extRemes) GEV_MLE <- fevd(as.vector(df$y), method = "MLE", type="GEV")

这有助于我使数据适合GEV分布。接下来我要绘制它。

##plot the distribution plot(GEV_MLE, type="rl",main="Return Level Plot MLE",ylim=c(100,500), pch=16) enter image description here

拟合主要基于MLE方法。我希望对点和相应的CI进行线性拟合,而不是非线性拟合,如下图所示。enter image description here

有人可以帮我吗?

0 个答案:

没有答案