微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在寻找偏移指数分布的起始值时遇到问题

如何解决在寻找偏移指数分布的起始值时遇到问题

我试图将移位的指数分布拟合到我的数据,但是fitdist函数给出100的误差并且无法估计起始值。我还使用plotdist函数查找起始值或初始值以适合分布,并且在迭代过程后,我获得了以下参数为rate = 0.155 shift = 0.00001的曲线图,甚至在fitdist中也使用了这些值。

enter image description here

我也使用mledist函数来计算分布参数的起始值,但它也无法正常工作。我也使用了fitdist函数,它给出了以下错误

fitdist(x,“ sexp”,start = list(rate = 0.155,shift = 1e-05))中的错误函数mle无法估计参数, 错误代码为100

代码如下:

library(fitdistrplus)
library(readxl)
library(tidyverse)
library(here)
library(janitor)


# Load data-------------------------------
pvr <- read_excel(here("data","pvr.xlsx"))

pvr <- pvr %>% 
  select(-starts_with("...")) %>% 
  clean_names(case = "snake")

x <- pvr$headway
rate <- 0.155
shift <- 0.00001
dsexp <- function(x,rate,shift)
  dexp(x-shift,rate=rate)
psexp <- function(x,shift)
  pexp(x-shift,rate=rate)
qsexp <- function(x,shift)
  qexp(x-shift,rate=rate)

f12 <- fitdist(x,"sexp",start = list(rate=0.155,shift=0.00001),lower = c(0,-min(x)))

可以从下面的以下链接下载数据:

https://ptagovsa-my.sharepoint.com/:x:/g/personal/kkhan_tga_gov_sa/EfzCE5h0jexCkVw0Ak2S2_MBWf3WUywMd1izw41r0EsLeQ?e=EiqWDc

有人可以在这方面帮助我吗?

解决方法

fitdist函数默认使用mle方法。该代码仅通过将方法从mle更改为mse或mge而起作用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。