In data mining, cluster-weighted modeling (CWM) is an algorithm-based approach to non-linear prediction of outputs (dependent variables) from inputs (independent variables) based on density estimation using a set of models (clusters) 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.[1] [2]
The procedure for cluster-weighted modeling of an input-output problem can be outlined as follows.[2] 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(y,x). 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 density p(y|x) from which the prediction using the conditional expected value can be obtained, with the conditional variance providing an indication of uncertainty.
The important step of the modeling is that p(y|x) is assumed to take the following form, as a mixture model:
n | |
p(y,x)=\sum | |
j=1 |
wjpj(y,x),
pj(y,x)=pj(y|x)pj(x),
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(x).
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.[3] Each cluster in CWM is localized to a Gaussian input region, and this contains its own trainable local model.[4] 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:
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.[6]