r - 使用 R 进行 GPD 分布的最大间距乘积
问题描述
我想估计广义帕累托分布的参数。该location
参数是已知的,因此我必须估计Scale
和Shape
参数。我点击了这个链接:Maximum Product of Spacings using R。方程如下。
Sn = (1/(n + 1))*(log D[i] 从 i = 1 到 n + 1 的总和),其中 D[i] = F(x[i]) - F(x[i - 1])
我根据上面的链接修改了 GPD 的代码。
fnn <- function(para, x){
n <- length(x)
c <- numeric(n - 1)
d <- numeric(n - 1)
for (i in 2:n){
c[i - 1] <- pgpd(x[i], loc = 0, scale = para[1], shape = para[2])
d[i - 1] <- pgpd(x[i-1], loc = 0, scale = para[1], shape = para[2])
}
s <- (1/(n + 1))*sum(log(c - d))
return(-s)
}
set.seed(1234)
n = 15
mydata <- rgpd(n, loc = 0, scale = 1, shape = 2)
x <- sort(mydata)
opt2 <- optim(c(0,0), fnn, x = x)
但我收到以下错误。
Error in pgpd(x[i], loc = 0, scale = para[1], shape = para[2]) : invalid scale parameter
是因为初步估计吗?谢谢。
解决方案
推荐阅读
- flutter - Flutter - 在 iOS 和 Android 上绕过静音和 Dot Not Disturb 模式?
- reactjs - 如何修复 throw new Error('Expected the listener to be a function.');
- powershell - 在 PowerShell 中使用命令作为参数
- javascript - 如何获取我尚未定义 stepSize 的 chartjs 图表的当前步长?
- bokeh - 如何指定考虑到正在绘制的函数的最大值的范围填充?
- r - R查找数据框列的最小日期值
- javascript - 合并嵌套数组并对值求和
- python - 如何在不同节点训练独立的keras模型(尴尬的并行工作负载)
- php - 获取数组中键周围的数字
- python - 由于语法无效,气流 initdb 失败