Skip to contents

The function pkbc performs the Poisson kernel-based clustering algorithm on the sphere based on the Poisson kernel-based densities.

Usage

pkbc(
  dat,
  nClust = NULL,
  maxIter = 300,
  stoppingRule = "loglik",
  initMethod = "sampleData",
  numInit = 10
)

# S4 method for ANY
pkbc(
  dat,
  nClust = NULL,
  maxIter = 300,
  stoppingRule = "loglik",
  initMethod = "sampleData",
  numInit = 10
)

# S4 method for pkbc
show(object)

Arguments

dat

Data matrix or data.frame of data points on the sphere to be clustered. The observations in dat are normalized to ensure that they lie on the d-simensional sphere. Note that d > 1.

nClust

Number of clusters. It can be a single value or a numeric vector.

maxIter

The maximum number of iterations before a run is terminated.

stoppingRule

String describing the stopping rule to be used within each run. Currently must be either: 'max' (until the change in the log-likelihood is less than a given threshold (1e-7)), 'membership' (until the membership is unchanged), or 'loglik' (based on a maximum number of iterations).

initMethod

String describing the initialization method to be used. Currently must be 'sampleData'.

numInit

Number of initializations.

object

Object of class pkbc

Value

An S4 object of class pkbc containing the results of the clustering procedure based on Poisson kernel-based distributions. The object contains the following slots:

res_k: List of results of the Poisson kernel-based clustering algorithm for each value of number of clusters specified in nClust. Each object in the list contains:

  • postProbs Posterior probabilities of each observation for the indicated clusters.

  • LogLik Maximum value of log-likelihood function

  • wcss Values of within-cluster sum of squares computed with Euclidean distance and cosine similarity, respectively.

  • params List of estimated parameters of the mixture model

    • mu estimated centroids

    • rho estimated concentration parameters rho

    • alpha estimated mixing proportions

  • finalMemb Vector of final memberships

  • runInfo List of information of the EM algorithm iterations

    • lokLikVec vector of log-likelihood values

    • numIterPerRun number of E-M iterations per run

input: List of input information.

Details

The function estimates the parameter of a mixture of Poisson kernel-based densities. The obtained estimates are used for assigning final memberships, identifying the nClust clusters.

References

Golzy, M., Markatou, M. (2020) Poisson Kernel-Based Clustering on the Sphere: Convergence Properties, Identifiability, and a Method of Sampling, Journal of Computational and Graphical Statistics, 29:4, 758-770, DOI: 10.1080/10618600.2020.1740713.

Examples

#We generate three samples of 100 observations from 3-dimensional
#Poisson kernel-based densities with rho=0.8 and different mean directions
size<-100
groups<-c(rep(1, size), rep(2, size),rep(3,size))
rho<-0.8
set.seed(081423)
data1<-rpkb(size, c(1,0,0),rho,method="rejvmf")
data2<-rpkb(size, c(0,1,0),rho,method="rejvmf")
data3<-rpkb(size, c(0,0,1),rho,method="rejvmf")
dat<-rbind(data1$x,data2$x, data3$x)

#Perform the clustering algorithm with number of clusters k=3.
pkbd<- pkbc(dat, 3)