Title: | Ensemble Correlation-Based Low-Rank Matrix Completion |
---|---|
Description: | Ensemble correlation-based low-rank matrix completion method (ECLRMC) is an extension to the LRMC based methods. Traditionally, the LRMC based methods give identical importance to the whole data which results in emphasizing on the commonality of the data and overlooking the subtle but crucial differences. This method aims to overcome the equality assumption problem that exists in the current LRMS based methods. Ensemble correlation-based low-rank matrix completion (ECLRMC) takes consideration of the specific characteristic of each sample and performs LRMC on the set of samples with a strong correlation. It uses an ensemble learning method to improve the imputation performance. Since each sample is analyzed independently this method can be parallelized by distributing imputation across many computation units or GPU platforms. This package provides three different methods (LRMC, CLRMC and ECLRMC) for data imputation. There is also an NRMS function for evaluating the result. Chen, Xiaobo, et al (2017) <doi:10.1016/j.knosys.2017.06.010>. |
Authors: | Mahdi Ghadamyari [aut, cre], Mehdi Naseri [aut] |
Maintainer: | Mahdi Ghadamyari <[email protected]> |
License: | GPL-2 |
Version: | 1.0 |
Built: | 2024-12-16 06:33:28 UTC |
Source: | CRAN |
Takes an incomplete matrix and returns the imputed matrix using CLRMC method.
CLRMC(x, beta = 0.1)
CLRMC(x, beta = 0.1)
x |
An m by n matrix with NAs |
beta |
A value in [0,1] range. Higher beta value means comparing each row with more nearest neighbours. Default value = 0.1 |
An m by n matrix with imputed values
Chen, Xiaobo, et al. "Ensemble correlation-based low-rank matrix completion with applications to traffic data imputation." Knowledge-Based Systems 132 (2017): 249-262.
x = matrix(c(5.1, 4.9, NA, 4.6, 3.5, 3.0, 3.2, 3.1, 1.4, NA, 1.3, 1.5), byrow = TRUE, ncol=4) CLRMC(x, beta = 0.2)
x = matrix(c(5.1, 4.9, NA, 4.6, 3.5, 3.0, 3.2, 3.1, 1.4, NA, 1.3, 1.5), byrow = TRUE, ncol=4) CLRMC(x, beta = 0.2)
Takes an incomplete matrix and returns the imputed matrix using ECLRMC method.
ECLRMC(x, beta = 0.1)
ECLRMC(x, beta = 0.1)
x |
An m by n matrix with NAs |
beta |
A value in [0,1] range. Higher beta value means comparing each row with more nearest neighbours. Default value = 0.1 |
An m by n matrix with imputed values
Chen, Xiaobo, et al. "Ensemble correlation-based low-rank matrix completion with applications to traffic data imputation." Knowledge-Based Systems 132 (2017): 249-262.
x = matrix(c(5.1, 4.9, NA, 4.6, 3.5, 3.0, 3.2, 3.1, 1.4, NA, 1.3, 1.5), byrow = TRUE, ncol=4) ECLRMC(x, beta = 0.2)
x = matrix(c(5.1, 4.9, NA, 4.6, 3.5, 3.0, 3.2, 3.1, 1.4, NA, 1.3, 1.5), byrow = TRUE, ncol=4) ECLRMC(x, beta = 0.2)
Takes an incomplete matrix and returns the imputed matrix using LRMC method.
LRMC(x)
LRMC(x)
x |
An m by n matrix with NAs |
An m by n matrix with imputed values
Chen, Xiaobo, et al. "Ensemble correlation-based low-rank matrix completion with applications to traffic data imputation." Knowledge-Based Systems 132 (2017): 249-262.
x = matrix(c(5.1, 4.9, NA, 4.6, 3.5, 3.0, 3.2, 3.1, 1.4, NA, 1.3, 1.5), byrow = TRUE, ncol=4) LRMC(x)
x = matrix(c(5.1, 4.9, NA, 4.6, 3.5, 3.0, 3.2, 3.1, 1.4, NA, 1.3, 1.5), byrow = TRUE, ncol=4) LRMC(x)
Normalized Root Mean Square (NRMS) value of two matrices for evaluating their similarity (lower is better)
NRMS(imputed, original)
NRMS(imputed, original)
imputed |
An m by n matrix |
original |
An m by n matrix |
Returns the NRMS value of the given matrices
x = matrix(c(5.1, 4.9, NA, 4.6, 3.5, 3.0, 3.2, 3.1, 1.4, NA, 1.3, 1.5), byrow = TRUE, ncol=4) a = ECLRMC(x, beta = 0.2) b = LRMC(x) NRMS(a,b)
x = matrix(c(5.1, 4.9, NA, 4.6, 3.5, 3.0, 3.2, 3.1, 1.4, NA, 1.3, 1.5), byrow = TRUE, ncol=4) a = ECLRMC(x, beta = 0.2) b = LRMC(x) NRMS(a,b)