clusterProportions: Compute the Proportion of Items in Each Cluster for All...

View source: R/summary.R

clusterProportionsR Documentation

Compute the Proportion of Items in Each Cluster for All Partitions

Description

Compute the Proportion of Items in Each Cluster for All Partitions

Usage

clusterProportions(partitions)

Arguments

partitions

A matrix, with each row representing a set partition of the integers 1, ..., n as cluster labels

Value

A matrix whose columns represent the cumulative proportion of the data that correspond to that cluster.

Examples


# Neal (2000) model and data
nealData <- c(-1.48, -1.40, -1.16, -1.08, -1.02, 0.14, 0.51, 0.53, 0.78)
mkLogPosteriorPredictiveDensity <- function(data = nealData,
                                            sigma2 = 0.1^2,
                                            mu0 = 0,
                                            sigma02 = 1) {
  function(i, subset) {
    posteriorVariance <- 1 / ( 1/sigma02 + length(subset)/sigma2 )
    posteriorMean <- posteriorVariance * ( mu0/sigma02 + sum(data[subset])/sigma2 )
    posteriorPredictiveSD <- sqrt(posteriorVariance + sigma2)
    dnorm(data[i], posteriorMean, posteriorPredictiveSD, log=TRUE)
  }
}

logPostPredict <- mkLogPosteriorPredictiveDensity()

nSamples <- 500L
partitions <- matrix(0, nrow=nSamples, ncol=length(nealData))
for ( i in 2:nSamples ) {
  partitions[i,] <- nealAlgorithm3(partitions[i-1,], logPostPredict, mass = 1.0, nUpdates = 2)
}
clusterProportions(partitions)

sams documentation built on April 20, 2022, 1:06 a.m.