基于差分隐私的相关性时间序列发布方法及系统与流程

文档序号:11134571阅读:805来源:国知局
基于差分隐私的相关性时间序列发布方法及系统与制造工艺

本发明涉及数据挖掘和隐私保护领域,更具体地,涉及一种基于差分隐私的相关性时间序列发布方法及系统,用于解决现有利用差分隐私机制发布相关性时间序列的方法中,面临的实际有效的隐私保护强度无法达到预设值及数据可用性较低的问题。



背景技术:

随着社会信息化的发展和移动终端设备的日益普及,产生了大量的时间序列数据(如医疗、金融、交通数据等),对于信息咨询组织、商业机构以及政府决策部门来说,为了对时间序列进行分析挖掘以获得有价值的信息,要求数据搜集者(个人、企业、政府等)将采集到的时间序列数据进行发布和共享。但时间序列数据中可能包含用户的敏感信息,数据搜集者出于隐私泄露的担忧不愿发布自身的时间序列数据,因此,如何在发布时间序列数据的同时保证用户的隐私不被泄露,是时间序列发布亟待解决的问题。

在目前的隐私保护方法中,能够较好地平衡数据安全性和可用性的是Dwork于2006年提出的差分隐私保护框架,它具有严格的数学公理化模型,并对攻击者的背景知识没有限制,是一种从数学上严格定义保护强度和数据可用性的隐私保护手段,在保证隐私安全性的同时能够较好的支持数据分析挖掘类应用,近年来成为隐私保护研究的热门领域。

差分隐私最初是为了解决由相互独立的数据构成的静态数据集的隐私泄露问题而提出的,通过对待保护数据加入独立的噪声来保护隐私。因此,最初基于差分隐私的时间序列发布算法,也都是将时间序列作为独立序列来处理,通过对待发布时间序列叠加独立的噪声序列来保护隐私。但实际应用产生的绝大多数时间序列的数据之间是非独立的(具有相关性),这会导致最初的这些算法加入的独立噪声序列的相关特性与待发布时间序列的相关特性不同,那么攻击者就可以利用滤波等求精手段过滤掉一部分噪声,而噪声水平的降低会使得实际有效的隐私保护强度低于预设值。因此,最初的这些差分隐私保护算法不能直接应用于相关性时间序列发布。

为了弥补上述缺陷,使差分隐私机制适用于相关性时间序列的发布,目前的研究者们主要从相关性建模和数据变换两个角度进行改进。相关性建模方面,当前主要从建立相关性处理模型出发,提出利用马尔可夫模型、贝叶斯模型、相关系数矩阵模型等表示序列的相关性,将模型中的参数作为权重计算差分隐私的全局敏感度函数,并根据全局敏感度函数和设定的隐私保护强度设计噪声;基于数据变换的方式中,主要是将相关性序列变换为独立序列进行处理,如朱天庆等提出了DLPA机制,利用傅立叶变换将相关性时间序列变换为独立的序列,在变换系数中加入噪声并进行反变换,最后发布反变换后的时间序列。在这两类方法中,相关性建模的方式能够较为准确的描述数据之间的相关性,但差分隐私的噪声大小与全局敏感度函数正相关,将相关系数作为权重计算全局敏感度函数会导致噪声增大,从而导致数据可用性降低;而数据变换的方式在相同隐私保护强度下,虽然加入的噪声较少,可以保证较高的数据可用性,但加入的噪声序列与待发布序列的相关特性不一致,仍然面临实际有效的隐私保护强度无法达到预设值的问题。因此,现有的方法并没有彻底解决相关性时间序列的差分隐私发布问题,仍然面临发布序列的数据可用性较低及实际有效的隐私保护强度无法达到预设值的问题。



技术实现要素:

针对现有方法的缺陷和不足,本发明提出一种相关性时间序列的差分隐私发布技术方案,通过构造与待发布原始序列相关性一致的噪声序列,叠加到原始序列中,可以防止攻击者利用相关性背景知识发起的攻击,确保设定的隐私保护强度在实际当中是有效的,同时不会增加噪声大小,从而解决利用差分隐私保护机制进行相关性时间序列发布时,面临的实际有效的隐私保护强度无法达到预设值及数据可用性较低的问题。

本发明技术方案提供一种基于差分隐私的相关性时间序列发布方法,包括以下步骤,

步骤S1,数据预处理,包括读入待保护的原始时间序列X,总长度记为n;利用预设长度l的观测窗口从原始时间序列X的第i个时刻开始提取数据,得到当前待处理的时间序列,记为W,W={xi,xi+1,…,xi+l-1},数据xi∈X;令i=1;

步骤S2,自相关函数计算,包括计算观测窗口内时间序列W的自相关函数如下式,

其中,为观测窗口序列中原始数据的均值;

步骤S3,噪声生成,包括生成长度为l,自相关函数为的拉普拉斯噪声序列Z;包括以下子步骤,

步骤S3-1,设定滤波器的冲激响应为

其中,N0是生成拉普拉斯噪声所需的高斯白噪声的功率谱密度;

步骤S3-2,生成长度为l,功率谱密度为N0的4个高斯白噪声序列G1、G2、G3和G4,其中高斯白噪声的分布满足

步骤S3-3,将高斯白噪声序列G1、G2、G3和G4通过冲激响应为h(n)的滤波器,得到4个自相关函数为RG′(n)的相关性高斯噪声序列G1′、G2′、G3′和G4′,其中

步骤S3-4,计算得到特定相关性的拉普拉斯噪声序列Z,Z的自相关函数

步骤S4,噪声加入,包括根据自相关函数为的拉普拉斯噪声序列Z中的噪音数据,对观测窗口内未处理的数据叠加相应的噪音数据,计算W′=W+Z;

步骤S5,迭代处理,包括向后滑动观测窗口,依次从原始时间序列X取下一时间序列,作为新的当前待处理的时间序列W,返回步骤S2,对观测窗口内未处理的数据加入噪声,得到含有噪声的子序列;直至待保护时间序列处理完毕,进入步骤S6;

步骤S6,数据发布,包括发布经过加噪处理后的待保护时间序列。

而且,步骤S3-1中,λ是拉普拉斯噪声的尺度函数,计算方式为λ=Δf/ε,其中Δf是差分隐私的查询敏感度函数,ε是差分隐私保护强度

而且,步骤S5向后滑动观测窗口时,令i=i+l。

或者,步骤S5向后滑动观测窗口时,令i=i+t,1≤t≤l-1。

本发明提供一种基于差分隐私的相关性时间序列发布系统,包括以下模块,

数据预处理模块,用于读入待保护的原始时间序列X,总长度记为n;利用预设长度l的观测窗口从原始时间序列X的第i个时刻开始提取数据,得到当前待处理的时间序列,记为W,W={xi,xi+1,…,xi+l-1},数据xi∈X;令i=1;

自相关函数计算模块,用于计算观测窗口内时间序列W的自相关函数如下式,

其中,为观测窗口序列中原始数据的均值;

噪声生成模块,用于生成长度为l,自相关函数为的拉普拉斯噪声序列Z;包括以下子单元,

第一单元,用于设定滤波器的冲激响应为

其中,N0是生成拉普拉斯噪声所需的高斯白噪声的功率谱密度;

第二单元,用于生成长度为l,功率谱密度为N0的4个高斯白噪声序列G1、G2、G3和G4,其中高斯白噪声的分布满足

第三单元,用于将高斯白噪声序列G1、G2、G3和G4通过冲激响应为h(n)的滤波器,得到4个自相关函数为RG′(n)的相关性高斯噪声序列G1′、G2′、G3′和G4′,其中第四单元,用于计算得到特定相关性的拉普拉斯噪声序列Z,Z的自相关函数

噪声加入模块,用于根据自相关函数为的拉普拉斯噪声序列Z中的噪音数据,对观测窗口内未处理的数据叠加相应的噪音数据,计算W′=W+Z;

迭代处理模块,用于向后滑动观测窗口,依次从原始时间序列X取下一时间序列,作为新的当前待处理的时间序列W,命令自相关函数计算模块工作,对观测窗口内未处理的数据加入噪声,得到含有噪声的子序列;直至待保护时间序列处理完毕,命令数据发布模块工作;

数据发布模块,用于包括发布经过加噪处理后的待保护时间序列。

而且,第一单元中,λ是拉普拉斯噪声的尺度函数,计算方式为λ=Δf/ε,其中Δf是差分隐私的查询敏感度函数,ε是差分隐私保护强度

而且,迭代处理模块向后滑动观测窗口时,令i=i+l。

或者,迭代处理模块向后滑动观测窗口时,令i=i+t,1≤t≤l-1。

本发明利用滑动观测窗口将相关性时间序列分成子序列段,每个子序列段作为短时平稳过程处理,在每个观测窗口内生成与观测序列自相关函数相同的拉普拉斯噪声序列,并将噪声序列叠加到观测序列中,待所有子序列处理完毕后,发布带有噪声的总时间序列。与现有技术相比,具有以下有益效果:

(1)噪声序列的相关性和待保护原始序列的相关性一致,可以防止攻击者利用相关性不同的背景知识发起的滤波攻击,保证预设的隐私保护强度实际有效;

(2)利用滑动窗口将相关性时间序列分段,每段作为短时平稳过程处理,可以支持无限长度的相关性时间序列的差分隐私发布;

(3)本发明的实施过程及步骤,包括滑动窗口的运用、自相关函数的生成方式等,降低了计算复杂度,系统资源占用低,便于高效实施,具有重要的市场价值。

附图说明

图1是本发明实施例提供的总体方法流程图。

图2是本发明实施例提供的发布系统总体示意图。

图3是本发明实施例提供的具体步骤流程图。

具体实施方式

以下将结合附图及实施例,对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。

本发明提出一种基于差分隐私的相关性时间序列发布方法。由于时间序列在特定长度的观测窗口内可以看作短时平稳过程,且平稳过程的自相关函数反映了序列内数据的相关性,因此,本发明通过设定特定长度的观测窗口,将待发布原始序列分段,并将观测窗口内的子序列段作为短时平稳过程处理,并加入与观测窗口内的子序列段自相关函数一致(即相关性一致)的噪声序列,来保护待发布的时间序列。

下面以某个公司最近10年每天的交易流水金额组成的时间序列为例,来阐述本发明的具体实施步骤,目标是发布由交易流水金额组成的时间序列给第三方金融咨询机构,以获得财务改进建议,同时保证发布的时间序列不能泄露每天交易流水的具体金额。记待发布时间序列为X,已知X包含3650个离散采样点。

本发明技术方案所提供方法可采用计算机软件技术实现自动运行流程,图1和图2分别是本发明实施例的总体方法流程图和原理示意图,参见图1和图2,结合图3中本发明实施例的具体步骤流程图,本发明给定相关性的拉普拉斯噪声生成方法的实施例具体步骤包括:

步骤S1:数据预处理。读入待保护原始时间序列中的数据,利用预设长度的观测窗口将原始时间序列分段,每个分段子序列作为短时平稳过程处理。

实施例中,待保护原始时间序列为某个公司最近10年每天的交易流水金额组成的时间序列X,包含3650个离散采样点,具体实施时观测窗口的长度可由本领域技术人员根据时间序列的总长度自行设定(例如实施例设置为50),具体实现如下,

步骤S1-1,读入待保护原始时间序列X中的数据,总长度记为n;

实施例中,待发布序列X的总长度n=3650。

步骤S1-2,设定一个观测窗口,大小为l,从待发布时间序列的第i个时刻开始(首次执行步骤S1-2时i=1),读入长度为l的当前待处理的时间序列,记为W,W={xi,xi+1,…,xi+l-1},数据xi∈X,1≤i≤n-l;

实施例中,观测窗口大小l=50,从待发布序列X的第1个时刻开始读取50个数据,记为W,W={x1,x2,…,x50}。

步骤S2,自相关函数计算。计算观测窗口内时间序列W的自相关函数自相关函数的计算方式为:

其中,为观测窗口序列中原始数据的均值;

实施例中,观测窗口内序列的自相关函数计算方式为:

其中,

步骤S3,噪声生成。生成长度为l,自相关函数为的拉普拉斯噪声序列Z。

实施例中,生成长度为50,自相关函数为的拉普拉斯噪声序列Z,具体实现如下,

步骤S3-1,根据观测窗口内序列的自相关函数设计相应的滤波器,滤波器的冲激响应为其中N0是生成拉普拉斯噪声所需的高斯白噪声的功率谱密度,λ是拉普拉斯噪声的尺度函数,计算方式为λ=Δf/ε,其中Δf是差分隐私的查询敏感度函数,ε是差分隐私保护强度;

实施例中,滤波器的冲激响应为

步骤S3-2,生成长度为l(实施例为50),功率谱密度为N0的4个高斯白噪声序列G1、G2、G3和G4,其中高斯白噪声的分布满足

步骤S3-3,将高斯白噪声序列G1、G2、G3和G4通过冲激响应为h(n)的滤波器,得到4个自相关函数为RG′(n)的相关性高斯噪声序列G1′、G2′、G3′和G4′,其中

实施例中,得到G1′,G2′,G3′,G4′的自相关函数为

步骤S3-4,计算得到特定相关性的拉普拉斯噪声序列Z,Z的自相关函数长度为l。

实施例中,计算得到噪声序列Z的自相关函数

步骤S4,噪声加入,根据自相关函数为的拉普拉斯噪声序列Z中的噪音数据,对观测窗口内未处理的数据叠加相应的噪音数据,计算W′=W+Z。

首次执行S4时将长度为50,自相关函数为的拉普拉斯噪声序列Z中的数据依次叠加到观测窗口内的原始数据中,计算X′=X+Z;后续执行S4时,如果窗户是不相交滑动,仍然是依次叠加50位噪音数据,如果是相交滑动,只对观测窗口内未处理的数据叠加相应的噪音数据。

步骤S5,迭代处理。向后滑动观测窗口,依次从原始时间序列X,取下一时间序列,作为新的当前待处理的时间序列,即更新为W,根据新的当前待处理的时间序列,返回步骤S2,通过重复步骤S2~S4,对当前观测窗口内的50个数据加入噪声,得到含有噪声的子序列;直至待保护时间序列处理完毕,进入步骤S6。

具体实现可设计为如下子步骤,

步骤S5-1,向后滑动观测窗口,从原始时间序列X读入50个数据;

实施例中,窗口的滑动方式可以有相交和不相交两种,实施时可由本领域技术人员根据时间序列的相关特性自行选择滑动方式,不相交移动的处理速度更快,但窗口间隔处可能会不连续,窗口间隔处的噪声可以被过滤掉,进而导致保护强度降低;相交移动处理速度较慢,但可以避免此类问题。

本实施例中,采用相交的滑动方式。另外,如果采用的是相交的滑动方式,相交的数据个数可由本领域技术人员根据经验自行设定,令i=i+t,1≤t≤l-1。本实施例中,相交的数据个数t设定为25。即第一次取W={x1,x2,…,x50},第二次取W={x26,x27,…,x75}…每次滑动时令i=i+25,依次类推。

不相交时,令i=i+l即可。

步骤S5-2,重复步骤S2~S4,对观测窗口内的50个数据加入噪声,得到含有噪声的子序列;

实施例中,如果采用的是相交的滑动窗口方式,只需对新的观测窗口内未加入噪声的原始序列叠加对应的噪声,已经加入过噪声部分的序列不做处理,本实施例中,只对滑动窗口的后半部分的25个数据叠加生成的拉普拉斯噪声,前半部分不做处理。

步骤S5-3,重复步骤S5-1~S5-2,直至待保护时间序列处理完毕。具体实施时,可以判断待保护时间序列是否处理完毕,是则结束迭代进入S6,否则滑动窗口后返回步骤S5-1。

实施例中,每次向后滑动50个数据,将这50个数据作为新的观测窗口,每次处理时,计算这50个数据的自相关函数,生成与这50个数据的自相关函数相同的拉普拉斯噪声序列,将噪声序列的后半部分的25个噪声数据叠加到观测窗口的后半部分25个原始数据中,直至待发布时间序列处理完毕。

步骤S6,数据发布。发布经过加噪处理后的待保护时间序列。

实施例中,发布的是叠加噪声后的公司最近10年每天的交易流水金额组成的时间序列,共包含3650个离散采样值。实现从用户到数据分析者的数据变换。

具体实施时,本发明所提供方法可基于软件技术实现自动运行流程,也可采用模块化方式实现相应系统。

本发明实施例还提供一种基于差分隐私的相关性时间序列发布系统,包括以下模块,

数据预处理模块,用于读入待保护的原始时间序列X,总长度记为n;利用预设长度l的观测窗口从原始时间序列X的第i个时刻开始提取数据,得到当前待处理的时间序列,记为W,W={xi,xi+1,…,xi+l-1},数据xi∈X;令i=1;

自相关函数计算模块,用于计算观测窗口内时间序列W的自相关函数如下式,

其中,为观测窗口序列中原始数据的均值;

噪声生成模块,用于生成长度为l,自相关函数为的拉普拉斯噪声序列Z;包括以下子单元,

第一单元,用于设定滤波器的冲激响应为

其中,N0是生成拉普拉斯噪声所需的高斯白噪声的功率谱密度;

第二单元,用于生成长度为l,功率谱密度为N0的4个高斯白噪声序列G1、G2、G3和G4,其中高斯白噪声的分布满足

第三单元,用于将高斯白噪声序列G1、G2、G3和G4通过冲激响应为h(n)的滤波器,得到4个自相关函数为RG′(n)的相关性高斯噪声序列G1′、G2′、G3′和G4′,其中第四单元,用于计算得到特定相关性的拉普拉斯噪声序列Z,Z的自相关函数

噪声加入模块,用于根据自相关函数为的拉普拉斯噪声序列Z中的噪音数据,对观测窗口内未处理的数据叠加相应的噪音数据,计算W′=W+Z;

迭代处理模块,用于向后滑动观测窗口,依次从原始时间序列X取下一时间序列,作为新的当前待处理的时间序列W,命令自相关函数计算模块工作,对观测窗口内未处理的数据加入噪声,得到含有噪声的子序列;直至待保护时间序列处理完毕,命令数据发布模块工作;

数据发布模块,用于包括发布经过加噪处理后的待保护时间序列。

各模块具体实现可参见相应步骤,本发明不予赘述。

本发明提供了本领域技术人员能够实现的技术方案。以上实施例仅供说明本发明之用,而非对本发明的限制,有关技术领域的技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变换或变型,因此所有等同的技术方案,都落入本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1