0

我正在尝试将移位的指数分布拟合到我的数据中,但 fitdist 函数给出的误差为 100,并且无法估计起始值。我还使用 plotdist 函数来查找起始值或初始值以拟合分布,并且在迭代过程之后,我获得了参数 rate = 0.155 shift = 0.00001 的以下图,甚至我也在 fitdist 中使用了这些值。 在此处输入图像描述 我也使用 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, rate, shift)
  pexp(x-shift, rate=rate)
qsexp <- function(x, rate, 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

任何人都可以在这方面帮助我吗?

4

1 回答 1

0

fitdist 函数默认使用 mle 方法。该代码只需将方法从 mle 更改为 mse 或 mge 即可。

于 2020-10-16T21:46:14.543 回答