Chapter 9: Density estimation
Figure 1
set.seed(1)
dendat<-matrix(runif(1000),500,2)
# frame 1
plot(dendat,xlab="",ylab="")
# frame 2
type<-"sphering"
prodendat<-preprocess(dendat,type=type)
plot(prodendat,xlab="",ylab="")
# frame 3
type<-"copula"
prodendat<-preprocess(dendat,type=type)
plot(prodendat,xlab="",ylab="")
Figure 2
# download the file http://cc.oulu.fi/~jklemela/denstruct-html/currency.txt
file<-"~/currency.txt"
dendat<-read.table(file=file)
# frame 1
plot(dendat,xlab="Brazil",ylab="Mexico")
# frame 2
type<-"sphering"
prodendat<-preprocess(dendat,type=type)
plot(prodendat,xlab="",ylab="")
# frame 3
type<-"copula"
prodendat<-preprocess(dendat,type=type)
plot(prodendat,xlab="Brazil",ylab="Mexico")
Figure 3
# download the file http://cc.oulu.fi/~jklemela/denstruct-html/DaxCac.txt
file<-"~/DaxCac.txt"
dendat<-read.table(file=file)
# frame 1
plot(dendat,xlab="DAX",ylab="CAC")
# frame 2
type<-"sphering"
prodendat<-preprocess(dendat,type=type)
plot(prodendat,xlab="",ylab="")
# frame 3
type<-"copula"
prodendat<-preprocess(dendat,type=type)
plot(prodendat,xlab="DAX",ylab="CAC")
Figure 4
Figure 5
siemen<-5
n<-60
dendat<-sim.data(n=n,seed=siemen,type="mulmod")
N<-c(50,50)
egf<-sim.data(type="mulmod",N=N)
dpf<-draw.pcf(egf)
# frame 1
plot(dendat,xlab="",ylab="",cex.axis=1.5)
contour(dpf$x,dpf$y,dpf$z,drawlabels=FALSE,add=T,nlevels=7)
# frame 2
plot(dendat,xlab="",ylab="",cex.axis=1.5)
pit<-10
for (i in 1:n){
dir<-2*pi*runif(1)
x0<-dendat[i,1]
y0<-dendat[i,2]
x1<-x0+cos(dir)*pit
y1<-y0+sin(dir)*pit
segments(x0, y0, x1, y1)
x0<-dendat[i,1]
y0<-dendat[i,2]
x1<-x0-cos(dir)*pit
y1<-y0-sin(dir)*pit
segments(x0, y0, x1, y1)
}
Figure 6
gauss<-function(t,h=1){ return(exp(-t^2/(2*h^2))/(sqrt(2*pi)*h))}
bart<-function(t,h=1){
if (((t/h)<(-1)) || ((t/h)>1)) res<-0
else res<-3*(1-(t/h)^2)/(4*h)
return(res)
}
reg<-function(t,h=1,a=0){
res<-a+exp(-2*(t/h))*(t/h)^5
return(res)
}
plot(x,reg(x,h=0.2,a=0.2))
regden<-function(x,y,epsi=1){
lenx<-length(x)
leny<-length(y)
z<-matrix(0,lenx,leny)
for (i in 1:lenx){
for (j in 1:leny){
r<-reg(x[i],h=0.2,a=0.2)
ehd<-gauss(y[j]-r,h=epsi)
des<-bart(x[i]-0.5,h=0.5)
z[i,j]<-ehd*des
}
}
return(z)
}
x<-seq(0,1,0.02)
y<-seq(-0.5,1.7,0.02)
z<-regden(x,y,epsi=0.3)
sim.reject<-function(n,seed=1)
{
dendat<-matrix(0,n,1)
set.seed(1)
ota<-0
while (ota