#GAMLSS练习1
#a)Load the abdominal data and print the variable names
data(abdom)
names(abdom)
#b)Fit the normal distribution model using pb() to fit P-spline smoothers for the predictors
#for mu and sigma with automatic selection of smoothing parameters
mNO<-gamlss(y~pb(x),sigma.fo=~pb(x),data=abdom,family=NO)
#c) Try fitting alternative distributions instead of the normal
#two parameters distributions
mGA<-gamlss(y~pb(x),sigma.fo=~pb(x),data=abdom,family=GA)
mIG<-gamlss(y~pb(x),sigma.fo=~pb(x),data=abdom,family=IG)
mGU<-gamlss(y~pb(x),sigma.fo=~pb(x),data=abdom,family=GU)
mRG<-gamlss(y~pb(x),sigma.fo=~pb(x),data=abdom,family=RG)
mLO<-gamlss(y~pb(x),sigma.fo=~pb(x),data=abdom,family=LO)
#three parameters distributions
mPE<-gamlss(y~pb(x),sigma.fo=~pb(x),data=abdom,family=PE)
mTF<-gamlss(y~pb(x),sigma.fo=~pb(x),data=abdom,family=TF)
mBCCG<-gamlss(y~pb(x),sigma.fo=~pb(x),data=abdom,family=BCCG)
#four parameters distributions
mBCT<-gamlss(y~pb(x),sigma.fo=~pb(x),data=abdom,family=BCT)
mBCPE<-gamlss(y~pb(x),sigma.fo=~pb(x),data=abdom,family=BCPE)
#d)Compare the fitted models using GAIC with each of the penalties k=2,k=3 and k=log(length(abdom$y))
GAIC(mNO,mGA,mIG,mGU,mRG,mLO,mPE,mTF,mBCCG,mBCT,mBCPE,k=2)
GAIC(mNO,mGA,mIG,mGU,mRG,mLO,mPE,mTF,mBCCG,mBCT,mBCPE,k=3)
GAIC(mNO,mGA,mIG,mGU,mRG,mLO,mPE,mTF,mBCCG,mBCT,mBCPE,k=log(length(abdom$y)))
#e)For your chosen model look at the total effective degrees of freedom,plot the fitted
#parameters and plot the data and fitted mu against x
mLO$mu.df
mLO$sigma.df
fittedPlot(mLO,x=abdom$x)
plot(y~x,data=abdom)
lines(fitted(mLO)~x,data=abdom,col="red")
wp(mLO,xvar=abdom$x,ylim.worm=1.5)#查看残差图
#g)For your chosen model look at the centile curves
centiles(mLO,abdom$x,cent=c(0.4,2.10,25,50,75,90,98,99.6))
GAMLSS拟合连续分布练习1-代码及注释
最新推荐文章于 2023-06-22 08:10:04 发布