Stateful Switch: Optimized Time Series Release with Local Differential Privacy

81 阅读7分钟

INTRODUCTION

在大数据时代,连续数据,即按时间顺序排列的值序列(又称时间序列),在现实世界中有许多应用。其中,许多时间序列是从个人收集的,例如远程护理中的生物传感器、智能家居中的物联网传感器以及COVID-19大流行中的移动跟踪轨迹。直接向公众发布可能会导致隐私侵犯。例如,Apple Watch 的定期心率读数可能会揭示其所有者的日常活动,例如睡觉、坐着或行走。

为了解决这个问题,人们提出了许多保护隐私的时间序列发布技术],其中大多数基于差分隐私,无论是集中式还是本地式设置。然而,所有这些工作都是值扰动机制,即它们扰动每个时间戳处的值,以便无法以高置信度推断出任何时间戳处的值。不幸的是,在医疗和金融应用中,这种机制不起作用,因为扭曲的值是无用的,甚至是有害的,例如心电图/血压读数和股票交易价格。

我们最近的工作提出通过扰乱时间序列的时间顺序来缓解这个问题。隐私模型,即时间设置中的本地差分隐私(TLDP),保证对手无法以高置信度推断出某个值的原始时间戳。由于时间扰动不会向值注入任何噪声,因此可以显著提高大多数时间序列统计数据(例如移动平均值、范围计数)和操作(例如窗口平滑、重采样)的准确性。以下是医疗或金融领域之外的具体示例。

PROBLEM DEFINITION AND PRELIMINARIES

问题定义

在本文中,我们将时间序列定义为离散时域T={t1,t2,...,tn,...}T=\{t_{1},t_{2},...,t_{n},...\}中值S={S1,S2,...,Sn,...}S=\{S_{1},S_{2},...,S_{n},...\}的无限序列。我们的任务是在局部差分保密的情况下,从原始时间序列 S 中发布出经过处理的时间序列R={R1,R2,...,Rn,...}R=\{R_{1},R_{2},...,R_{n},...\}、与文献[45]一样,我们的目标是最小化因RRSS之间每个值的缺失、重复、空和错位而产生的集体成本。具体来说,当SS中的一个值在RR中被遗漏时,就会产生遗漏成本,其单位为 M;当一个值在 S 中被重复一次时,就会产生重复成本,其单位为 N;当 R 中的一个时间戳没有被任何值填满,从而导致缺省时,就会产生空成本,其单位为 E;最后,当一个值在较早或延迟的时间戳被释放时,就会产生错位成本,错位的一个时间戳的单位成本为 D

现有的时间序列值扰动 LDP 机制

定义 2.1:((ϵ,δ)(\epsilon,\delta)-LDP) 给定隐私参数 ϵ\epsilonδ\delta ,随机算法 A\mathcal{A} 满足((ϵ,δ)(\epsilon,\delta)-LDP)如果对于任意两个相邻时间序列SSSS',以及 A\mathcal{A} 的任意可能输出 RR ,下面的不等式成立:
Pr(A(S)=R)eϵPr(A(S)=R)+δ\mathrm{Pr}(\mathcal{A}(S)=R)\leq e^{\epsilon}\cdot\mathrm{Pr}(\mathcal{A}(S')=R)+\delta

时空背景下的局部差分隐私(TLDP)

定义 2.2:(相邻时间序列)如果存在两个时间戳 titjt_{i}\neq t_{j},且满足以下条件,则两个时间序列 SSSS' 是相邻的

  1. ij<k|i-j|<k
  2. Si=SjS_{i}=S_{j}^{\prime}Sj=SiS_{j}=S_{i}^{\prime}
  3. 对于任何其他时间戳tl(li,j),Sl=Slt_{l}(l\neq i,j),S_{l}=S_{l}^{\prime}

在上述定义中,k 是时间滑动窗口的长度,是一个额外的隐私参数。k 越大,数值对用户保持敏感的时间就越长。例如,如果把 k 设为 24 小时,智能手表用户就可以确信所发布的心率读数可能来自当天的任何时间;但如果把 k 设为 1 小时,"可否认性 "就缩短为 1 小时,可能不足以保护用户的隐私。根据定义 2.2,时间设置中的局部差分隐私(又称((ϵ,δ)(\epsilon,\delta)-LDP))定义如下。
定义 2.3:((ϵ,δ)(\epsilon,\delta)-TLDP)给定隐私参数 ϵ\epsilonδ\delta ,如果对于任意两个相邻(在长度为 k 的窗口中)时间序列SSSS',以及 A 的任意可能输出 R,下面的不等式成立,则随机算法 A 满足((ϵ,δ)(\epsilon,\delta)-LDP):

image.png

TLDP 的隐私程度由 ϵ\epsilonδ\deltakk 控制。

SWITCH OPERATION AND RANSWITCH MECHANISM

在本节中,我们首先定义了时间扰动的switch操作,并在此基础上提出了满足((ϵ,δ)(\epsilon,\delta)-TLDP) 的基准机制 RanSwitch 及其扰动协议,以及隐私和效用分析。

Switch Operation

定义 3.1:(Switch Operation)给定长度为 k 的滑动窗口,切换操作SiSjS_{i}\Leftrightarrow S_{j}交换 R 中的两个值 Si 和 Sj,即 Rj = Si 和 Ri = Sj,其中 0 ≤ i - j < k。

RanSwitch: 基准机制

对于一个时间序列S={S1,S2,...,Sn,...}S=\{S_{1},S_{2},...,S_{n},...\},在每个时间点 tit_i 处,RanSwitch 根据以下扰动概率分布,在滑动窗口 {ti,ti+1,...,ti+k1}\{t_{i},t_{i+1},...,t_{i+k-1}\} 中随机选择一个时间点 tjt_j

image.png
然后对 Si 和 Sj 值进行切换操作。这里 p 表示选择当前时间戳(即保留 Si)的概率,而 q 是选择其他 k-1 个时间戳之一的概率,p+(k1)q=1p+ (k-1)q = 1。RanSwitch 机制的伪代码如算法 1 所示。Si 最终可能被分配到 k - 1 个后向时间戳 {tik+1,tik+2,...,ti1}\{t_{i-k+1},t_{i-k+2},...,t_{i-1}\}、当前时间戳 tit_i 或前向时间戳 {ti+1,ti+2,...}\{t_{i+1},t_{i+2},...\} 中的一个。

image.png

Allocating Probability Distribution in RanSwitch

定理 3.2: 对于 1 - k ≤ j ≤ k - 1,RanSwitch 机制的分配概率分布为

image.png

Privacy Analysis of RanSwitch

基于定理 3.2,下面的定理证明了 RanSwitch 满足 ((ϵ,δ)(\epsilon,\delta)-LDP) 条件。

定理 3.3: 给定长度为 k 的滑动窗口以及概率 p 和 q,机制 RanSwitch 满足 ((ϵ,δ)(\epsilon,\delta)-LDP) ,其中 ϵ=lnp2(1q)2(k1)qq2(1q)2(k1)\epsilon=\ln\frac{p^{2}(1-q)^{2(k-1)}-q}{q^{2}(1-q)^{2(k-1)}}δ=qδ = q

Utility Analysis of RanSwitch

在Switch Operation中,有四种成本共同决定了时间扰动方法的效用。幸运的是,RanSwitch 机制只涉及错位成本,因为不存在缺失值、空值或重复值。因此,总成本 E[C]\mathbb{E}[C] 的期望值为
E[C]=Dj=1k1jPj+Dj=1jPj(7)\mathbb{E}[C]=-D\sum_{j=1-k}^{-1}j\mathcal{P}_j+D\sum_{j=1}^{\infty}j\mathcal{P}_j\quad(7)

请注意,第二项意味着(前向)错位时间戳 j 的计数跨度从 1 到 \infty 。由于前两个滑动窗口(即 1 - k ≤ j ≤ k - 1)在总成本中占主导地位,我们可以得出其下限为

image.png

staswitch:一种具有状态交换功能的机制

RanSwitch 高错位成本的根本原因在于通过多次切换操作反复延迟一个值。例如,时间戳 ti 上的一个值首先被前向切换为 ti+j ,然后又被切换为 ti+j+l,如此反复。为了降低这一成本,我们在本节中提出了 StaSwitch 方案,它可以跟踪每个值的切换状态,并保证其最终分配的时间戳仍在初始滑动窗口内。也就是说,如果一个值从未被延迟过,它的分配空间可以是整个滑动窗口;否则,对于一个已经延迟了 l(l < k)个时间戳的值,它的新分配空间仅限于滑动窗口的前 k - l 个时间戳。

A. Perturbation Protocol of StaSwitch

给定长度为 k 的滑动窗口,对于每个值 Si,StaSwitch 机制最多允许 k - 1 个时间戳延迟。为保证这一点,在时间戳 ti 处,StaSwitch 会根据公式 9 中的扰动概率分布,在滑动窗口 {ti+1,ti+2,...}\{t_{i+1},t_{i+2},...\} 中随机选择一个时间戳 tj,然后切换 Si 和 Sj。

image.png

注意,b 表示 Si 被延迟的时间戳。如果 Si 值从未被延迟,则 b = 0,公式 9 将退化为 RanSwitch 机制的公式 3。否则,Si 不能被分配到 ti 滑动窗口中的最后 b 个时间戳 {tkb,...,tk1}\{t_{k-b},...,t_{k-1}\}。而它们的扰动概率(即 bqbq)会被 StaSwitch 回收并分配给 ti。因此,StaSwitch 保证每个值都能延迟到 k - 1 个时间戳。表 I 显示了 k = 4 时不同延迟时间戳 b 下的示例,每个单元格显示 Si 被分配给 ti+jt_{i+j} 的扰动概率。

image.png

image.png

算法 2 显示了 StaSwitch 机制的伪代码。除了向量 b 记录了每个值的当前延迟时间戳外,该过程与算法 1 类似。在每个时间戳 ti 处,从公式 9 中随机抽取一个索引 j(第 4 行),然后切换当前值 Si 和选中的值 Sj(第 5 行)。因此,Si 被延迟 j - i 个时间戳,所以 Sj 的延迟时间戳 bj 被递增 j - i 个(第 6 行)。最后,当前值 Si(即原始 Sj)被释放(第 7 行)。

image.png

B. Allocating Probability Distribution in StaSwitch

我们得出分配概率分布如下。首先,我们知道 P1-k 意味着 Sik+1S_{i-k+1} 选择了时间戳 ti,因此 Si 在 tik+1t_{i-k+1} 时被释放。因此 P1k=qk1\mathcal{P}_{1-k}=q_{k-1}。类似地,我们可以得出其他分配概率如下。对于任意 1jk11\leq j\leq k-1

image.png