Chapter 7: Scales of density estimates

Figure 1

```dendat<-sim.data(n=200,seed=5,type="mulmod")

h1<-0.85
h2<-2.3
lkm<-100
base<-10
hseq<-hgrid(h1,h2,lkm,base)
N<-c(30,30)

# Warning: the calculation can take a long time
estiseq<-lstseq.kern(dendat,hseq,N,lstree=TRUE,level=0.1,kernel="epane")

egf<-sim.data(N=N,type="mulmod")
dpf<-draw.pcf(egf)

hind<-c(1,20,40,55,70,85,100)
for (i in 1:7){
pcf<-estiseq\$pcfseq[[hind[i]]]
if (i==1) pcflist<-list(pcf)
else pcflist<-c(pcflist,list(pcf))
}

lapeli<-c("b)","c)","d)","e)","f)","g)","h)")

# frame 1
plot(dendat,xlab="1st coordinate",ylab="2nd coordinate")

# frames 2-8
for (i in 1:length(hind)){
pcf<-pcflist[[i]]
dp<-draw.pcf(pcf)
contour(dp\$x,dp\$y,dp\$z,drawlabels=FALSE)
title(sub=paste(lapeli[i],"h =",
as.character(round(estiseq\$hseq[hind[i]],digits=2))))
}
```

Figure 2

```dendat<-sim.data(n=200,seed=5,type="mulmod")

h1<-0.85
h2<-2.3
lkm<-100
base<-10
hseq<-hgrid(h1,h2,lkm,base)
N<-c(30,30)

# Warning: the calculation can take a long time
estiseq<-lstseq.kern(dendat,hseq,N,lstree=TRUE,level=0.1,kernel="epane")

mt<-modegraph(estiseq)

# frame 1
plotmodet(mt,coordi=1,ylab="smoothing parameter")
text(0.2,1.5,"M3")
text(1.7,1.5,"M1")
text(3.9,1.5,"M2")

# frame 2
plotmodet(mt,coordi=2,ylab="smoothing parameter")
text(-0.7,1.5,"M3")
text(2.8,1.5,"M1")
text(0.9,1.5,"M2")
```

Figure 3

```dendat<-sim.data(n=200,seed=5,type="mulmod")

h1<-0.85
h2<-2.3
lkm<-100
base<-10
hseq<-hgrid(h1,h2,lkm,base)
N<-c(30,30)

# Warning: the calculation can take a long time
estiseq<-lstseq.kern(dendat,hseq,N,lstree=TRUE,level=0.1,kernel="epane")

ii<-2

h<-estiseq\$hseq[hind[ii]]
pcf<-estiseq\$pcfseq[[hind[ii]]]
lst<-estiseq\$lstseq[[hind[ii]]]

td<-treedisc(lst,pcf,30)

fb<-findbranch(td\$parent,colo="blue",pch=24)

em<-excmas(td)
em<-em/em[1]
emr<-matrix("",length(em),1)
for (i in 1:length(fb\$indicator)){
if (fb\$indicator[i]==1){
emr[i]<-round(10000*em[i])/10000
fb\$colovec[td\$parent[i]]<-"red1"
fb\$pchvec[td\$parent[i]]<-22
}
}

bm<-branchmap(estiseq)

hindeksi<-101-hind[ii]

x<-bm\$level
y<-bm\$z[,hindeksi]
alku<-(dim(bm\$z)[1]-1)*hindeksi+2
loppu<-alku+dim(bm\$z)[1]-1
col<-bm\$col[alku:loppu]
col[length(col)]<-"white"
col[length(col)-1]<-"white"

node1<-27
node2<-39
node3<-57

# frame 1
plottree(td,ptext=0.003,info=emr,xmarginright=0.25,xmarginleft=0.05,
infopos=-0.3,infolift=0.0005,col=fb\$colovec,pch=fb\$pchvec,cex=1.5,nodemag=2,
cex.axis=1.5,ylab="level",cex.lab=1.5)

# frame 2
plot(x,y,col=col,lty=1,xlab="level",ylab="excess mass",pch=19,
cex.lab=1.5,cex.axis=1.5)
segments(x[node1+1],y[node1],x[node1+1],y[node1+1],lty=1)
segments(x[node2+1],y[node2],x[node2+1],y[node2+1])
segments(x[node3+1],y[node3],x[node3+1],0)
```

Figure 4

```dendat<-sim.data(n=200,seed=5,type="mulmod")

h1<-0.85
h2<-2.3
lkm<-100
base<-10
hseq<-hgrid(h1,h2,lkm,base)
N<-c(30,30)

# Warning: the calculation can take a long time
estiseq<-lstseq.kern(dendat,hseq,N,lstree=TRUE,level=0.1,kernel="epane")

bm<-branchmap(estiseq)

# frame
plotbranchmap(bm)
```