CN107766294A - 缺失数据的恢复方法和装置 - Google Patents
缺失数据的恢复方法和装置 Download PDFInfo
- Publication number
- CN107766294A CN107766294A CN201711045164.6A CN201711045164A CN107766294A CN 107766294 A CN107766294 A CN 107766294A CN 201711045164 A CN201711045164 A CN 201711045164A CN 107766294 A CN107766294 A CN 107766294A
- Authority
- CN
- China
- Prior art keywords
- matrix
- data
- decomposition
- factor
- missing data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 239000011159 matrix material Substances 0.000 claims abstract description 315
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 133
- 238000011084 recovery Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 17
- 230000006837 decompression Effects 0.000 claims description 15
- 238000007906 compression Methods 0.000 claims description 13
- 230000006835 compression Effects 0.000 claims description 13
- 238000013144 data compression Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000012806 monitoring device Methods 0.000 description 7
- 238000010606 normalization Methods 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 6
- 238000000513 principal component analysis Methods 0.000 description 6
- 238000007781 pre-processing Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000007667 floating Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000012897 Levenberg–Marquardt algorithm Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3059—Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种缺失数据的恢复方法和装置,以利用已知数据实现新增数据中缺失数据的恢复。所述缺失数据的恢复方法包括:获取多组数据和所述多组数据之外新增的一组数据;对所述多组数据所组成的数值矩阵进行奇异值分解或概率矩阵分解;确定所述新增的一组数据中缺失的数据的位置;使用上述奇异值分解或概率矩阵分解的结果和所述新增的一组数据计算关于缺失的数据的重构误差;根据重构误差最小化来求出缺失数据;以及将所求出的缺失数据恢复到所述新增的一组数据中缺失的数据的位置。
Description
技术领域
本发明涉及数据处理领域,更具体地,涉及缺失数据的恢复方法和装置。
背景技术
在数据处理领域,一般都要求基于完整的数据来进行数据处理。
以数据的压缩技术为例,分为无损压缩和有损压缩两大类,基于主成分分析(PCA:Principle Components Analysis)的数据压缩算法是一种有损压缩算法,根据不同变量之间的线性相关性进行去冗余,从而实现数据降维和数据压缩。但是,目前的基于主成分分析的数据压缩算法,大多需要预先选取批量数据进行主成分分析,当新产生的数据不能被当前主成分很好地重构时,则需要进行主成分的更新。
也就是说,在由于数据传输错误等原因引起数据不完整的情况下,无法进行主成分分析,一般只能通过去除不完整数据部分,再进行主成分分析计算。但是这种简单的处理方式可能会造成部分数据模态的丢失,使得生成的主成分不准确,从而造成较大的重构误差。
此外,不仅是数据压缩技术,其他的数据处理技术也都存在这样的问题。
发明内容
本发明是鉴于以上问题而提出的,其目的在于提供能够利用已知数据实现新增数据中缺失数据的恢复的缺失数据的恢复方法和装置。
根据本发明的一方面,提供一种缺失数据的恢复方法,包括:获取多组数据和所述多组数据之外新增的一组数据;对所述多组数据所组成的数值矩阵进行奇异值分解或概率矩阵分解;确定所述新增的一组数据中缺失的数据的位置;使用上述奇异值分解或概率矩阵分解的结果和所述新增的一组数据计算关于缺失的数据的重构误差;根据重构误差最小化来求出缺失数据;以及将所求出的缺失数据恢复到所述新增的一组数据中缺失的数据的位置。
根据本发明的另一方面,提供一种缺失数据的恢复装置,包括:数据获取单元,其获取多组数据和所述多组数据之外新增的一组数据;矩阵分解单元,其对所述多组数据所组成的数值矩阵进行奇异值分解或概率矩阵分解;缺失位置确定单元,其确定所述新增的一组数据中缺失的数据的位置;重构误差计算单元,其使用所述矩阵分解单元的矩阵分解结果和所述新增的一组数据计算关于缺失的数据的重构误差;缺失数据求取单元,其对所述重构误差计算单元的结果,根据重构误差最小化来求出缺失数据;以及数据恢复单元,其将所述缺失数据求取单元求出的缺失数据恢复到所述新增的一组数据中缺失的数据的位置。
根据本发明的另一方面,提供一种计算机可读介质,其存储有计算机程序,当所述计算机程序被处理器执行时实现上述的缺失数据的恢复方法的步骤。
根据本发明的另一方面,提供一种计算机设备,包括:处理器;存储器,存储有能够在处理器上执行的计算机程序,当所述计算机程序被所述处理器执行时,实现上述的缺失数据的恢复方法的步骤。
根据本发明,通过概率矩阵分解(Probabilistic Matrix Factorization,PMF)利用已知部分的数据进行迭代计算,能够根据已知部分的数据对新增数据中缺失的数据进行有效的估计和恢复。这样,不会造成部分数据模态的丢失。
附图说明
图1示出根据本发明的实施方式一的缺失数据的恢复方法的流程图。
图2示出根据本发明的实施方式二的缺失数据的恢复方法的流程图。
图3示出根据本发明的实施方式三的缺失数据的恢复装置的框图。
图4示出根据本发明的实施方式四的缺失数据的恢复装置的框图。
具体实施方式
以下,参照附图说明本发明的实施方式。
在数据处理领域,往往会随着时间的推移而不断有新数据的产生,本发明就是针对新产生数据中缺失的数据的恢复方法。在本发明中,对于多组数据和多组数据之外新增的一组数据,通过利用概率矩阵分解进行分析,来实现新增数据中缺失的数据的恢复。
此外,需要说明的是,在本发明中,多组数据是2组以上且各组分别包含多个数据的数据,所述多个数据的数据类型为数值型或能够转换为数值型的类型,进而每组数据的数据个数优选相同。再者,所述新增的一组数据与所述多组数据的数据类型和数据个数相同。
实施方式一
在本实施方式中,假定新增的数据中包含缺失的数据。
图1示出根据本发明的实施方式一的缺失数据的恢复方法的流程图。
参照图1,首先在步骤S110,获取多组数据和所述多组数据之外新增的一组数据。具体地,从数据源分别获取多组数据和所述多组数据之外新增的一组数据。在一个实施例中,该数据源是一个或多个监测设备,即在该步骤中从一个或多个监测设备按时间顺序获取多组监测数据,作为所述多组数据,并将其组成为对应的数值矩阵,之后从所述一个或多个监测设备获取一组新产生的监测数据,作为所述新增的一组数据。
举简单例子来说,假设多组数据为下面的表1所示的SCADA(Supervisory ControlAnd Data Acquisition,数据采集与监视控制)数据,则在本步骤中,从多个作为监测设备的传感器按时间顺序获取该多组数据,将其组成为表下方所示的数值矩阵,该矩阵的每一行代表一个时刻的SCADA数据,每一列表示一个传感器的测量结果。
表1
日期时间 | 传感器1 | 传感器2 | …… | 传感器n |
2016/3/15 15:25:36 | 0.5 | 0.2 | 0.9 | |
2016/3/15 15:25:45 | 0.4 | 0.2 | 0.5 | |
2016/3/15 15:25:52 | 0.1 | 0.3 | 0.7 | |
2016/3/15 15:25:58 | 0.9 | 0.4 | 0.2 | |
2016/3/15 15:26:06 | 0.2 | 0.0 | 0.1 |
此外,假设在从多个传感器获取了上述表1的多组数据之后,后续又从该多个传感器获取了新增的一组数据,假设该新增的一组数据为一行带缺失值的数据[0.3 0.1...?],其中的“?”表示缺失值。
上面的例子示出的是多组数据和新增的一组数据为SCADA数据且数据本身就是数值型数据的情况,但实际上,即使是SCADA数据,根据传感器数据类型的不同,也会包含数值型和枚举型两种类型,数值型又可分为整型和浮点型两种;枚举型又可分为布尔型和类别型两种。
因此,为了能够进行新增数据中缺失数据的恢复,在步骤S110中,还根据需要对所述多组数据和新增的一组数据进行数据类型转换的预处理,即将非数值型变量转化为数值型变量,比如布尔型变量用0和1表示;然后将整型变量转化为浮点型变量,以便于进行数据恢复。上述数据类型转换过程在缺失数据的恢复后再将浮点型变量转换成原有的数据类型。
此外,在本步骤中,除了上述数据类型转换,根据实际需要可能还要对多组数据和新增的一组数据进行归一化的预处理。以SCADA数据为例来说,数据归一化处理即将每个传感器的数据都线性变换到0~1范围之内,以防舍入误差对部分字段产生不同程度的影响。实际上,为了实现归一化,一般只要去均值化处理即可,即SCADA数据中每个传感器的数据都减去该传感器产生的全部数据的均值,对于SCADA数据以外的其他类型数据而言,就是将每一列的数据都减去该列的全部数据的均值。同样地,当缺失数据恢复后,归一化处理也要反过来进行,故应保存归一化过程中所使用的数据的均值、最大最小值等关键信息。
需要说明的是,虽然上面示例示出的是SCADA数据的情况,但并不限于此,在本发明中,数据的来源可以多种多样,比如人的身高体重数据、经济增长数据等在时间上有关联的数据,另外也可以是在空间上有关联的数据,甚至也可以是彼此没有关联的数据等等。
在步骤S120,对所述多组数据所组成的数值矩阵进行奇异值分解或概率矩阵分解。
在该步骤中,如果所述多组数据本身没有缺失值,则对该多组数据所组成的数值矩阵,既可以进行奇异值分解,也可以进行概率矩阵分解,但是如果该多组数据本身包含缺失值,则只能对数值矩阵进行概率矩阵分解。
具体地,奇异值分解(SVD)对数值矩阵A进行如下形式的矩阵分解:
A=UΣV* (1)
其中,U和V为酉矩阵;Σ为对角阵,其对角元素按照从大到小排列,称为A的奇异值;V*表示V的共轭转置矩阵。
另一方面,概率矩阵分解是一种基于概率图模型的矩阵分解方法,与现有技术中的奇异值分解的区别在于不一定满足正交性,其通过梯度下降方法对分解后的矩阵进行迭代优化。
具体地,概率矩阵分解如下式(2)所示是如下形式的分解:对于数值矩阵A={aij},求解第一因子矩阵Uk和第二因子矩阵Vk,将第一因子矩阵Uk与第二因子矩阵Vk的共轭转置矩阵Vk *的乘积作为数值矩阵A的概率矩阵分解的结果。
需要说明的是,上述式(2)中的第一因子矩阵Uk不一定是酉矩阵,而第二因子矩阵Vk是酉矩阵,Vk *表示Vk的共轭转置矩阵。
可以看出,概率矩阵分解的结果与现有技术中的奇异值分解(上式(1))的结果不同,去掉了中间的对角阵Σ。
进而,本发明中的概率矩阵分解的根本思想为:在数值矩阵A的概率矩阵分解中,求解这样的第一因子矩阵Uk及第二因子矩阵Vk,即该第一因子矩阵Uk及第二因子矩阵Vk最小化所述数值矩阵A中的各元素aij和该第一因子矩阵Uk及第二因子矩阵Vk中的相应元素的目标函数。
具体来说,首先确定一个维数、即主成分个数k,也可以认为数值矩阵A中的前k列,然后迭代求解第一因子矩阵Uk和第二因子矩阵Vk,使得如下目标函数最小:
其中,ui和vj分别为矩阵Uk和Vk的第i个和第j个行向量的转置,λ为规范项权重系数,
具体地,上述概率矩阵分解的过程如下:
(1)随机初始化变量ui和vj;
(2)令计算梯度和
(3)根据上述梯度更新ui和vj,其中α和β为设定的步长;
(4)计算
(5)重复上述(3)和(4),直到达到预定的收敛条件,例如φt+1<ε或|φt+1-φt|<ε,其中ε为设定的阈值。
上述的概率矩阵分解的过程可以采用交替最小二乘法、Levenberg-Marquardt算法或Wiberg算法等来具体实现。
另外,从以上可以看出,由于每次迭代仅需要一个已知数据进行参数更新,因此即使数值矩阵A中有缺失数据,概率矩阵分解也可以处理该数值矩阵的分解。
为了便于理解,举出下述式(4)中示出的简单的数值矩阵A为例进行说明。
假设对上述式(4)中示出的矩阵A使用现有技术中的奇异值分解进行矩阵分解,则根据上述式(1)可得矩阵分解结果:
A=UΣV*
其中
接着,在步骤S130,确定所述新增的一组数据中缺失的数据的位置。
在步骤S140,使用步骤S120的矩阵分解的结果和所述新增的一组数据计算关于缺失的数据的重构误差。
具体地,在本步骤中,以缺失的数据为未知量,计算缺失的数据与新矩阵乘以在步骤S120的矩阵分解中得到的分解矩阵的积中的相应元素的差值作为重构误差,所述新矩阵是在所述多组数据的基础上加入所述新增的一组数据E后组成的矩阵。
具体而言,就是根据下述式(5),以缺失的数据为未知量,来进行关于缺失的数据的重构误差的计算:
其中,矩阵A'为在所述多组数据的基础上加入所述新增的一组数据E后组成的新矩阵,表示矩阵的第i行第j列的元素,矩阵Vk为在步骤120的矩阵分解中得到的分解矩阵,aij为矩阵A'中缺失部分的数据。
继续以上述式(4)示出的矩阵A为例,在该矩阵A的基础上,设新增的一组数据为E=[5 10?],其中的“?”表示缺失的数据,则在该步骤中,设缺失的数据值为x(即a13),根据式(5)可得关于该缺失数据值x(即a13)的重构误差:
在步骤S150,对上述步骤S140的重构误差的计算结果,根据重构误差最小化来求出缺失数据。
具体地,基于重构误差最小化、即下式(7)的思想,来解出未知量作为缺失数据。
就上述例子中的缺失数据值x(即a13)的重构误差的计算结果(6)来说,即成为下述根据重构误差最小化来求出缺失数据的过程:
0.3571x-5.3571=0
x=15.0000
通过上述过程,最终得出新增数据E=[5 10 ?]中的缺失数据值为15。
在步骤S160,将所求出的缺失数据恢复到所述新增的一组数据中缺失的数据的位置。进而,在该步骤中,可以将补全了缺失的数据后的该新增的一组数据与所述多组数据结合而得到更新后的多组数据。
根据本实施方式的缺失数据的恢复方法,由于概率矩阵分解在每次迭代时仅需要一个已知数据进行参数更新,因此,即使新增的数据中有缺失数据,也能够高精度地根据已有的多组数据,利用概率矩阵分解对缺失数据进行估计和恢复,从而提供完整的数据以供进行其他的数据处理。
实施方式二
在本实施方式中,不仅恢复新增的数据中缺失的数据,而且还对补全了缺失的数据后的该新增的一组数据与所述多组数据结合而得到的更新后的多组数据进行数据压缩。
图2示出根据本发明的实施方式二的缺失数据的恢复方法的流程图。
如图2所示,在本实施方式中,除了包括实施方式一中实现新增数据中缺失的数据的恢复的步骤S110-S160之外,还包括实现数据压缩解压缩的步骤S270-S290。关于步骤S110-S160,在此不再详细描述。
在步骤S270,关于恢复了缺失的数据后的所述新增的一组数据与所述多组数据结合而得到的更新后的多组数据,对该更新后的多组数据所组成的更新后数值矩阵进行概率矩阵分解。
具体地,在该步骤中,对于所述更新后数值矩阵A'={aij},求解第一因子矩阵Uk和第二因子矩阵Vk,将该第一因子矩阵Uk与第二因子矩阵Vk的共轭转置矩阵的乘积作为更新后数值矩阵A'的概率矩阵分解的结果。进而,所求解的是这样的第一因子矩阵Uk及第二因子矩阵Vk,即该第一因子矩阵Uk及第二因子矩阵Vk最小化所述更新后数值矩阵A'中的各元素aij和该第一因子矩阵Uk及第二因子矩阵Vk中的相应元素的目标函数。该目标函数如上述式(3)所示。
关于该步骤,由于可以参照实施方式一中的步骤S120所示的概率矩阵分解的描述,所以在此不再赘述。
在步骤S280,利用所述更新后数值矩阵的概率矩阵分解的结果进行所述更新后的多组数据的压缩。
具体地,基于下述式(8),将步骤S270的概率矩阵分解的结果与在步骤S270得到的第二因子矩阵Vk相乘来进行数据的降维压缩:
根据式(8)得到的矩阵B就是对更新后数值矩阵A'进行降维压缩之后得到的压缩后的数据。另外,由于在矩阵B的解压缩时需要使用第二因子矩阵Vk的共轭转置矩阵、即所以需要保存该矩阵。
接着,在步骤S290,在需要时,对所述压缩后的数据进行解压缩。
具体地,从上述式(8)可以看出,在数据降维压缩之后只剩下第一因子矩阵Uk(一般k<<m,m为A的列数),所以解压重构时只要将其直接乘以在步骤S270得到的第二因子矩阵Vk的共轭转置矩阵即可得到解压缩后的数据。因此,按照下述式(9)对在步骤S280降维压缩后的数据进行解压缩。
就是解压缩之后的矩阵。
此外,在该解压缩步骤S290中,在解压缩后,还需要进行与步骤S110中的数据预处理相逆的过程,以将解压缩后的数据变换为原类型数据。
根据本实施方式的缺失数据的恢复方法,不仅能够实现新增数据中缺失数据的恢复从而提供完整的数据,还能够实现更新后的多组数据的降维压缩,而不会造成部分数据模态的丢失,进而不会造成较大的重构误差。
在同一发明构思下,本发明提供与实施方式一和实施方式二的方法相对应的装置,下面分别进行描述。
实施方式三
图3示出根据本发明的实施方式三的缺失数据的恢复装置的框图。
如图3所示,本实施方式的缺失数据的恢复装置300包括:数据获取单元310、矩阵分解单元320、缺失位置确定单元330、重构误差计算单元340、缺失数据求取单元350和数据恢复单元360。
数据获取单元310获取多组数据和所述多组数据之外新增的一组数据。具体地,数据获取单元310从数据源获取多组数据和所述多组数据之外新增的一组数据。在一个实施例中,该数据源是一个或多个监测设备,即数据获取单元310从一个或多个监测设备按时间顺序获取多组监测数据,作为所述多组数据,并将其组成为对应的数值矩阵,之后从所述一个或多个监测设备获取一组新产生的监测数据,作为所述新增的一组数据。
此外,根据需要,数据获取单元310还对该多组数据和新增的一组数据进行数据类型转换、归一化等预处理,并保存归一化过程中所使用的数据的均值、最大最小值等关键信息。
矩阵分解单元320对所述多组数据所组成的数值矩阵进行奇异值分解或概率矩阵分解。在一个实施例中,所述多组数据本身没有缺失值,则矩阵分解单元320既可以使用现有技术中的奇异值分解对该多组数据所组成的数值矩阵进行矩阵分解,也可以对该数值矩阵进行概率矩阵分解。在另一个实施例中,所述多组数据本身包含缺失值,则矩阵分解单元320对该数值矩阵进行概率矩阵分解。
并且,在对该数值矩阵进行概率矩阵分解的情况下,矩阵分解单元320对于该数值矩阵A={aij}求解第一因子矩阵Uk和第二因子矩阵Vk,将第一因子矩阵Uk与第二因子矩阵Vk的共轭转置矩阵Vk *的乘积作为数值矩阵A的概率矩阵分解的结果。进而,矩阵分解单元320在数值矩阵A的概率矩阵分解中所求解的是这样的第一因子矩阵Uk及第二因子矩阵Vk,即该第一因子矩阵Uk及第二因子矩阵Vk最小化该数值矩阵A中的各元素aij和该第一因子矩阵Uk及第二因子矩阵Vk中的相应元素的目标函数。更具体地,矩阵分解单元320根据上述式(3)对该数值矩阵A进行概率矩阵分解,得到式(2)所示形式的矩阵分解结果。进而,矩阵分解单元320进行概率矩阵分解的过程与实施方式一中的步骤S120所示的概率矩阵分解过程相同,在此省略详细说明。
缺失位置确定单元330确定所述新增的一组数据中缺失的数据的位置。
重构误差计算单元340使用矩阵分解单元320的矩阵分解结果和所述新增的一组数据计算关于缺失的数据的重构误差。具体地,重构误差计算单元340以缺失的数据为未知量,计算缺失的数据与新矩阵乘以矩阵分解单元320所得到的分解矩阵的积中的相应元素的差值作为重构误差,所述新矩阵是在所述多组数据的基础上加入所述新增的一组数据后组成的矩阵。更具体地,重构误差计算单元340根据上述式(5),以缺失的数据为未知量,来进行关于缺失的数据的重构误差的计算。
缺失数据求取单元350对重构误差计算单元340的计算结果,根据重构误差最小化来求出缺失数据。具体地,缺失数据求取单元350基于重构误差最小化、即上述式(7)的思想,来解出未知量作为缺失数据。
数据恢复单元360将缺失数据求取单元350求出的缺失数据恢复到所述新增的一组数据中缺失的数据的位置。进而,数据恢复单元360可以将补全了缺失的数据后的该新增的一组数据与所述多组数据结合而得到更新后的多组数据。
本实施方式的缺失数据的恢复装置在功能上能够实现上述实施方式一的缺失数据的恢复方法。
实施方式四
在本实施方式中,不仅恢复新增的数据中缺失的数据,而且还对补全了缺失的数据后的该新增的一组数据与所述多组数据结合而得到的更新后的多组数据进行数据压缩。
图4示出根据本发明的实施方式四的缺失数据的恢复装置的框图。
本实施方式的缺失数据的恢复装置400除了包含实施方式三的装置300中的数据获取单元310、矩阵分解单元320、缺失位置确定单元330、重构误差计算单元340、缺失数据求取单元350和数据恢复单元360之外,还包含压缩单元470和解压缩单元480。关于单元310-360,在此不再详细描述。
在本实施方式的缺失数据的恢复装置400中,数据恢复单元360在将缺失数据恢复到所述新增的一组数据中缺失的数据的位置之后,将该新增的一组数据与所述多组数据组合而得到更新后的多组数据。
矩阵分解单元320对所述更新后的多组数据所组成的更新后数值矩阵进行概率矩阵分解。具体地,矩阵分解单元320对于更新后数值矩阵A'={aij}求解第一因子矩阵Uk和第二因子矩阵Vk,将该第一因子矩阵Uk与第二因子矩阵Vk的共轭转置矩阵的乘积作为更新后数值矩阵A'的概率矩阵分解的结果。进而,矩阵分解单元320在更新后数值矩阵A'的概率矩阵分解中所求解的是这样的第一因子矩阵Uk及第二因子矩阵Vk,即该第一因子矩阵Uk及第二因子矩阵Vk最小化更新后数值矩阵A'中的各元素aij和该第一因子矩阵Uk及第二因子矩阵Vk中的相应元素的目标函数。该目标函数如上述式(3)所示。
压缩单元470利用矩阵分解单元320对所述更新后数值矩阵的概率矩阵分解的结果进行所述更新后的多组数据的压缩。具体地,压缩单元470将所述更新后数值矩阵A'的概率矩阵分解的结果与通过所述更新后数值矩阵A'的概率矩阵分解得到的第二因子矩阵Vk相乘,以得到压缩后的数据。更具体地,压缩单元470基于上述式(8),进行数据的降维压缩,并保存通过概率矩阵分解得到的、在矩阵的解压缩时需要使用的分解矩阵。
解压缩单元480对降维压缩后的数据进行解压缩。具体地,解压缩单元480将通过压缩单元470压缩后的数据与通过所述更新后数值矩阵A'的概率矩阵分解得到的所述第二因子矩阵Vk的共轭转置矩阵相乘,来进行解压缩。更具体地,解压缩单元480按照上述式(9)对降维压缩后的数据进行解压缩。此外,在解压缩后,解压缩单元480还需要进行与数据获取单元310对所述多组数据和新增的一组数据进行的预处理相逆的处理,以将解压缩后的数据变换为原类型数据。
本实施方式的缺失数据的恢复装置在功能上能够实现上述实施方式二的缺失数据的恢复方法。
根据本发明的一个实施方式,还提供一种计算机设备。所述计算机设备包括处理器和存储器,存储器存储有能够在处理器上执行的计算机程序,当所述计算机程序被处理器执行时,实现根据本发明的实施方式的缺失数据的恢复方法的步骤。
此外,应该理解,根据本发明示例性实施方式的装置中的各个单元可被实现硬件组件和/或软件组件。本领域技术人员根据限定的各个单元所执行的处理,可以例如使用现场可编程门阵列(FPGA)或专用集成电路(ASIC)来实现各个单元。
此外,根据本发明示例性实施方式的方法可以被实现为计算机可读记录介质中的计算机程序。本领域技术人员可以根据对上述方法的描述来实现所述计算机程序。当所述计算机程序在计算机中被执行时实现本发明的上述方法。
尽管已经参照其示例性实施方式具体显示和描述了本发明,但是本领域的技术人员应该理解,在不脱离权利要求所限定的本发明的精神和范围的情况下,可以对其进行形式和细节上的各种改变。
Claims (20)
1.一种缺失数据的恢复方法,其特征在于,包括:
获取多组数据和所述多组数据之外新增的一组数据;
对所述多组数据所组成的数值矩阵进行奇异值分解或概率矩阵分解;
确定所述新增的一组数据中缺失的数据的位置;
使用上述奇异值分解或概率矩阵分解的结果和所述新增的一组数据计算关于缺失的数据的重构误差;
根据重构误差最小化来求出缺失数据;以及
将所求出的缺失数据恢复到所述新增的一组数据中缺失的数据的位置。
2.根据权利要求1所述的缺失数据的恢复方法,其特征在于,在对所述数值矩阵进行奇异值分解或概率矩阵分解的步骤中,在对所述数值矩阵进行概率矩阵分解时,对于所述数值矩阵求解第一因子矩阵和第二因子矩阵,将所述第一因子矩阵与所述第二因子矩阵的共轭转置矩阵的乘积作为所述概率矩阵分解的结果。
3.根据权利要求2所述的缺失数据的恢复方法,其特征在于,对于所述数值矩阵求解第一因子矩阵和第二因子矩阵具体包括,在所述数值矩阵的概率矩阵分解中求解这样的第一因子矩阵及第二因子矩阵,即该第一因子矩阵及第二因子矩阵最小化所述数值矩阵中的各元素和该第一因子矩阵及第二因子矩阵中的相应元素的目标函数。
4.根据权利要求1所述的缺失数据的恢复方法,其特征在于,在计算关于缺失的数据的重构误差的步骤中,以所述缺失的数据为未知量,计算所述缺失的数据与新矩阵乘以在所述奇异值分解或概率矩阵分解中得到的分解矩阵的积中的相应元素的差值作为所述重构误差,所述新矩阵是在所述多组数据的基础上加入所述新增的一组数据后组成的矩阵。
5.根据权利要求4所述的缺失数据的恢复方法,其特征在于,在计算关于缺失的数据的重构误差的步骤中,根据下式,以所述缺失的数据为未知量来计算关于所述缺失的数据的重构误差:
<mrow>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</munder>
<msup>
<mrow>
<mo>(</mo>
<msub>
<mi>a</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mrow>
<mo>&lsqb;</mo>
<msup>
<mi>A</mi>
<mo>&prime;</mo>
</msup>
<msub>
<mi>V</mi>
<mi>k</mi>
</msub>
<msubsup>
<mi>V</mi>
<mi>k</mi>
<mo>*</mo>
</msubsup>
<mo>&rsqb;</mo>
</mrow>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
<mo>+</mo>
<mi>&lambda;</mi>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>a</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>|</mo>
<msup>
<mo>|</mo>
<mn>2</mn>
</msup>
</mrow>
其中,矩阵A'为在所述多组数据的基础上加入所述新增的一组数据后组成的新矩阵,表示矩阵的第i行第j列的元素,矩阵Vk为在所述奇异值分解或概率矩阵分解中得到的分解矩阵,aij为矩阵A'中缺失的数据。
6.根据权利要求1所述的缺失数据的恢复方法,其特征在于,还包括:
将恢复了缺失的数据后的所述新增的一组数据与所述多组数据组合而形成更新后的多组数据;
对所述更新后的多组数据所组成的更新后数值矩阵进行概率矩阵分解;以及
利用所述更新后数值矩阵的概率矩阵分解的结果进行所述更新后的多组数据的压缩。
7.根据权利要求6所述的缺失数据的恢复方法,其特征在于,在对所述更新后数值矩阵进行概率矩阵分解的步骤中,对于所述更新后数值矩阵求解第一因子矩阵和第二因子矩阵,将所述第一因子矩阵与所述第二因子矩阵的共轭转置矩阵的乘积作为所述更新后数值矩阵的概率矩阵分解的结果。
8.根据权利要求7所述的缺失数据的恢复方法,其特征在于,对于所述更新后数值矩阵求解第一因子矩阵和第二因子矩阵具体包括,在所述更新后数值矩阵的概率矩阵分解中求解这样的第一因子矩阵及第二因子矩阵,即该第一因子矩阵及第二因子矩阵最小化所述更新后数值矩阵中的各元素和该第一因子矩阵及第二因子矩阵中的相应元素的目标函数。
9.根据权利要求7或8所述的缺失数据的恢复方法,其特征在于,在所述压缩步骤中,将所述更新后数值矩阵的概率矩阵分解的结果与所述第二因子矩阵相乘,以得到压缩后的数据。
10.根据权利要求9所述的缺失数据的恢复方法,其特征在于,将所述压缩后的数据与所述第二因子矩阵的共轭转置矩阵相乘,以得到解压缩后的数据。
11.一种缺失数据的恢复装置,其特征在于,包括:
数据获取单元,其获取多组数据和所述多组数据之外新增的一组数据;
矩阵分解单元,其对所述多组数据所组成的数值矩阵进行奇异值分解或概率矩阵分解;
缺失位置确定单元,其确定所述新增的一组数据中缺失的数据的位置;
重构误差计算单元,其使用所述矩阵分解单元的矩阵分解结果和所述新增的一组数据计算关于缺失的数据的重构误差;
缺失数据求取单元,其对所述重构误差计算单元的结果,根据重构误差最小化来求出缺失数据;以及
数据恢复单元,其将所述缺失数据求取单元求出的缺失数据恢复到所述新增的一组数据中缺失的数据的位置。
12.根据权利要求11所述的缺失数据的恢复装置,其特征在于,所述矩阵分解单元在对所述数值矩阵进行的概率矩阵分解中,对于所述数值矩阵求解第一因子矩阵和第二因子矩阵,将所述第一因子矩阵与所述第二因子矩阵的共轭转置矩阵的乘积作为所述概率矩阵分解的结果。
13.根据权利要求12所述的缺失数据的恢复装置,其特征在于,所述矩阵分解单元在所述数值矩阵的概率矩阵分解中,求解这样的第一因子矩阵及第二因子矩阵,即该第一因子矩阵及第二因子矩阵最小化所述数值矩阵中的各元素和该第一因子矩阵及第二因子矩阵中的相应元素的目标函数。
14.根据权利要求11所述的缺失数据的恢复装置,其特征在于,所述重构误差计算单元以所述缺失的数据为未知量,计算所述缺失的数据与新矩阵乘以所述矩阵分解单元所得到的分解矩阵的积中的相应元素的差值作为所述重构误差,所述新矩阵是在所述多组数据的基础上加入所述新增的一组数据后组成的矩阵。
15.根据权利要求14所述的缺失数据的恢复装置,其特征在于,所述重构误差计算单元根据下式,以所述缺失的数据为未知量来计算关于所述缺失的数据的重构误差:
<mrow>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</munder>
<msup>
<mrow>
<mo>(</mo>
<msub>
<mi>a</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mrow>
<mo>&lsqb;</mo>
<msup>
<mi>A</mi>
<mo>&prime;</mo>
</msup>
<msub>
<mi>V</mi>
<mi>k</mi>
</msub>
<msubsup>
<mi>V</mi>
<mi>k</mi>
<mo>*</mo>
</msubsup>
<mo>&rsqb;</mo>
</mrow>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
<mo>+</mo>
<mi>&lambda;</mi>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>a</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>|</mo>
<msup>
<mo>|</mo>
<mn>2</mn>
</msup>
</mrow>
其中,矩阵A'为在所述多组数据的基础上加入所述新增的一组数据后组成的新矩阵,表示矩阵的第i行第j列的元素,矩阵Vk为在所述奇异值分解或概率矩阵分解中得到的分解矩阵,aij为矩阵A'中缺失的数据。
16.根据权利要求11所述的缺失数据的恢复装置,其特征在于,
所述数据恢复单元将恢复了缺失的数据后的所述新增的一组数据与所述多组数据组合而形成更新后的多组数据,
所述矩阵分解单元对所述更新后的多组数据所组成的更新后数值矩阵进行概率矩阵分解,
所述缺失数据的恢复装置还包括:
压缩单元,其利用所述更新后数值矩阵的概率矩阵分解的结果进行所述更新后的多组数据的压缩。
17.根据权利要求16所述的缺失数据的恢复装置,其特征在于,所述矩阵分解单元对于所述更新后数值矩阵求解第一因子矩阵和第二因子矩阵,将所述第一因子矩阵与所述第二因子矩阵的共轭转置矩阵的乘积作为所述更新后数值矩阵的概率矩阵分解的结果。
18.根据权利要求17所述的缺失数据的恢复装置,其特征在于,所述矩阵分解单元在所述更新后数值矩阵的概率矩阵分解中,求解这样的第一因子矩阵及第二因子矩阵,即该第一因子矩阵及第二因子矩阵最小化所述更新后数值矩阵中的各元素和该第一因子矩阵及第二因子矩阵中的相应元素的目标函数。
19.根据权利要求17或18所述的缺失数据的恢复装置,其特征在于,所述压缩单元将所述更新后数值矩阵的概率矩阵分解的结果与所述第二因子矩阵相乘,以得到压缩后的数据。
20.根据权利要求19所述的缺失数据的恢复装置,其特征在于,还包括解压缩单元,其将所述压缩后的数据与所述第二因子矩阵的共轭转置矩阵相乘,以得到解压缩后的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711045164.6A CN107766294A (zh) | 2017-10-31 | 2017-10-31 | 缺失数据的恢复方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711045164.6A CN107766294A (zh) | 2017-10-31 | 2017-10-31 | 缺失数据的恢复方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107766294A true CN107766294A (zh) | 2018-03-06 |
Family
ID=61271836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711045164.6A Pending CN107766294A (zh) | 2017-10-31 | 2017-10-31 | 缺失数据的恢复方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107766294A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112948364A (zh) * | 2021-02-08 | 2021-06-11 | 国网上海市电力公司 | 基于协同拟合的电能计量数据恢复方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521268A (zh) * | 2011-11-22 | 2012-06-27 | 浪潮电子信息产业股份有限公司 | 一种缺失数据项自动填充的方法 |
CN106919719A (zh) * | 2017-03-16 | 2017-07-04 | 南京邮电大学 | 一种面向大数据的信息补全方法 |
CN107113466A (zh) * | 2014-06-12 | 2017-08-29 | 慧与发展有限责任合伙企业 | 向用户推荐项目 |
-
2017
- 2017-10-31 CN CN201711045164.6A patent/CN107766294A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521268A (zh) * | 2011-11-22 | 2012-06-27 | 浪潮电子信息产业股份有限公司 | 一种缺失数据项自动填充的方法 |
CN107113466A (zh) * | 2014-06-12 | 2017-08-29 | 慧与发展有限责任合伙企业 | 向用户推荐项目 |
CN106919719A (zh) * | 2017-03-16 | 2017-07-04 | 南京邮电大学 | 一种面向大数据的信息补全方法 |
Non-Patent Citations (3)
Title |
---|
无: "SVD在推荐系统中的应用", 《HTTP://YANYIWU.COM/WORK/2012/09/10/SVD-APPLICATION-IN-RECSYS.HTML》 * |
汗青传奇: "数据挖掘基础知识-矩阵(分解)", 《CSDN博客 HTTPS://BLOG.CSDN.NET/U010140338/ARTICLE/DETAILS/42191047》 * |
黄晓宇 等: "面向时序数据的矩阵分解", 《软件学报》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112948364A (zh) * | 2021-02-08 | 2021-06-11 | 国网上海市电力公司 | 基于协同拟合的电能计量数据恢复方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107832170B (zh) | 缺失数据的恢复方法和装置 | |
Nguyen et al. | Exact Recoverability From Dense Corrupted Observations via $\ell _ {1} $-Minimization | |
Asif et al. | Dynamic updating for $\ell_ {1} $ minimization | |
JP6615062B2 (ja) | 画像を処理する方法及びシステム | |
Cardot et al. | Online estimation of the geometric median in Hilbert spaces: Nonasymptotic confidence balls | |
WO2018111116A2 (en) | Method for handling multidimensional data | |
CN107800437B (zh) | 数据压缩方法和装置 | |
CN110166055B (zh) | 一种基于压缩感知的多通道压缩传感优化方法及系统 | |
CN108233943B (zh) | 一种基于最小相关性测量矩阵的压缩感知方法 | |
Sedighin et al. | Matrix and tensor completion in multiway delay embedded space using tensor train, with application to signal reconstruction | |
CN109756740B (zh) | 基于最优测量矩阵的半张量图像压缩方法和图像恢复方法 | |
Han et al. | Recovery of signals from unordered partial frame coefficients | |
Gashnikov et al. | Hierarchical GRID interpolation under hyperspectral images compression | |
CN107766294A (zh) | 缺失数据的恢复方法和装置 | |
Tubbs et al. | Linear dimension reduction and Bayes classification with unknown population parameters | |
Aldroubi et al. | Dynamical sampling with additive random noise | |
WO2011117890A2 (en) | Method for streaming svd computation | |
Parsa et al. | On reducing the coherence in sparse system identification | |
Huang et al. | Optimized measurement matrix for compressive sensing | |
Tu et al. | M-estimation in low-rank matrix factorization: a general framework | |
CN111045861B (zh) | 一种基于深度神经网络的传感器数据恢复方法 | |
Salan et al. | Image reconstruction based on compressive sensing using optimized sensing matrix | |
Parthasarathy et al. | Transform learning algorithm based on the probability of representation of signals | |
WO2020223850A1 (en) | System and method for quantum circuit simulation | |
Ho et al. | Ambiguity and sensitivity in imprecise dictionaries for compressed sensing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180306 |