# Simulated example #
X=rproc2fdata(n=100,t=seq(0,1,l=101),sigma="OU")
beta0=fdata(mdata=cos(2*pi*seq(0,1,l=101))-(seq(0,1,l=101)-0.5)^2+
rnorm(101,sd=0.05),argvals=seq(0,1,l=101),rangeval=c(0,1))
Y=inprod.fdata(X,beta0)+rnorm(100,sd=0.1)
dev.new(width=21,height=7)
par(mfrow=c(1,3))
plot(X,main="X")
plot(beta0,main="beta0")
plot(density(Y),main="Density of Y",xlab="Y",ylab="Density")
rug(Y)
## Not run:
# # Composite hypothesis: do not reject FLM
# pcvm.sim=flm.test(X,Y,B=50,B.plot=50,G=100,plot.it=TRUE)
# pcvm.sim
# flm.test(X,Y,B=5000)
#
# # Estimated beta
# dev.new()
# plot(pcvm.sim$beta.est)
#
# # Simple hypothesis: do not reject beta=beta0
# flm.test(X,Y,beta0.fdata=beta0,B=50,B.plot=50,G=100)
# flm.test(X,Y,beta0.fdata=beta0,B=5000)
#
#
# # AEMET dataset #
#
# data(aemet)
#
# # Remove the 5% of the curves with less depth (i.e. 4 curves)
# dev.new()
# res.FM=depth.FM(aemet$temp,draw=TRUE)
# qu=quantile(res.FM$dep,prob=0.05)
# l=which(res.FM$dep<=qu)
# lines(aemet$temp[l],col=3)
# aemet$df$name[l]
#
# # Data without outliers
# wind.speed=apply(aemet$wind.speed$data,1,mean)[-l]
# temp=aemet$temp[-l]
#
# # Exploratory analysis: accept the FLM
# pcvm.aemet=flm.test(temp,wind.speed,est.method="pls",B=100,B.plot=50,G=100)
# pcvm.aemet
#
# # Estimated beta
# dev.new()
# plot(pcvm.aemet$beta.est,lwd=2,col=2)
#
# # B=5000 for more precision on calibration of the test: also accept the FLM
# flm.test(temp,wind.speed,est.method="pls",B=5000)
#
# # Simple hypothesis: rejection of beta0=0? Limiting p-value...
# dat=rep(0,length(temp$argvals))
# flm.test(temp,wind.speed, beta0.fdata=fdata(mdata=dat,argvals=temp$argvals,
# rangeval=temp$rangeval),B=100)
# flm.test(temp,wind.speed, beta0.fdata=fdata(mdata=dat,argvals=temp$argvals,
# rangeval=temp$rangeval),B=5000)
#
#
# # Tecator dataset #
#
# data(tecator)
# names(tecator)
# absorp=tecator$absorp.fdata
# ind=1:129 # or ind=1:215
# x=absorp[ind,]
# y=tecator$y$Fat[ind]
# tt=absorp[["argvals"]]
#
# # Exploratory analysis for composite hypothesis with automatic choose of p
# pcvm.tecat=flm.test(x,y,B=100,B.plot=50,G=100)
# pcvm.tecat
#
# # B=5000 for more precision on calibration of the test: also reject the FLM
# flm.test(x,y,B=5000)
#
# # Distribution of the PCvM statistic
# plot(density(pcvm.tecat$boot.statistics),lwd=2,xlim=c(0,10),
# main="PCvM distribution", xlab="PCvM*",ylab="Density")
# rug(pcvm.tecat$boot.statistics)
# abline(v=pcvm.tecat$statistic,col=2,lwd=2)
# legend("top",legend=c("PCvM observed"),lwd=2,col=2)
#
# # Simple hypothesis: fixed p
# dat=rep(0,length(x$argvals))
# flm.test(x,y,beta0.fdata=fdata(mdata=dat,argvals=x$argvals,
# rangeval=x$rangeval),B=100,p=11)
#
# # Simple hypothesis, automatic choose of p
# flm.test(x,y,beta0.fdata=fdata(mdata=dat,argvals=x$argvals,
# rangeval=x$rangeval),B=100)
# flm.test(x,y,beta0.fdata=fdata(mdata=dat,argvals=x$argvals,
# rangeval=x$rangeval),B=5000)
# ## End(Not run)
Run the code above in your browser using DataLab