--- title: "introduction" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{introduction} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ``` `dbMC` is a package for making inference about low-rank matrix completion using de-biased estimator. It comes with two functions: * It provides a de-biased estimator for low-rank matrix completion from [Chen et al (2019)](https://www.pnas.org/content/116/46/22931.short). This is the function 'dbmc()'. * The other function is to compute the confidence intervals for an entry of interest for low-rank matrix completion using the de-biased estimator. ```{r setup} library(dbMC) # simulated data require(softImpute) n = 100 p = 100 J = 2 # the true low-rank np = n*p sig2 = 1 missfrac = 0.5 # xtrue is the underlying matrix that we do not know and want to recover it xtrue = matrix(rnorm(n*J),n,J)%*%matrix(rnorm(J*p),J,p) # generating missing entries locations imiss = sample(np,np*missfrac,replace=FALSE) # xna is the observed matrix with missing entries xna = xtrue + matrix(rnorm(np, sd = sig2),nr = n,nc = p) xna[imiss] = NA lamda = 2.5*sig2*sqrt(n*p) # note that we only have xna as our initial data # first, fit a softImpute method fit1 = softImpute(xna, type = 'als') # complete the matrix by a softImpute method ximp = complete(xna,fit1) mean((ximp - xtrue)^2);rankMatrix(ximp,.1)[1] # now, de-biased the softImpute method x.db = dbmc(x = xna, ximp = ximp, entries_miss = imiss, est_rank = 2) # smaller mse with de-biased estimator mean((x.db - xtrue)^2);rankMatrix(x.db,.1)[1] # confidence intervals CI_mc(i=1,j=2,alpha = 0.05,X.db = x.db,missfrac = 0.5,est_rank = 2,sigma2 = 1) # true value xtrue[1,2] ```