Hello, I am getting a warning message in GAMLSS and have not been able to figure out what the problem is, or if it is something I should be concerned about.
I fit the following 4 models and find that fit2.bcpe is the one with the lowest AIC fit1.bcpe = gamlss(y~pb(x), data=DAT, family=BCPE) fit2.bcpe = gamlss(y~pb(x), sigma.formula=~pb(x), data=DAT, family=BCPE) fit3.bcpe = gamlss(y~pb(x), sigma.formula=~pb(x), nu.formula=~pb(x), data=DAT, family=BCPE) fit4.bcpe = gamlss(y~pb(x), sigma.formula=~pb(x), nu.formula=~pb(x), tau.formula=~pb(x), data=DAT, family=BCPE) AIC(fit1.bcpe, fit2.bcpe, fit3.bcpe, fit4.bcpe) # df AIC # fit2.bcpe 23.67571 15802.37 # fit3.bcpe 24.67868 15803.90 # fit4.bcpe 25.67313 15805.56 # fit1.bcpe 20.60762 15823.97 Then I use centiles.pred() to get predictions: centiles.pred(fit2.bcpe, type=c("centiles"), xname="x", xvalues=18, cent=c(3,15,50,85,97)) # new prediction # new prediction # x C3 C15 C50 C85 C97 # 1 18 100.3498 105.4568 111.4948 117.7682 123.4695 # Warning message: # In predict.gamlss(obj, what = "mu", newdata = newx, type = "response", : # There is a discrepancy between the original and the re-fit # used to achieve 'safe' predictions I thought perhaps that I am getting this error because of the use of the pb() function. In the example below, using x+I(x^2)+I(x^3) instead of poly(x,3) solves the problem, although the exact same predictions are produced making me wonder if the warning is something I can just ignore. data(aids) a = gamlss(y~poly(x,3), family=PO, data=aids) newaids = data.frame(x=c(45,46,47)) centiles.pred(a, type=c("centiles"), xname="x", xvalues=c(45,46,47), cent=c(3,15,50,85,97)) # x C3 C15 C50 C85 C97 # 1 45 420 438 460 483 501 # 2 46 442 461 483 506 525 # 3 47 468 487 510 533 553 # Warning message: # In predict.gamlss(obj, what = "mu", newdata = newx, type = "response", : # There is a discrepancy between the original and the re-fit # used to achieve 'safe' predictions a = gamlss(y~x+I(x^2)+I(x^3), family=PO, data=aids) centiles.pred(a, type=c("centiles"), xname="x", xvalues=c(45,46,47), cent=c(3,15,50,85,97)) # x C3 C15 C50 C85 C97 # 1 45 420 438 460 483 501 # 2 46 442 461 483 506 525 # 3 47 468 487 510 533 553 # No warning, but same predictions. So I thought perhaps the problem was the use of pb(), but I do NOT get the warning if I make predictions for any of the other 3 models: centiles.pred(fit1.bcpe, type=c("centiles"), xname="x", xvalues=18, cent=c(3,15,50,85,97), plot=T) # x C3 C15 C50 C85 C97 # 1 18 100.1979 105.4092 111.4645 117.7477 123.547 centiles.pred(fit3.bcpe, type=c("centiles"), xname="x", xvalues=18, cent=c(3,15,50,85,97), plot=T) # x C3 C15 C50 C85 C97 # 1 18 100.4709 105.4202 111.3888 117.729 123.6178 centiles.pred(fit4.bcpe, type=c("centiles"), xname="x", xvalues=18, cent=c(3,15,50,85,97), plot=T) # x C3 C15 C50 C85 C97 # 1 18 100.3045 105.3596 111.2794 117.5696 123.5994 (1) If the warning is not because of pb(), then what is causing it? (2) Can I ignore the warning? At least in the poly() example, the predictions are the same after I fix the problem causing the warning. And in my data, the predictions are similar across the 4 models. Thanks! Ramzi -- View this message in context: http://r.789695.n4.nabble.com/Warning-in-gamlss-function-centiles-pred-tp4676513.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.