如标题中所述,我fitdist
在 R(fitdistrplus
包)中的函数存在缩放问题。
请看下面的代码:
# Initialize arrays for storing result
fit_store_scale <- rep(NA, 3)
fit_store_shape <- rep(NA, 3)
# load data
data1 <- c(7.616593e-05, 5.313253e-05, 1.604328e-04, 6.482365e-05,
4.217499e-05, 6.759114e-05, 3.531301e-05, 1.934228e-05,
6.263665e-05, 8.796205e-06)
data2 <- c(7.616593e-06, 5.313253e-06, 1.604328e-05, 6.482365e-06,
4.217499e-06, 6.759114e-06, 3.531301e-06, 1.934228e-06,
6.263665e-06, 8.796205e-07)
data3 <- c(7.616593e-07, 5.313253e-07, 1.604328e-06, 6.482365e-07,
4.217499e-07, 6.759114e-07, 3.531301e-07, 1.934228e-07,
6.263665e-07, 8.796205e-08)
# form data frame
data <- data.frame(data1, data2, data3)
# set scaling factor
scaling <- 1 #works without warnings and errors at:
#10000 (data1), 100000 (data2) or
#1000000 (data3)
# store scale and shape parameter of data1, data2 and data3 in Array
for(i in 1:3)
{
fit.w1 <- fitdist(data[[i]]*scaling,"weibull", method = "mle")
fit_store_scale[i] <- fit.w1$estimate[[2]]*1/scaling
#1/scaling is needed for correcting scale parameter
fit_store_shape[i] <- fit.w1$estimate[[1]]
}
我有三个数据向量,它们存储在一个数据框中。现在我想使用该fitdist
函数分别估计每列数据(和)的比例和形状参数data1
,最后分别将它们存储在和中。data2
data3
fit_store_scale
fit_store_shape
这里的问题是,fitdist
如果没有适当的比例因子,该函数将无法工作data1
,data2
并且data3
需要不同的因子。我正在寻找一种解决方案来自动为每列数据确定最佳比例因子,从而让fitdist
函数最终工作。