为此,我们使用了另一个关键指标:自相关,它测量时间t中的事件与时间t — ∆发生的事件之间的关系,其中∆是时间滞后。为了测量关系,我们通过以下方式进行比较:
AC = i = 1T(Areali -Asynthetici)2 / i = 1T(Areali)2
以下是在实际数据和综合数据上花费的总金额(按天汇总)的自相关图。我们可以看到两者具有非常相似的模式。
这仅适用于数值数据。对于分类,我们可以使用相互信息。对于我们的数据,我们得到AC = 0.71
图11:银行交易数据集的真实数据和综合数据的自相关。
交通流量数据集
为了证明顺序数据生成器的功能,我们在另一个更具挑战性的数据集上进行了测试:Metro Interstate Traffic Volume Data Set。这是一个包含2012年至2018年每小时流量数据的数据集。正如我们在下图中看到的那样,该数据随着时间的推移相对一致,具有某些每日和每周的模式以及较大的每小时变化性。来自生成器的综合数据必须重现所有这些趋势。
图12:交通量(每小时车辆)的直方图。
下图包含第一个月(2012年10月)的流量,其每日模式可能非常复杂:
图14:2012年10月的每小时流量模式。每次下降都代表一天。周末在低流量模式中可见。
为了生成高质量的合成数据,网络必须预测正确的每日,每周,每月甚至每年的模式,因此长期相关性很重要。
图15:更多数据分布
在自相关方面,我们可以看到平滑的每日相关性-这很有意义,因为大多数流量具有对称行为。早晨的高强度与晚上的高强度相关。
图16:实际流量数据与生成的流量数据的自相关。对于更长的分支,合成数据的自相关开始偏离从真实数据获得的相关性
运行模型
在这种情况下,序列长度是固定的。为了准备数据,我们使用每月和每周数据的滑动窗口生成了50,000个序列。该数据集比以前的数据集要大得多,我们希望模型能够平稳运行而不会崩溃。
在这种情况下,我们还有更多的属性。有些是根据数据构建的,例如“星期几”和“月份”:
- 温度
- 雨
- 雪
- 云
- 其他天气情况
- 节日
- 一周中的week
- 月
作为功能,我们只有每小时的流量。由于我们要捕获具有最高粒度的变量,因此将所有数值离散化为20个bin,但将流量离散化为50个bin。该模型运行了200个轮次,批次大小为20,学习率与以前相同。
结果
图17包含一个真实的和生成的样本。我们可以看到,循环模式保持得很好,数据看起来很真实。
图17:500小时内的真实(顶部)和生成(底部)序列。该模型是无条件运行的。我们可以看到,综合数据很好地捕获了每日和每周的模式。
为了测试所生成数据的质量,我们提供一些指标—参见表2:
- 相似度-通过直方图和相互信息的重叠来衡量
- 自相关-超过30个时滞的实数与合成数之比
- 效果—用实数和合成数据训练时,通过预测误差的相对比率来衡量
我们使用带有自举的LSTM(长期短期记忆)模型作为基准。该LSTM模型由两层组成,每层包含100个神经元,并使用30小时的滑动窗口。这些属性是通过密集层添加的,并连接到网络的最后一个隐藏层。
从表2中可以看出,经过每周数据训练的DoppelGANger的性能相对较好,在引导技术方面表现出色。
表2:流量数据集的结果
我们添加了第三个指标,即顺序相互信息(SMI)。它正在评估包含T列的矩阵上的互信息,其中每列对应于之前的t,t-1,t-2,…t-T时间步长发生的事件,并平均属性子集。
我们应该注意,该模型可以以属性为条件,因此我们可以针对特定的天气条件或一周中的某天或某个月的某天生成样本。
差异隐私实验
在最初的工作中,作者通过众所周知的向鉴别器添加噪声并削减其梯度的技术(DPGAN)在模型中引入了差异隐私。
但是,他们发现,一旦隐私预算ε变得相对较小(意味着合成数据变得更安全,它也会开始失去质量)(通过相对于真实数据的时间一致性来衡量)。如果数据的最终用途是提取详细的时间信息,例如事件之间的因果关系,则这可能是一个主要问题。
基于有关PPGAN(隐私保护的生成对抗网络)的最新工作,我们对注入到鉴别器梯度的噪声进行了一些修改。瞬间的会计将隐私丢失问题视为一个随机变量,使用其瞬间生成函数来控制变量的密度分布。此属性使PPGAN模型训练更加稳定。当生成非常长的序列时,与DPGAN的区别特别明显。
噪声由以下表达式给出:
ɸ= f + N(0,σ2𝜍f2)
其中𝞷是两个相邻点x和x’对查询f的敏感度:
△f = maxf(x)-f(x’)2
该表达式表示,大多数信息点(最高灵敏度)将获得更多的噪声添加到渐变,因此不会影响其他点的质量。通过使用经过精心设计的噪声,我们能够在交通数据上保留88%的自相关,直到ε= 1。
结论
合成顺序数据生成是一个尚未完全解决的难题。通过上面介绍的测试,我们证明了GAN是解决此问题的有效方法。