CN116578557B - 面向数据中台的缺失数据填充方法 - Google Patents
面向数据中台的缺失数据填充方法 Download PDFInfo
- Publication number
- CN116578557B CN116578557B CN202310201678.5A CN202310201678A CN116578557B CN 116578557 B CN116578557 B CN 116578557B CN 202310201678 A CN202310201678 A CN 202310201678A CN 116578557 B CN116578557 B CN 116578557B
- Authority
- CN
- China
- Prior art keywords
- function
- data
- lhs
- attribute
- sketch
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 230000001419 dependent effect Effects 0.000 claims description 23
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 4
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 claims description 3
- 239000002131 composite material Substances 0.000 abstract description 2
- 239000000945 filler Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种面向数据中台的缺失数据填充方法,属于工业大数据技术领域,可以利用多数据源对目标数据集中的缺失数据进行有效的填充。有效填充了原数据集中的缺失数据,提升了原数据集的完整性。相对于传统的Flight数据集及合成数据集,该面向数据中台的缺失数据填充方法运行时间并不随着数据规模增大而增大,而是保持平稳。当数据源数量达到10000时,本算法效率是精确算法的80倍。
Description
技术领域
本发明涉及工业大数据技术领域,具体涉及一种面向数据中台的缺失数据填充方法。
背景技术
数据中台是从后台及业务中台中将数据导入,完成海量数据的存储、计算、产品包装过程,统一要辅助以数据治理。在数据中台架构中的数据治理平台中一个核心技术就是数据质量管理,即如何有效提升工业大数据的数据质量,例如数据完整性。工业大数据和传统关系数据库的区别在于,传统的OLAP假设数据是完整的,即不存在缺失数据。然而,工业大数据的数据来源更加多种多样,且数据缺失较多,这给填充缺失的数据带来了挑战。因此,如何修复缺失的数据是数据中台能够有效支持企业各类数据服务的必不可少的环节。当前的研究者提出了一系列传统数据库下完整性的评估和修复技术,但仍存在一些不足,例如并不能有效利用外面的数据源来帮助缺失数据的填充。
发明内容
本发明为了克服以上技术的不足,提供了一种对目标数据集中的缺失数据进行有效的填充的面向数据中台的缺失数据填充方法。
本发明克服其技术问题所采用的技术方案是:
一种面向数据中台的缺失数据填充方法,包括如下步骤:
a)从数据中台内的工业大数据中获取数据建立一个关系模式为R的目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,t|D|),其中Ai为第i个属性,i∈{1,2,...,m},m为获取的工业大数据中的属性个数,tj为第j个元组,j∈{1,2,...,|D|},|D|为获取的工业大数据中的元组个数,目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,t|D|)满足的函数依赖集合为Z={r1,r2,...,rj,...,r|Z|},其中rj为第j条函数依赖规则,j∈{1,2,...,|Z|},|Z|为函数依赖集合的大小;
b)第j条函数依赖规则rj的形式定义为LHS(rj)→RHS(rj),其中LHS(rj)为函数依赖规则rj的前件,RHS(rj)为函数依赖规则rj的后件,LHS(rj)为属性列表,LHS(rj)=Aj(1),Aj(2),…,Aj(o),…,Aj(s),Aj(o)为关系模式R上的第j个属性,j(o)∈{1,2,…,m},o∈{1,2,…,s},s为前件中属性的个数,RHS(rj)=Aj(s+1),Aj(s+1)为关系模式R上的第j(s+1)个属性,j(s+1)∈{1,2,…,m};
c)从数据中台内的工业大数据中获取数据建立一个数据源集合SS={S1,S2,...,Si,...,S|SS|},其中Si为第i个数据源,i∈{1,2,...,|SS|},|SS|为数据源的数量,第i个数据源Si的关系模式为Ri,第i个数据源Si的函数依赖集合为Zi,其中/>为函数依赖集合Zi的第j条函数依赖规则,j∈{1,2,...,|Zi|},|Zi|为函数依赖集合的大小;
d)设置子函数一,利用子函数一将目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,…,tj,…,t|D|)构建其在函数依赖集合Z={r1,r2,...,rj,...,r|Z|}中第j条函数依赖规则rj对应的草图ScratchD(j);
e)利用子函数一将数据源集合SS={S1,S2,...,Si,...,S|SS|}中的第i个数据源Si构建其在函数依赖集合Zi中第j条函数依赖规则rj对应的草图Scratch(i,j);
f)遍历目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,…,tj,…,t|D|)中的每一条元组的每一个属性值,第i个元组ti的属性值为ti[Ap],i∈{1,2,...,|D|},p∈{1,2,...,m},如果属性值ti[Ap]不为空,则继续遍历,如果属性值ti[Ap]为空,则设置子函数二,利用子函数二对属性值ti[Ap]寻找函数依赖集合Z={r1,r2,...,rj,...,r|Z|}中可以用于填充的函数依赖规则;
g)如果函数依赖集合Z={r1,r2,...,rj,...,r|Z|}不存在可以用于填充属性值ti[Ap]的函数依赖规则,则返回执行步骤f),直到目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,t|D|)所有元组的所有属性值均遍历完成,如果函数依赖集合Z={r1,r2,...,rj,...,r|Z|}存在可以用于填充属性值ti[Ap]的函数依赖规则rj,则访问一个包含函数依赖规则rj的第i个数据源Si的草图Scratch(i,j),设置子函数三,利用子函数三根据草图Scratch(i,j)判断草图Scratch(i,j)是否可以用于属性值ti[Ap]的填充。
进一步的,步骤d)包括如下步骤:
d-1)初始化草图ScratchD(j)为一个长度为L位的位数组;
d-2)定义k个独立的哈希函数h1-hk,将任意整数映射到1-L;
d-3)将草图ScratchD(j)的所有位初始化为0后遍历目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,t|D|)中的每条元组,将第j个元组tj在属性列表LHS(rj)上的值t[LHS(rj)]哈希为一个正整数x;
d-4)计算出正整数x在哈希函数h1-hk上的哈希值,得到h1(x),h2(x),...,hi(x),...,hk(x),hi(x)为正整数x在第i个哈希函数hi上的哈希值,i∈{1,2,...,k};
d-5)将草图ScratchD(j)中k个位置h1(x),h2(x),...,hi(x),...,hk(x)置1;
d-6)遍历目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,t|D|)中的每条元组后,得到构建完毕的草图ScratchD(j)。
进一步的,步骤e)包括如下步骤:
e-1)初始化草图Scratch(i,j)为一个长度为L位的位数组;
e-2)定义k个独立的哈希函数h1-hk,将任意整数映射到1-L;
e-3)将草图Scratch(i,j)的所有位初始化为0后遍历数据源集合SS={S1,S2,...,Si,...,S|SS|}中的每条元组,将第j个元组tj在属性列表LHS(rj)上的值t[LHS(rj)]哈希为一个正整数x;
e-4)计算出正整数x在哈希函数h1-hk上的哈希值,得到h1(x),h2(x),...,hi(x),...,hk(x),hi(x)为正整数x在第i个哈希函数hi上的哈希值,i∈{1,2,...,k};
e-5)将草图Scratch(i,j)中k个位置h1(x),h2(x),...,hi(x),...,hk(x)置1;
e-6)遍历数据源集合SS={S1,S2,...,Si,...,S|SS|}中的每条元组后,得到构建完毕的草图Scratch(i,j)。
进一步的,步骤f)中利用子函数二对属性值ti[Ap]寻找函数依赖集合Z={r1,r2,...,rj,...,r|Z|}中可以用于填充的函数依赖规则包括如下步骤:f-1)遍历函数依赖集合Z={r1,r2,...,rj,...,r|Z|}中每个函数依赖规则;
f-2)如果第o条函数依赖规则ro同时满足函数依赖规则ro的后件RHS(ro)是第p个属性Ap且第i个元组ti在函数依赖规则ro的前件LHS(ro)上的所有属性值都不缺失,则函数依赖规则ro判定为用于填充属性值ti[Ap]的函数依赖规则并停止对函数依赖集合Z={r1,r2,...,rj,...,r|Z|}的遍历。
进一步的,步骤g)中利用子函数三根据草图Scratch(i,j)判断草图Scratch(i,j)是否可以用于属性值ti[Ap]的填充的步骤为:
g-1)计算第i个元组ti在属性列表LHS(ri)上的属性值t[LHS(ri)]的k个哈希值,i∈{1,2,...,|D|},得到
h1(t[LHS(ri)]),h2(t[LHS(ri)]),...,hi(t[LHS(ri)]),...,hk(t[LHS(ri)]),其中hi(t[LHS(ri)])为第i个哈希值,i∈{1,2,...,k};
g-2)判断草图Scratch(i,j)中是否存在一哈希值对应位置上为0,如果存在,则第i个数据源Si不能被用于对第i个元组ti的缺失值填充,如果不存在,则第i个数据源Si可被用于对第i个元组ti的缺失值填充,并执行步骤g-3);
g-3)对第i个数据源Si进行SQL查询,如果查询结果为非空,则利用查询结果对第i个元组ti的缺失值填充,如果查询结果为空,则返回执行步骤e)。
本发明的有益效果是:可以利用多数据源对目标数据集中的缺失数据进行有效的填充。有效填充了原数据集中的缺失数据,提升了原数据集的完整性。相对于传统的Flight数据集及合成数据集,该面向数据中台的缺失数据填充方法运行时间并不随着数据规模增大而增大,而是保持平稳。当数据源数量达到10000时,本算法效率是精确算法的80倍。
附图说明
图1为本发明的方法流程图。
具体实施方式
下面结合附图1对本发明做进一步说明。
一种面向数据中台的缺失数据填充方法,包括如下步骤:
a)从数据中台内的工业大数据中获取数据建立一个关系模式为R的目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,t|D|),其中Ai为第i个属性,i∈{1,2,...,m},m为获取的工业大数据中的属性个数,tj为第j个元组,j∈{1,2,...,|D|},|D|为获取的工业大数据中的元组个数,目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,t|D|)满足的函数依赖集合为Z={r1,r2,...,rj,...,r|Z|},其中rj为第j条函数依赖规则,j∈{1,2,...,|Z|},|Z|为函数依赖集合的大小。
b)第j条函数依赖规则rj的形式定义为LHS(rj)→RHS(rj),其中LHS(rj)为函数依赖规则rj的前件,RHS(rj)为函数依赖规则rj的后件,LHS(rj)为属性列表,LHS(rj)=Aj(1),Aj(2),...,Aj(o),...,Aj(s),Aj(o)为关系模式R上的第j个属性,j(o)∈{1,2,...,m},o∈{1,2,...,s},s为前件中属性的个数,RHS(rj)=Aj(s+1),Aj(s+1)为关系模式R上的第j(s+1)个属性,j(s+1)∈{1,2,...,m}。
c)从数据中台内的工业大数据中获取数据建立一个数据源集合SS={S1,S2,...,Si,...,S|SS|},其中Si为第i个数据源,i∈{1,2,...,|SS|},|SS|为数据源的数量,第i个数据源Si的关系模式为Ri,第i个数据源Si的函数依赖集合为Zi,其中/>为函数依赖集合Zi的第j条函数依赖规则,j∈{1,2,...,|Zi|},|Zi|为函数依赖集合的大小。
d)设置子函数一,利用子函数一将目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,t|D|)构建其在函数依赖集合Z={r1,r2,...,rj,...,r|Z|}中第j条函数依赖规则rj对应的草图ScratchD(j)。
e)利用子函数一将数据源集合SS={S1,S2,...,Si,...,S|SS|}中的第i个数据源Si构建其在函数依赖集合Zi中第j条函数依赖规则rj对应的草图Scratch(i,j)。
f)遍历目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,t|D|)中的每一条元组的每一个属性值,第i个元组ti的属性值为ti[Ap],i∈{1,2,...,|D|},p∈{1,2,...,m},如果属性值ti[Ap]不为空,则继续遍历,如果属性值ti[Ap]为空,则设置子函数二,利用子函数二对属性值ti[Ap]寻找函数依赖集合Z={r1,r2,...,rj,...,r|Z|}中可以用于填充的函数依赖规则。
g)如果函数依赖集合Z={r1,r2,...,rj,...,r|Z|}不存在可以用于填充属性值ti[Ap]的函数依赖规则,则返回执行步骤f),直到目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,t|D|)所有元组的所有属性值均遍历完成,如果函数依赖集合Z={r1,r2,...,rj,...,r|Z|}存在可以用于填充属性值ti[Ap]的函数依赖规则rj,则访问一个包含函数依赖规则rj的第i个数据源Si的草图Scratch(i,j),设置子函数三,利用子函数三根据草图Scratch(i,j)判断草图Scratch(i,j)是否可以用于属性值ti[Ap]的填充。
本发明提出的对工业大数据中关系数据的缺失数据填充方法可以利用多数据源对目标数据集中的缺失数据进行有效的填充。在真实数据集Flight(包含1200个元组,100个合成数据源)上和合成数据(包含20000个元组,100个数据源)上验证了该发明的有效性,该发明技术有效填充了原数据集中的缺失数据,提升了原数据集的完整性。
对于Flight数据集,该发明能够对目标数据集中1792个缺失属性值进行填充。对于合成数据集.该发明能够对目标数据集中3200个缺失属性值进行填充。在两个数据集上的填充度均大于90%。在合成数据上将本发明中基于草图构建的近似算法和精确算法进行了对比,发现当构建草图的哈希函数个数大于等于10以后,填充程度和精确算法基本一致,误差不超过10%,但效率远远超过精确算法。精确算法的时间会随着数据规模增大而增加,而本发明的运行时间并不随着数据规模增大而增大,而是保持平稳。当数据源数量达到10000时,本算法效率是精确算法的80倍。
实施例1:
在本发明的一个实施例中,步骤d)包括如下步骤:
d-1)初始化草图ScratchD(j)为一个长度为L位的位数组。
d-2)定义k个独立的哈希函数h1-hk,将任意整数映射到1-L。
d-3)将草图ScratchD(j)的所有位初始化为0后遍历目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,t|D|)中的每条元组,将第j个元组tj在属性列表LHS(rj)上的值t[LHS(rj)]哈希为一个正整数x。
d-4)计算出正整数x在哈希函数h1-hk上的哈希值,得到h1(x),h2(x),…,hi(x),…,hk(x),hi(x)为正整数x在第i个哈希函数hi上的哈希值,i∈{1,2,…,k}。
d-5)将草图ScratchD(j)中k个位置h1(x),h2(x),…,hi(x),…,hk(x)置1。
d-6)遍历目标数据集D(A1,A2,…,Ai,…,Am)=(t1,t2,…,tj,…,t|D|)中的每条元组后,得到构建完毕的草图ScratchD(j)。
实施例2:
在本发明的一个实施例中,步骤e)包括如下步骤:
e-1)初始化草图Scratch(i,j)为一个长度为L位的位数组。
e-2)定义k个独立的哈希函数h1-hk,将任意整数映射到1-L。
e-3)将草图Scratch(i,j)的所有位初始化为0后遍历数据源集合SS={S1,S2,…,Si,…,S|SS|}中的每条元组,将第j个元组tj在属性列表LHS(rj)上的值t[LHS(rj)]哈希为一个正整数x。
e-4)计算出正整数x在哈希函数h1-hk上的哈希值,得到h1(x),h2(x),...,hi(x),...,hk(x),hi(x)为正整数x在第i个哈希函数hi上的哈希值,i∈{1,2,...,k}。
e-5)将草图Scratch(i,j)中k个位置h1(x),h2(x),...,hi(x),...,hk(x)置1。
e-6)遍历数据源集合SS={S1,S2,...,Si,...,S|SS|}中的每条元组后,得到构建完毕的草图Scratch(i,j)。
实施例3:
在本发明的一个实施例中,步骤f)中利用子函数二对属性值ti[Ap]寻找函数依赖集合Z={r1,r2,...,rj,...,r|Z|}中可以用于填充的函数依赖规则包括如下步骤:f-1)遍历函数依赖集合Z={r1,r2,...,rj,...,r|Z|}中每个函数依赖规则。
f-2)如果第o条函数依赖规则ro同时满足函数依赖规则ro的后件RHS(ro)是第p个属性Ap且第i个元组ti在函数依赖规则ro的前件LHS(ro)上的所有属性值都不缺失,则函数依赖规则ro判定为用于填充属性值ti[Ap]的函数依赖规则并停止对函数依赖集合Z={r1,r2,...,rj,...,r|Z|}的遍历。
实施例4:
在本发明的一个实施例中,步骤g)中利用子函数三根据草图Scratch(i,j)判断草图Scratch(i,j)是否可以用于属性值ti[Ap]的填充的步骤为:
g-1)计算第i个元组ti在属性列表LHS(ri)上的属性值t[LHS(ri)]的k个哈希值,i∈{1,2,...,|D|},得到h1(t[LHS(ri)]),h2(t[LHS(ri)]),...,hi(t[LHS(ri)]),...,hk(t[LHS(ri)]),其中hi(t[LHS(ri)])为第i个哈希值,i∈{1,2,...,k}。
g-2)判断草图Scratch(i,j)中是否存在一哈希值对应位置上为0,如果存在,则第i个数据源Si不能被用于对第i个元组ti的缺失值填充,如果不存在,则第i个数据源Si可被用于对第i个元组ti的缺失值填充,并执行步骤g-3)。
g-3)对第i个数据源Si进行SQL查询来判断第i个数据源Si是否真的可以用于缺失值填充,具体为:SELECT RHS(ri)FROM Si WHERE LHS(ri)=p,如果查询结果为非空,则利用查询结果对第i个元组ti的缺失值填充,如果查询结果为空,则返回执行步骤e)。直到遍历完所有包含函数依赖规则的数据源或找到一个能够为其填充的数据源为止。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种面向数据中台的缺失数据填充方法,其特征在于,包括如下步骤:
a)从数据中台内的工业大数据中获取数据建立一个关系模式为R的目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,t|D|),其中Ai为第i个属性,i∈{1,2,...,m},m为获取的工业大数据中的属性个数,tj为第j个元组,j∈{1,2,...,|D|},|D|为获取的工业大数据中的元组个数,目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,t|D|)满足的函数依赖集合为Z={r1,r2,...,rj,...,r|Z|},其中rj为第j条函数依赖规则,j∈{1,2,...,|Z|},|Z|为函数依赖集合的大小;
b)第j条函数依赖规则rj的形式定义为LHS(rj)→RHS(rj),其中LHS(rj)为函数依赖规则rj的前件,RHS(rj)为函数依赖规则rj的后件,LHS(rj)为属性列表,LHS(rj)=Aj(1),Aj(2),...,Aj(o),...,Aj(s),Aj(o)为关系模式R上的第j个属性,j(o)∈{1,2,...,m},o∈{1,2,...,s},s为前件中属性的个数,RHS(rj)=Aj(s+1),Aj(s+1)为关系模式R上的第j(s+1)个属性,j(s+1)∈{1,2,...,m};
c)从数据中台内的工业大数据中获取数据建立一个数据源集合SS={S1,S2,...,Si,...,S|SS|},其中Si为第i个数据源,i∈{1,2,...,|SS|},|SS|为数据源的数量,第i个数据源Si的关系模式为Ri,第i个数据源Si的函数依赖集合为Zi,其中/>为函数依赖集合Zi的第j条函数依赖规则,j∈{1,2,...,|Zi|},|Zi|为函数依赖集合的大小;
d)设置子函数一,利用子函数一将目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,t|D|)构建其在函数依赖集合Z={r1,r2,...,rj,...,r|Z|}中第j条函数依赖规则rj对应的草图ScratchD(j);
e)利用子函数一将数据源集合SS={S1,S2,...,Si,...,S|SS|}中的第i个数据源Si构建其在函数依赖集合Zi中第j条函数依赖规则rj对应的草图Scratch(i,j);
f)遍历目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,…,t|D|)中的每一条元组的每一个属性值,第i个元组ti的属性值为ti[Ap],i∈{1,2,...,|D|},p∈{1,2,...,m},如果属性值ti[Ap]不为空,则继续遍历,如果属性值ti[Ap]为空,则设置子函数二,利用子函数二对属性值ti[Ap]寻找函数依赖集合Z={r1,r2,…,rj,…,r|Z|}中可以用于填充的函数依赖规则;
g)如果函数依赖集合Z={r1,r2,...,rj,…,r|Z|}不存在可以用于填充属性值ti[Ap]的函数依赖规则,则返回执行步骤f),直到目标数据集D(A1,A2,…,Ai,...,Am)=(t1,t2,...,tj,...,t|D|)所有元组的所有属性值均遍历完成,如果函数依赖集合Z={r1,r2,...,rj,...,r|Z|}存在可以用于填充属性值ti[Ap]的函数依赖规则rj,则访问一个包含函数依赖规则rj的第i个数据源Si的草图Scratch(i,j),设置子函数三,利用子函数三根据草图Scratch(i,j)判断草图Scratch(i,j)是否可以用于属性值ti[Ap]的填充;
步骤d)包括如下步骤:
d-1)初始化草图ScratchD(j)为一个长度为L位的位数组;
d-2)定义k个独立的哈希函数h1-hk,将任意整数映射到1-L;
d-3)将草图ScratchD(j)的所有位初始化为0后遍历目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,…,tj,…,t|D|)中的每条元组,将第j个元组tj在属性列表LHS(rj)上的值t[LHS(rj)]哈希为一个正整数x;
d-4)计算出正整数x在哈希函数h1-hk上的哈希值,得到h1(x),h2(x),...,hi(x),...,hk(x),hi(x)为正整数x在第i个哈希函数hi上的哈希值,i∈{1,2,...,k};
d-5)将草图ScratchD(j)中k个位置h1(x),h2(x),...,hi(x),…,hk(x)置1;
d-6)遍历目标数据集D(A1,A2,…,Ai,…,Am)=(t1,t2,...,tj,...,t|D|)中的每条元组后,得到构建完毕的草图ScratchD(j)。
2.根据权利要求1所述的面向数据中台的缺失数据填充方法,其特征在于,步骤e)包括如下步骤:
e-1)初始化草图Scratch(i,j)为一个长度为L位的位数组;
e-2)定义k个独立的哈希函数h1-hk,将任意整数映射到1-L;
e-3)将草图Scratch(i,j)的所有位初始化为0后遍历数据源集合SS={S1,S2,...,Si,...,S|SS|}中的每条元组,将第j个元组tj在属性列表LHS(rj)上的值t[LHS(rj)]哈希为一个正整数x;
e-4)计算出正整数x在哈希函数h1-hk上的哈希值,得到h1(x),h2(x),…,hi(x),...,hk(x),hi(x)为正整数x在第i个哈希函数hi上的哈希值,i∈{1,2,...,k};
e-5)将草图Scratch(i,j)中k个位置h1(x),h2(x),...,hi(x),...,hk(x)置1;
e-6)遍历数据源集合SS={S1,S2,...,Si,...,S|SS|}中的每条元组后,得到构建完毕的草图Scratch(i,j)。
3.根据权利要求1所述的面向数据中台的缺失数据填充方法,其特征在于,步骤f)中利用子函数二对属性值ti[Ap]寻找函数依赖集合Z={r1,r2,…,rj,...,r|Z|}中可以用于填充的函数依赖规则包括如下步骤:
f-1)遍历函数依赖集合Z={r1,r2,...,rj,...,r|Z|}中每个函数依赖规则;
f-2)如果第o条函数依赖规则ro同时满足函数依赖规则ro的后件RHS(ro)是第p个属性Ap且第i个元组ti在函数依赖规则ro的前件LHS(ro)上的所有属性值都不缺失,则函数依赖规则ro判定为用于填充属性值ti[Ap]的函数依赖规则并停止对函数依赖集合Z={r1,r2,…,rj,…,r|Z|}的遍历。
4.根据权利要求1所述的面向数据中台的缺失数据填充方法,其特征在于,步
骤g)中利用子函数三根据草图Scratch(i,j)判断草图Scratch(i,j)是否可以
用于属性值ti[Ap]的填充的步骤为:
g-1)计算第i个元组ti在属性列表LHS(ri)上的属性值t[LHS(ri)]的k个哈希值,i∈{1,2,…,|D|},得到
h1(t[LHS(ri)]),h2(t[LHS(ri)]),...,hi(t[LHS(ri)]),...,hk(t[LHS(ri)]),其中hi(t[LHS(ri)])为第i个哈希值,i∈{1,2,...,k};
g-2)判断草图Scratch(i,j)中是否存在一哈希值对应位置上为0,如果存在,则第i个数据源Si不能被用于对第i个元组ti的缺失值填充,如果不存在,则第i个数据源Si可被用于对第i个元组ti的缺失值填充,并执行步骤g-3);
g-3)对第i个数据源Si进行SQL查询,如果查询结果为非空,则利用查询结果对第i个元组ti的缺失值填充,如果查询结果为空,则返回执行步骤e)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310201678.5A CN116578557B (zh) | 2023-03-03 | 2023-03-03 | 面向数据中台的缺失数据填充方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310201678.5A CN116578557B (zh) | 2023-03-03 | 2023-03-03 | 面向数据中台的缺失数据填充方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116578557A CN116578557A (zh) | 2023-08-11 |
CN116578557B true CN116578557B (zh) | 2024-04-02 |
Family
ID=87540218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310201678.5A Active CN116578557B (zh) | 2023-03-03 | 2023-03-03 | 面向数据中台的缺失数据填充方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116578557B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102110058A (zh) * | 2009-12-25 | 2011-06-29 | 上海芯豪微电子有限公司 | 一种低缺失率、低缺失惩罚的缓存方法和装置 |
CN106919719A (zh) * | 2017-03-16 | 2017-07-04 | 南京邮电大学 | 一种面向大数据的信息补全方法 |
CN108062363A (zh) * | 2017-12-05 | 2018-05-22 | 南京邮电大学 | 一种面向有源配电网的数据过滤方法及系统 |
CN109669932A (zh) * | 2018-10-22 | 2019-04-23 | 国网上海市电力公司 | 一种基于次序依赖的电力数据集修复方法 |
CN114168574A (zh) * | 2021-10-27 | 2022-03-11 | 清华大学 | 一种面向工业负荷的数据缺失处理方法及装置 |
CN114281809A (zh) * | 2021-12-22 | 2022-04-05 | 杭州电子科技大学 | 一种多源异构数据清洗方法及装置 |
CN114741457A (zh) * | 2022-04-14 | 2022-07-12 | 郑州轻工业大学 | 一种基于函数依赖和聚类的数据缺失值填补方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8165973B2 (en) * | 2007-06-18 | 2012-04-24 | International Business Machines Corporation | Method of identifying robust clustering |
US10430928B2 (en) * | 2014-10-23 | 2019-10-01 | Cal Poly Corporation | Iterated geometric harmonics for data imputation and reconstruction of missing data |
US20230041129A1 (en) * | 2021-07-09 | 2023-02-09 | Pawel Terlecki | Systems and method for processing timeseries data |
-
2023
- 2023-03-03 CN CN202310201678.5A patent/CN116578557B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102110058A (zh) * | 2009-12-25 | 2011-06-29 | 上海芯豪微电子有限公司 | 一种低缺失率、低缺失惩罚的缓存方法和装置 |
CN106919719A (zh) * | 2017-03-16 | 2017-07-04 | 南京邮电大学 | 一种面向大数据的信息补全方法 |
CN108062363A (zh) * | 2017-12-05 | 2018-05-22 | 南京邮电大学 | 一种面向有源配电网的数据过滤方法及系统 |
CN109669932A (zh) * | 2018-10-22 | 2019-04-23 | 国网上海市电力公司 | 一种基于次序依赖的电力数据集修复方法 |
CN114168574A (zh) * | 2021-10-27 | 2022-03-11 | 清华大学 | 一种面向工业负荷的数据缺失处理方法及装置 |
CN114281809A (zh) * | 2021-12-22 | 2022-04-05 | 杭州电子科技大学 | 一种多源异构数据清洗方法及装置 |
CN114741457A (zh) * | 2022-04-14 | 2022-07-12 | 郑州轻工业大学 | 一种基于函数依赖和聚类的数据缺失值填补方法 |
Non-Patent Citations (2)
Title |
---|
"基于模糊规则的随机缺失 属性值数据分类算法";段亚军等;《吉林大学学报(理学版)》;20191231;89-96 * |
"规则不完备的模糊系统新规则在线生成";唐肝翌等;《西南大学学报》;20061231;1-3 * |
Also Published As
Publication number | Publication date |
---|---|
CN116578557A (zh) | 2023-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018176623A1 (zh) | 一种olap预计算模型、自动建模方法及自动建模系统 | |
US7945575B2 (en) | Method of transforming queries based upon E/R schema into multi-dimensional expression queries | |
US7877376B2 (en) | Supporting aggregate expressions in query rewrite | |
US6775681B1 (en) | Evaluation of grouping sets by reduction to group-by clause, with or without a rollup operator, using temporary tables | |
US7702622B2 (en) | Advanced techniques for SQL generation of performancepoint business rules | |
CN108763376B (zh) | 融合关系路径、类型、实体描述信息的知识表示学习方法 | |
US8996502B2 (en) | Using join dependencies for refresh | |
US7035843B1 (en) | Evaluation of database hierarchical cubes by nesting rollup operators associated with multiple groupings | |
CN102867066B (zh) | 数据汇总装置和数据汇总方法 | |
US11379476B2 (en) | Bitmap-based count distinct query rewrite in a relational SQL algebra | |
Navathe et al. | Restructuring for large databases: three levels of abstraction | |
JP2003526159A (ja) | 多次元データベースおよび統合集約サーバ | |
CN104036051A (zh) | 一种基于标签传播的数据库模式摘要生成方法 | |
CN107656978B (zh) | 一种基于函数依赖的多样性数据修复方法 | |
CN112434024A (zh) | 面向关系型数据库的数据字典生成方法、装置、设备及介质 | |
CN112015741A (zh) | 一种海量数据的分库分表存储方法与装置 | |
CN114707077A (zh) | 一种面向物联网的基于知识图谱的推荐方法 | |
CN105930388A (zh) | 一种基于函数依赖关系的olap分组聚集方法 | |
CN114048204A (zh) | 基于数据库倒排索引的北斗网格空间索引方法和装置 | |
CN116521719A (zh) | 一种基于代价估计的查询优化系统 | |
KR20130064160A (ko) | Rdf 데이터에 대한 sparql 질의 결과의 개체 관계 변형 시스템 및 그 방법 | |
CN116578557B (zh) | 面向数据中台的缺失数据填充方法 | |
CN112883063A (zh) | 一种基于分区的分布式rdf系统上的sparql查询处理方法 | |
CN116186640B (zh) | 企业数据治理的迭代优化方法及系统 | |
CN116594795B (zh) | 面向数据中台的错误检测和修复方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |