plot1DProjection: PLOT A PAIR OF CLUSTERS AND THEIR DENSITY ESTIMATES, WHICH...

View source: R/visual.R

plot1DProjectionR Documentation

PLOT A PAIR OF CLUSTERS AND THEIR DENSITY ESTIMATES, WHICH ARE PROJECTED ALONG A SPECIFIED 1-D PROJECTION DIRECTION

Description

Plot a pair of clusters and their density estimates, which are projected along a specified 1-D projection direction.

Usage

plot1DProjection(
		 y1, 
		 y2, 
		 projDir, 
                 sepValMethod = c("normal", "quantile"), 
		 bw = "nrd0", 
                 xlim = NULL, 
		 ylim = NULL, 
                 xlab = "1-D projected clusters", 
		 ylab = "density estimates", 
                 title = "1-D Projected Clusters and their density estimates",
                 font = 2, 
		 font.lab = 2, 
		 cex = 1.2, 
		 cex.lab = 1.2, 
		 cex.main = 1.5,
                 lwd = 4, 
		 lty1 = 1, 
		 lty2 = 2, 
		 pch1 = 18, 
		 pch2 = 19, 
		 col1 = 2, 
		 col2 = 4, 
                 type = "l", 
		 alpha = 0.05, 
		 eps = 1.0e-10, 
		 quiet = TRUE)

Arguments

y1

Data matrix of cluster 1. Rows correspond to observations. Columns correspond to variables.

y2

Data matrix of cluster 2. Rows correspond to observations. Columns correspond to variables.

projDir

1-D projection direction along which two clusters will be projected.

sepValMethod

Method to calculate separation index for a pair of clusters projected onto a 1-D space. sepValMethod="quantile" indicates the quantile version of separation index will be used: sepVal=(L_2-U_1)/(U_2-L_1) where L_i and U_i, i=1, 2, are the lower and upper alpha/2 sample percentiles of projected cluster i. sepValMethod="normal" indicates the normal version of separation index will be used: sepVal=[(xbar_2-xbar_1)-z_{\alpha/2}(s_1+s_2)]/ [(xbar_2-xbar_1)+z_{\alpha/2}(s_1+s_2)], where xbar_i and s_i are the sample mean and standard deviation of projected cluster i.

bw

The smoothing bandwidth to be used by the function density.

xlim

Range of X axis.

ylim

Range of Y axis.

xlab

X axis label.

ylab

Y axis label.

title

Title of the plot.

font

An integer which specifies which font to use for text (see par).

font.lab

The font to be used for x and y labels (see par).

cex

A numerical value giving the amount by which plotting text and symbols should be scaled relative to the default (see par).

cex.lab

The magnification to be used for x and y labels relative to the current setting of 'cex' (see par).

cex.main

The magnification to be used for main titles relative to the current setting of 'cex' (see par).

lwd

The line width, a positive number, defaulting to '1' (see par).

lty1

Line type for cluster 1 (see par).

lty2

Line type for cluster 2 (see par).

pch1

Either an integer specifying a symbol or a single character to be used as the default in plotting points for cluster 1 (see points).

pch2

Either an integer specifying a symbol or a single character to be used as the default in plotting points for cluster 2 (see points).

col1

Color to indicates cluster 1.

col2

Color to indicates cluster 2.

type

What type of plot should be drawn (see plot).

alpha

Tuning parameter reflecting the percentage in the two tails of a projected cluster that might be outlying.

eps

A small positive number to check if a quantitiy q is equal to zero. If |q|<eps, then we regard q as equal to zero. eps is used to check the denominator in the formula of the separation index is equal to zero. Zero-value denominator indicates two clusters are totally overlapped. Hence the separation index is set to be -1. The default value of eps is 1.0e-10.

quiet

A flag to switch on/off the outputs of intermediate results and/or possible warning messages. The default value is TRUE.

Details

The ticks along X axis indicates the positions of points of the projected two clusters. The positions of L_i and U_i, i=1, 2, are also indicated on X axis, where L_i and U_i are the lower and upper \alpha/2 sample percentiles of cluster i if sepValMethod="quantile". If sepValMethod="normal", L_i=xbar_i-z_{\alpha/2}s_i, where xbar_i and s_i are the sample mean and standard deviation of cluster i, and z_{\alpha/2} is the upper \alpha/2 percentile of standard normal distribution.

Value

sepVal

value of the separation index for the projected two clusters along the projection direction projDir.

projDir

projection direction. To make sure the projected cluster 1 is on the left-hand side of the projected cluster 2, the input projDir might be changed to -projDir.

Author(s)

Weiliang Qiu weiliang.qiu@gmail.com
Harry Joe harry@stat.ubc.ca

References

Qiu, W.-L. and Joe, H. (2006) Separation Index and Partial Membership for Clustering. Computational Statistics and Data Analysis, 50, 585–603.

See Also

plot2DProjection viewClusters

Examples

n1 <- 50
mu1 <- c(0,0)
Sigma1 <- matrix(c(2, 1, 1, 5), 2, 2)
n2 <- 100
mu2 <- c(10, 0)
Sigma2 <- matrix(c(5, -1, -1, 2), 2, 2)
projDir <- c(1,  0)

library(MASS)
set.seed(1234)
y1 <- mvrnorm(n1, mu1, Sigma1)
y2 <- mvrnorm(n2, mu2, Sigma2)
y <- rbind(y1, y2)
cl <- rep(1:2, c(n1, n2))

b <- getSepProjData(
		    y = y, 
		    cl = cl, 
		    iniProjDirMethod = "SL", 
		    projDirMethod = "newton")
# projection direction for clusters 1 and 2
projDir <- b$projDirArray[1, 2, ]

plot1DProjection(
		 y1 = y1, 
		 y2 = y2, 
		 projDir = projDir)


clusterGeneration documentation built on Aug. 16, 2023, 9:07 a.m.