发明名称 一种基于分层模型的大数据可信性度量方法
摘要 本发明属于面向大数据的数据信任评估的领域,具体涉及一种基于分层模型的大数据可信性度量方法。该发明在传统数据可信分析理论的基础上,通过增加时间因子与惩罚因子等权重参数,计算数据源之间的可信度、数据源的可信度、数据的可信度,动态地构建了层次化的大数据可信分析网络。本发明与现有模型相比,克服了传统数据可信分析方法对于大数据可信计算的不适用性,从更加综合的层面上分析了影响大数据可信度计算的因素,同时,在数据源提供的数据量越多的情况下,越能对所提供数据的可信性度量进行准确分析,较好地满足了大数据的可信需求。
申请公布号 CN105843829A 申请公布日期 2016.08.10
申请号 CN201510632818.X 申请日期 2015.09.30
申请人 华北电力大学(保定) 发明人 程晓荣;李天琦;赵惠兰
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 代理人
主权项 基于分层模型的大数据可信性度量方法,其特征在于:包括以下步骤:步骤1:对于采集到的数据利用Hadoop技术进行预处理,提取关键属性。步骤2:计算数据源之间的本地可信度,动态构建由数据源构成的可信网络。当t=0时,可信度的初始值一般是随机数或者0;当任意t时刻时,若数据源之间没有上下文交互,就对其t‑1时刻的可信度值进行时间惩罚,以作为t时刻的本地可信度值,若存在上下文交互时,t时刻的可信度就由数据源之间直接进行上下文交互的可信度与两个数据源之间的相似度组合而成,但当计算的t时刻的可信度值小于t‑1时刻的可信度值,那么就需要对其加以系数惩罚。当计算本地可信度超过预先规定的阀值时,它们之间就会建立了一条有向链路,这样就能逐渐地构建可信网络。计算本地可信度的方法如公式1所示:<img file="FSA0000121630310000011.GIF" wi="1543" he="194" />公式(1)说明:a)初始值为一个随机数或0,表示数据源A对数据源B有一些信任或没有信任。b)μ(t)表示在t时刻时,时间衰减系数。当数据源A对数据源B在t时刻与t‑1时刻时,若本地可信度值相同,则就对它加以时间衰减惩罚。其中,<img file="FSA0000121630310000012.GIF" wi="323" he="112" />0≤μ(t)<1。其中Δt是指两次计算时间的差值,t<sub>0</sub>是指当前计算的起始时间,t为当前时刻。c)ΔContext(A,B,t)表示在t时刻时,数据源A和数据源B之间是否有新增的上下文直接交互。ΔContext(A,B,t)=Context(A,B,t)‑Context(A,B,t‑1)。d)DirTrust(A,B,Context(A,B,t),t)表示在t时刻时,数据源A对数据源B在上下文交互条件Context(A,B,t)下的可信值。e)Accept(A,B,t)表示在t时刻时,数据源A对数据源B的相似程度的认可度。<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>A</mi><mi>c</mi><mi>c</mi><mi>e</mi><mi>p</mi><mi>t</mi><mrow><mo>(</mo><mi>A</mi><mo>,</mo><mi>B</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><munder><munder><mi>&Sigma;</mi><mrow><msub><mi>data</mi><mi>a</mi></msub><mo>&Element;</mo><mi>D</mi><mi>a</mi><mi>t</mi><mi>a</mi><mrow><mo>(</mo><mi>A</mi><mo>)</mo></mrow></mrow></munder><mrow><msub><mi>data</mi><mi>b</mi></msub><mo>&Element;</mo><mi>D</mi><mi>a</mi><mi>t</mi><mi>a</mi><mrow><mo>(</mo><mi>B</mi><mo>)</mo></mrow></mrow></munder><mi>S</mi><mi>i</mi><mi>m</mi><mrow><mo>(</mo><msub><mi>data</mi><mi>a</mi></msub><mo>,</mo><msub><mi>data</mi><mi>b</mi></msub><mo>)</mo></mrow></mrow><mrow><mi>D</mi><mi>a</mi><mi>t</mi><mi>a</mi><mrow><mo>(</mo><mi>A</mi><mo>)</mo></mrow><mo>&cap;</mo><mi>D</mi><mi>a</mi><mi>t</mi><mi>a</mi><mrow><mo>(</mo><mi>B</mi><mo>)</mo></mrow></mrow></mfrac></mrow>]]></math><img file="FSA0000121630310000013.GIF" wi="834" he="205" /></maths>其中,Data(A)为数据源A提供的所有数据集合,data<sub>a</sub>表示数据集合中的任何一条数据,Sim(data<sub>a</sub>,data<sub>b</sub>)是指数据data<sub>a</sub>与data<sub>b</sub>的相似程度。Data(A)∩Data(B)是指数据源A所提供的数据集合与数据源B所提供的数据集合有相同的主题的数据的个数。f)λ(t)表示在t时刻时,本模型对本地可信度的惩罚系数。<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>&lambda;</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mn>1</mn><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>&Delta;LocalTrust</mi><mi>A</mi></msub><mrow><mo>(</mo><mi>B</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>&GreaterEqual;</mo><mn>0</mn></mrow></mtd></mtr><mtr><mtd><mrow><mn>0</mn><mo>&le;</mo><mi>&lambda;</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>&lt;</mo><mn>1</mn><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>&Delta;LocalTrust</mi><mi>A</mi></msub><mrow><mo>(</mo><mi>B</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>&lt;</mo><mn>0</mn></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FSA0000121630310000021.GIF" wi="892" he="143" /></maths>其中,ΔLocalTrust<sub>A</sub>(B,t)表示在t时刻时,数据源A对目的数据源B本地可信度是否发生了变化。ΔLocalTrust<sub>A</sub>(B,t)=LocalTrust<sub>A</sub>(B,t)‑LocalTrust<sub>A</sub>(B,t‑1)。g)α+β=1,这里的α与β的值和上面的不同。步骤3:计算数据源之间的全局可信度。这里的可信度值是目标数据源的可信度,所以全局可信度受数据源可信度的限制。计算方法如公式2所示:GlobalTrust<sub>A</sub>(B,t)=Trust(B,t)         公式(2)步骤4:计算数据源之间的可信度。它是由数据源之间的本地可信度与全局可信度组合而成。数据源之间的可信度的计算公式,即数据源A对数据源B的可信度计算方法,如公式3所示:Trust<sub>A</sub>(B,t)=α·LocalTrust<sub>A</sub>(B,t)+β·GlobalTrust<sub>A</sub>(B,t)     公式(3)其中,α+β=1。步骤5:计算数据源的可信度。当t=0时,可信度的初始值一般是随机数或者0;当t时刻时,若数据源的信任值在t与t‑1时刻的差值是等于0,就对其t‑1时刻的可信度值进行时间惩罚,以作为t时刻的数据源可信度值,若数据源的信任值在t与t‑1时刻的差值是大于或小于0,数据源的可信度为数据源提供的所有历史数据的可信度期望值与整个可信网络中各层对数据源的推荐可信度的综合可信度,但当计算的t时刻的可信度值小于t‑1时刻的可信度值,那么就需要对其加以系数惩罚。数据源的可信度计算公式,即对数据源A的可信度的计算方法,如公式4所示:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>T</mi><mi>r</mi><mi>u</mi><mi>s</mi><mi>t</mi><mrow><mo>(</mo><mi>A</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mi>R</mi><mi>a</mi><mi>n</mi><mi>d</mi><mi>o</mi><mi>m</mi><mrow><mo>(</mo><mo>)</mo></mrow><mi>o</mi><mi>r</mi><mn>0</mn><mo>,</mo></mrow></mtd><mtd><mrow><mi>t</mi><mo>=</mo><mn>0</mn></mrow></mtd></mtr><mtr><mtd><mrow><mi>T</mi><mi>r</mi><mi>u</mi><mi>s</mi><mi>t</mi><mrow><mo>(</mo><mi>A</mi><mo>,</mo><mi>t</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>&mu;</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>&Delta;</mi><mi>T</mi><mi>r</mi><mi>u</mi><mi>s</mi><mi>t</mi><mrow><mo>(</mo><mi>A</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mn>0</mn></mrow></mtd></mtr><mtr><mtd><mrow><mo>&lsqb;</mo><mi>&alpha;</mi><mo>&CenterDot;</mo><mfrac><mrow><munder><mo>&Sigma;</mo><mrow><msub><mi>data</mi><mi>a</mi></msub><mo>&Element;</mo><mi>D</mi><mi>a</mi><mi>t</mi><mi>a</mi><mrow><mo>(</mo><mi>A</mi><mo>)</mo></mrow></mrow></munder><mi>T</mi><mi>r</mi><mi>u</mi><mi>s</mi><mi>t</mi><mrow><mo>(</mo><msub><mi>data</mi><mi>a</mi></msub><mo>,</mo><mi>t</mi><mo>)</mo></mrow></mrow><mrow><mi>S</mi><mi>u</mi><mi>m</mi><mrow><mo>(</mo><mi>D</mi><mi>a</mi><mi>t</mi><mi>a</mi><mo>(</mo><mi>A</mi><mo>)</mo><mo>)</mo></mrow></mrow></mfrac><mo>+</mo><mi>&beta;</mi><mo>&CenterDot;</mo><mrow><mo>(</mo><msub><mi>&gamma;</mi><mi>n</mi></msub><mo>&CenterDot;</mo><msub><mi>Recommend</mi><mi>n</mi></msub><mo>(</mo><mrow><mi>A</mi><mo>,</mo><mi>t</mi></mrow><mo>)</mo><mo>)</mo></mrow><mo>&rsqb;</mo><mo>&CenterDot;</mo><mi>&lambda;</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>o</mi><mi>t</mi><mi>h</mi><mi>e</mi><mi>r</mi></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FSA0000121630310000031.GIF" wi="1527" he="497" /></maths>  公式(4)说明:a)初始值为一个随机数或0,表示数据源A有一些信任或没有信任。b)μ(t)表示在t时刻时,时间衰减系数。当对于数据源A在t时刻与t‑1时刻时,若可信度相同,则就对它加以时间衰减惩罚。取值范围0≤μ(t)<1。c)λ(t)表示在t时刻时,本模型对数据源的可信度的惩罚系数。d)ΔTrust(A,t)表示在t时刻时,对于数据源A的信任值在t与t‑1时刻的差值。ΔTrust(A,t)=Trust(A,t)‑Trust(A,t‑1)。e)Trust(data<sub>a</sub>,t)表示在t时刻时,对数据data<sub>a</sub>的信任度。f)Sum(Data(A))表示求数据源A提供数据的总数量。g)γ<sub>n</sub>表示在可信网络中,以所求信任值的数据源为圆心,每一层对目标数据源(圆心数据源)信任权重。它是一个1*n维向量,第一个元素的值为第一层对圆心数据源的信任权重,以此类推,每个向量元素为所对应层次的信任权重,且权重值是个常数,根据专家设定,由内向外逐层递减,取值范围[0,1]之间。h)Recommend<sub>n</sub>(A,t)表示在t时刻时,每层数据源对目标数据源(圆心数据源)A的推荐可信度,其中它是一个n×1维向量,第一个元素的值为第一层所有数据源对目标数据源(圆心数据源)A的推荐可信度期望值,以此类推,每个向量元素为所对应层次的推荐可信度期望值。一般层数是根据精确度和需求设置的,层数越大,计算量越大,相应的得到的数据就越准确。i.第i层的某个数据源对目标数据源(圆心数据源)A的推荐可信度计算公式,如公式5所示:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>Re</mi><mi>c</mi><mi>o</mi><mi>m</mi><mi>m</mi><mi>e</mi><mi>n</mi><mi>d</mi><mrow><mo>(</mo><msub><mi>X</mi><mi>i</mi></msub><mo>,</mo><mi>A</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mi>T</mi><mi>r</mi><mi>u</mi><mi>s</mi><mi>t</mi><mrow><mo>(</mo><msub><mi>X</mi><mi>i</mi></msub><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><msub><mi>Trust</mi><msub><mi>X</mi><mi>i</mi></msub></msub><mrow><mo>(</mo><msup><mi>Neighbor</mi><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow></msup><mo>(</mo><mrow><msub><mi>X</mi><mi>i</mi></msub><mo>-</mo><mo>&gt;</mo><mi>A</mi></mrow><mo>)</mo><mo>,</mo><mi>t</mi><mo>)</mo></mrow></mrow>]]></math><img file="FSA0000121630310000032.GIF" wi="1212" he="54" /></maths>    公式(5)其中,X<sub>i</sub>表示第i层数据源X,Neighbor<sup>max</sup>(X<sub>i</sub>‑>A)表示朝向A的方向上,第i‑1层上与X<sub>i</sub>相邻的可信度最大的数据源。ii.第i层的所有数据源对目标数据源(圆心数据源)A的推荐可信度期望值为<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>Re</mi><mi>c</mi><mi>o</mi><mi>m</mi><mi>m</mi><mi>e</mi><mi>n</mi><mi>d</mi><msub><mrow><mo>(</mo><mi>A</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></msub><mo>=</mo><mfrac><mrow><munder><mo>&Sigma;</mo><mrow><mi>X</mi><mo>&Element;</mo><msub><mi>Circle</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>A</mi><mo>)</mo></mrow></mrow></munder><mi>Re</mi><mi>c</mi><mi>o</mi><mi>m</mi><mi>m</mi><mi>e</mi><mi>n</mi><mi>d</mi><mrow><mo>(</mo><mi>X</mi><mo>,</mo><mi>A</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow></mrow><mrow><mi>S</mi><mi>u</mi><mi>m</mi><mrow><mo>(</mo><msub><mi>Circle</mi><mi>i</mi></msub><mo>(</mo><mi>A</mi><mo>)</mo><mo>)</mo></mrow></mrow></mfrac></mrow>]]></math><img file="FSA0000121630310000041.GIF" wi="993" he="176" /></maths>其中,Circle<sub>i</sub>(A)表示在可信网络中,以A为圆心的第i层上的所有数据源,Sum(Circle<sub>i</sub>(A))表示第i层上的所有数据源的数量。步骤6:计算直接可信度。数据源对所提供的数据的直接可信度值就是数据源在整个可信网络中自身的可信度值,如公式6所示:DirTrust(A,data,t)=Trust(A,t)     公式(6)步骤7:计算间接可信度。计算与数据源相邻接有限的n个可信度高的数据源组合成这条数据真实的推荐可信度,即数据源A对数据data的间接可信度计算,如公式7所示:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mi>I</mi><mi>n</mi><mi>D</mi><mi>i</mi><mi>r</mi><mi>T</mi><mi>r</mi><mi>u</mi><mi>s</mi><mi>t</mi><mrow><mo>(</mo><mi>A</mi><mo>,</mo><mi>d</mi><mi>a</mi><mi>t</mi><mi>a</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><munder><mo>&Sigma;</mo><mrow><mi>X</mi><mo>&Element;</mo><msub><mi>Neighbor</mi><mi>n</mi></msub><mrow><mo>(</mo><mi>A</mi><mo>)</mo></mrow></mrow></munder><mi>T</mi><mi>r</mi><mi>u</mi><mi>s</mi><mi>t</mi><mrow><mo>(</mo><mi>A</mi><mo>,</mo><mi>X</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>T</mi><mi>r</mi><mi>u</mi><mi>s</mi><mi>t</mi><mrow><mo>(</mo><mi>X</mi><mo>,</mo><mi>d</mi><mi>a</mi><mi>t</mi><mi>a</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow></mrow><mi>n</mi></mfrac></mrow>]]></math><img file="FSA0000121630310000042.GIF" wi="1253" he="163" /></maths>    公式(7)其中,Neighbor<sub>n</sub>(A)与A相邻的可信度高的n个数据源。步骤8:计算数据源对数据的可信度。一个数据源对所提供的某条数据真实的可信度计算公式,即数据源A对数据data的可信度计算,如公式8所示:Trust(A,data,t)=α·DirTrust(A,data,t)+β·InDirTrust(A,data,t)     公式(8)其中,α+β=1。步骤9:计算数据的可信度。计算方法是求所有的直接提供这条数据的数据源或有直接关系的数据源在历史记录中都提供不可靠数据的对立事件的概率,即对数据data的可信度计算,如公式9所示:<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mi>T</mi><mi>r</mi><mi>u</mi><mi>s</mi><mi>t</mi><mrow><mo>(</mo><mi>d</mi><mi>a</mi><mi>t</mi><mi>a</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mn>1</mn><mo>-</mo><munder><mo>&Pi;</mo><mrow><mi>d</mi><mi>a</mi><mi>t</mi><mi>a</mi><mo>&Element;</mo><mi>D</mi><mi>a</mi><mi>t</mi><mi>a</mi><mrow><mo>(</mo><mi>X</mi><mo>)</mo></mrow></mrow></munder><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>T</mi><mi>r</mi><mi>u</mi><mi>s</mi><mi>t</mi><mo>(</mo><mrow><mi>X</mi><mo>,</mo><mi>d</mi><mi>a</mi><mi>t</mi><mi>a</mi><mo>,</mo><mi>t</mi></mrow><mo>)</mo><mo>)</mo></mrow></mrow>]]></math><img file="FSA0000121630310000043.GIF" wi="921" he="105" /></maths>      公式(9)本发明步骤1‑9是在不断反复迭代计算的,如果需要查看某一时刻数据的可信度状态,可以采用数据快照的方式查看。
地址 071003 河北省保定市永华北大街619号