In data mining, cluster-weighted modeling is an algorithm-based approach to non-linear prediction of outputs from inputs based on density estimation using a set of models that are each notionally appropriate in a sub-region of the input space. The overall approach works in jointly input-output space and an initial version was proposed by Neil Gershenfeld.
Basic form of model
The procedure for cluster-weighted modeling of an input-output problem can be outlined as follows. In order to construct predicted values for an output variable y from an input variable x, the modeling and calibration procedure arrives at a joint probability density function, p. Here the "variables" might be uni-variate, multivariate or time-series. For convenience, any model parameters are not indicated in the notation here and several different treatments of these are possible, including setting them to fixed values as a step in the calibration or treating them using a Bayesian analysis. The required predicted values are obtained by constructing the conditional probability densityp from which the prediction using the conditional expected value can be obtained, with the conditionalvariance providing an indication of uncertainty. The important step of the modeling is that p is assumed to take the following form, as a mixture model: where n is the number of clusters and are weights that sum to one. The functionspj are joint probability density functions that relate to each of the n clusters. These functions are modeled using a decomposition into a conditional and a marginal density: where: In the same way as for regression analysis, it will be important to consider preliminary data transformations as part of the overall modeling strategy if the core components of the model are to be simple regression models for the cluster-wise condition densities, and normal distributions for the cluster-weighting densities pj.
General versions
The basic CWM algorithm gives a single output cluster for each input cluster. However, CWM can be extended to multiple clusters which are still associated with the same input cluster. Each cluster in CWM is localized to a Gaussian input region, and this contains its own trainable local model. It is recognized as a versatile inference algorithm which provides simplicity, generality, and flexibility; even when a feedforward layered network might be preferred, it is sometimes used as a "second opinion" on the nature of the training problem. The original form proposed by Gershenfeld describes two innovations:
Enabling CWM to work with continuous streams of data
CWM can be used to classify media in printer applications, using at least two parameters to generate an output that has a joint dependency on the input parameters.