自动化 R 中的分布拟合

4
我正在尝试自动化适合最合适分布的过程。我有一个包含汽车产品故障时间的Excel列。我将文件输入到R中并读取该列。现在,我想使用拟合优度测试来确定哪个分布最适合数据。我希望输出以表格格式显示不同分布所有测试的结果,以便比较结果。是否可能使用R自动化整个过程,而不是使用fitdistplus等函数为每个分布一步步进行操作? 你有什么建议吗?我像这样使用了对数似然函数,看起来运行良好。我还可以使用哪些其他测试? 以下是loglik函数的代码-
library(gdata)
Excel<-read.xls("Failtime.xls", sheet="CPART10", perl="perl.exe")
attach(Excel)
x<-Time_to_Fail
library(MASS)

distributions = c("normal","exponential","binomial""negative binomial","gamma","t","lognormal")
x = x[ x >= 0 ]
for ( dist in distributions ) {
print( paste( "fitting parameters for ", dist ) )
params = fitdistr( x, dist )
print( params )
print( summary( params ) )
print( params$loglik )
y<-params$loglik
}

1
购买 Eureqa 软件需要付费是有原因的。"最佳拟合" 是高度主观的,也取决于您愿意尝试哪种类型的函数以及如何限制它们。例如,您的列表中排除了 Weibull、Bessel 和双峰正态分布。 - Carl Witthoft
正如卡尔所说,我真的不确定您是否想要这样做。了解这些分布的形状可能是有好处的,但在这里我不确定它的好处有多大。例如,我怀疑您不会有负的故障时间,因为使用正态分布会暗示这种情况。 - Sam Mason
2
与上面两位评论者不同,对我来说,一个实际测试“什么最适合”的程序似乎是务实的。任何误解可能由持有人负责。然而,像“我应该如何衡量和比较拟合度?”这样的问题可能更好地在统计中处理。我怀疑当您的模型函数具有不同的自由度时,特别是当您的数据集还包含被审查的事件时间时,这可能会变得棘手。 - texb
是的,我完全同意你们的看法。我发现了一个叫做EASYFIT的软件,并试图通过R实现该软件所能做到的功能。 - user1463242
1个回答

1
我遇到过的最好的适用于故障数据分布拟合的软件是Reliasoft的Weibull++。他们在这里描述了他们的“分布向导”算法。尽管这个软件很好,但它仅仅是一个工具,还需要专家的判断。因此,我不知道是否可能真正自动化分布拟合。

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接