plot1DProjection function

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

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

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

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=(L2U1)/(U2L1)sepVal=(L_2-U_1)/(U_2-L_1) where LiL_i and UiU_i, i=1,2i=1, 2, are the lower and upper alpha/2 sample percentiles of projected cluster ii. sepValMethod="normal" indicates the normal version of separation index will be used: c("sepVal=[(xbar2xbar1)zalpha/2(s1+s2)]/\nsepVal=[(xbar_2-xbar_1)-z_{\\alpha/2}(s_1+s_2)]/\n", "[(xbar2xbar1)+zalpha/2(s1+s2)][(xbar_2-xbar_1)+z_{\\alpha/2}(s_1+s_2)]"), where xbarixbar_i and sis_i are the sample mean and standard deviation of projected cluster ii.
  • 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 qq is equal to zero. If q<|q|<eps, then we regard qq 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-1. The default value of eps is 1.0e101.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 LiL_i and UiU_i, i=1,2i=1, 2, are also indicated on X axis, where LiL_i and UiU_i are the lower and upper α/2\alpha/2 sample percentiles of cluster ii if sepValMethod="quantile". If sepValMethod="normal", Li=xbarizα/2siL_i=xbar_i-z_{\alpha/2}s_i, where xbarixbar_i and sis_i are the sample mean and standard deviation of cluster ii, and zα/2z_{\alpha/2}

is the upper α/2\alpha/2 percentile of standard normal distribution.

Returns

  • 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.

References

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

Author(s)

Weiliang Qiu weiliang.qiu@gmail.com

Harry Joe harry@stat.ubc.ca

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)
  • Maintainer: Weiliang Qiu
  • License: GPL (>= 2)
  • Last published: 2023-08-16

Useful links