使用fitdist拟合Nikitin分布参数时遇MLE报错求助
极大似然法(MLE)拟合自定义分布参数时遇到错误求助
我们在项目工作中使用极大似然法(MLE)拟合自定义Nikitin分布的参数时遇到问题,恳请协助解决。
相关代码
dNikitin <- function(x,xm,k){ifelse(x<=xm,k*x,k*((xm)^(k+1))/(x^(k+1)))} pNikitin <- function(q,xm,k){ifelse(q<=xm,k*(q^2)/2,1-((xm/q)^k))} qNikitin <- function(p,xm,k){ifelse(p<=xm,sqrt(2*p/k),((1-p)^(1/k))/xm)} normalize <- function(x){ return((x-min(x, na.rm = TRUE))/(max(x, na.rm = TRUE)-min(x, na.rm = TRUE))) } normWeibull<-normalize(meanWeibull) fitdist(normWeibull,dNikitin,method="mle",start=list(xm=0.3,k=2))
输入数据
c(110.748686129801, 98.2776959086357, 107.896205308347, 92.2915138464519, 87.7617193395103, 90.1622792140005, 91.8033807629933, 94.568405422293, 92.5874058165138, 88.0884443786551, 96.5309067199432, 91.0261197676354, 94.2679775694526, 90.5093551193029, 88.9174199439019, 91.8514293903992, 90.9955076177624, 91.1814276091258, 91.7929514693243, 93.3873263237287, 92.6780609953716, 94.1147227956929, 90.6022332236083, 91.3516389064167, 93.3044623928651, 92.6844973173802, 92.1094717946254, 92.3325385449018, 92.5078077279718, 91.7228807632554, 91.2199417181825, 92.5131361104952, 91.1129952612204, 92.7588384693641, 90.8665206849997, 90.779883682863, 91.0429550901112, 93.5118794242166, 90.9171366944406, 92.9923347664536, 91.2320675536598, 92.5010420516451, 92.2063219496921, 90.7726417196627, 91.0286532971901, 92.1203260272004, 91.9261263838444, 92.3717505797982, 91.9426032838848, 93.4844753515267, 92.4941315850104, 91.617671404993, 91.9104672687007, 91.8751700888031, 91.8492961510924, 90.6914716378463, 91.8338048738146, 91.955641871349, 92.3667886405851, 91.9173795403439, 91.5429025873175, 91.5123507018074, 92.5311555262706, 91.7890357660746, 91.842671638066, 91.6771883587705, 93.1362779612421, 92.124381384808, 91.8557174119997, 91.5201622975485, 92.0565738905183, 92.1950908699028, 91.8527357900513, 92.2933530428259, 91.6476806115201, 91.8410850771431, 91.3042061948952, 91.8876820473797, 91.3635638985579, 91.7575551978857, 91.8951555314514, 91.8591302699135, 91.9771331048671, 92.0229325271029, 92.2772778806803, 91.9120631092919, 92.049009551631, 92.3230796792234, 91.901438300024, 91.9086185375799, 91.6037245872085, 91.4819628420924, 91.749716533664, 91.6475919457206, 91.8099939281075, 91.9324739291272, 91.4278296918048, 92.3146169121117, 91.3771664156326)
错误信息
<simpleError in optim(par = vstart, fn = fnobj, fix.arg = fix.arg, obs = data, gr = gradient, ddistnam = ddistname, hessian = TRUE, method = meth, lower = lower, upper = upper, ...): function cannot be evaluated at initial parameters> Error in fitdist(normWeibull, dNikitin, method = "mle", start = list(xm = 0.3, : the function mle failed to estimate the parameters, with the error code 100
感谢各位提供解决思路,顺颂时祺。
内容的提问来源于stack exchange,提问作者n_nikitin
相关产品推荐
相关产品推荐

