In the 1D case we may use an implementation of a stagewise minimization estimator that uses dictionaries of Gaussian functions. We simulate data from a 2-modal density.
dendat<-sim.data(n=500,seed=1,type="1d2modal")
The estimator uses a dictionary phi((x-mu)/sigma)/sigma, where phi is the standard Gaussian density, and mu and sigma take values in a finite grid.
mugrid<-seq(-1,5,0.3) # grid of mu-values siggrid<-seq(0.2,2,0.2) # grid of sigma-values M<-7 # number of mixture components pcf<-eval.stage.gauss(dendat,M,mugrid,siggrid) dp<-draw.pcf(pcf) plot(dp$x,dp$y,type="l")
We used the fact that a piecewise constant function may be plotted using function ``draw.pcf'', as shown in Code of Chapter 2, applying commands
dp<-draw.pcf(pcf) plot(dp$x,dp$y,type="l")
In the multivariate case we use stagewise minimization with greedy histograms as discussed in 19.1. We simulate 3-modal 2D data.
dendat<-sim.data(n=1000,noisedim=0,seed=20,type="fssk")
Then the estimate is calculated.
leafs<-6 # the number of leafs of the greedy histograms M<-2 # the number of greedy histograms pcf<-eval.stage(dendat,leafs,M) dp<-draw.pcf(pcf) persp(dp$x,dp$y,dp$z,theta=120,phi=30)
Code of Chapter 2 gives the commands to make a perspective plot and a contour plot from a piecewise constant function. Code of Chapter 4 and Code of Chapter 5 give commands for using level set trees and shape trees to visualize kernel estimates.