用生存计数数据估算威布尔分布参数的更好方法?

时间:2019-09-17 17:31:20

标签: r distribution weibull

我正在分析R中随时间推移的设备故障,并使用一个数据集,该数据集包含每个年龄段仍存在的设备,第一个条目中的总数为0年,然后在随后的每个时间步中恢复存在的设备。我正在尝试根据这些数据估算形状和比例的Weibull分布参数,但是我发现的所有包装都需要逐个观察,以免出现故障。我想知道是否有一种方法可以比目前为止更优雅地估算这些参数。

我已将此向量转换为每个设备出现故障时的向量,但这似乎是一个非常尴尬的解决方法。

# My data looks like:
appliance <- c(10,10,10,9,9,8,6,3,2,2,1,1,1)

# This works, but seems awkward.
appl.fail <- as.integer(NULL)
for (i in 2:length(appliance)) {
  appl.fail <- c(appl.fail, rep(i-1, times = appliance[i-1]-appliance[i]))
}

# Using the EnvStats package:
weib.envstat <- eweibull(appl.fail, method = 'mle')
# Using the STAR package:
weib.star <-weibullMLE(appl.fail)
# Using the fitdistrplus package:
weib.fdp <- fitdist(appl.fail, 'weibull')

# Outputs all about the same:
weib.envstat$parameters
weib.star$estimate
weib.fdp$estimate

有人知道一个程序包会在每个时间步使用计数数据吗?我可能需要估计其中的很多,而宁愿避免使用所有这些临时矢量。或者至少有什么建议可以减少尴尬?

0 个答案:

没有答案