More Related Content
Similar to パーソナル履歴データに対する匿名化と再識別:SCIS2017 (20)
More from Hiroshi Nakagawa (20)
パーソナル履歴データに対する匿名化と再識別:SCIS2017
- 18. 有用性指標:cmae 詳細は2D1-1, 2D1-2
• 性別と国籍によって顧客をクラスタ化
– クラスタ全体を{C}. Cの部分集合をs, 置換をp
– 購買履歴データT内でクラスタsに含まれる顧客に対
応する部分をT|s, Tのj番目のレコードをtj
クラスタ内平均単価:𝜇 𝑢𝑝 𝑇|𝑠 =
𝑡 𝑗
単価∙𝑡 𝑗
個数𝑡𝑗∈𝑇|𝑠
𝑡 𝑗
個数
𝑡𝑗∈𝑇|𝑠
絶対値誤差の全クラスタでの平均値:
𝑐𝑚𝑎𝑒 𝑀, 𝑀′, 𝑇, 𝑇′ =
𝜇 𝑢𝑝 𝑇|𝑠 − 𝜇 𝑢𝑝 𝑇′|𝑠
|𝐶|𝑠∈𝐶
- 20. 有用性指標:ut-jaccard
• 顧客𝑐𝑖がTで購入している商品集合:𝑆 𝑇, 𝑖
• 顧客𝑐𝑖がT’で購入している商品集合:𝑆 𝑇′, 𝑖
• Jaccard係数:
𝑑 𝑆 𝑇, 𝑖 , 𝑆 𝑇′, 𝑖 = 1 −
𝑆 𝑇, 𝑖 ∩ 𝑆 𝑇′, 𝑖
𝑆 𝑇, 𝑖 ∪ 𝑆 𝑇′, 𝑖
• 𝑑の𝑀における総和:
𝑢𝑡 − 𝑗𝑎𝑐𝑐𝑎𝑟𝑑 𝑀, 𝑀′
, 𝑇, 𝑇′
, 𝑝
=
1
𝑛′
𝑑 𝑆 𝑇, 𝑖 , 𝑆 𝑇′, 𝑖
𝑛′
𝑖=1
𝑛′
は𝑀′中のレコード数
- 21. 有用性指標:RFM
• RFM(M, M', T, T’)
• M, M'の顧客を、それぞれT, T'の
– Recency (最後の購買日),
– Frequency(購買頻度),
– Monetary (購買額)
• の3つの条件でクラス分けした顧客数の二乗
平均平方根誤差を(最大値で割ることで0~1
に)正規化した値
- 23. • 性別と国籍が同じクラスタ内で仮ID入れ替えをし
ていれば、cmae は維持される。
• M,T ,M′,T ′ を知っている再識別側の攻撃者が
使うであろう方法
1. M,T から生年月日が1964/10/1 でapple を購買した
顧客が3456 であることが分かる
2. 攻撃者はM′,T ′ から仮ID =c が顧客ID=3456 に対応
すると考える.同様に,攻撃者は b ↔ 1234,a ↔
5678 という対応関係を予想し再識別する.
3. これらは正解の対応関係とは全て異なる
– 仮ID の入れ替えだけで組織的な再識別を防ぐことが
出来る.
- 24. • しかし,全顧客について仮ID を入れ替える匿
名化手法では ut-jaccard の値が大きくなり、
過加工となってしまう.
そこで,ut-jaccard の値を維持するように更に
匿名化手法を工夫して考える必要がある
そのような手法は ut-jaccard 維持する匿名化
手法への再識別手法 re-itemset に破られや
すい
re-itemset を想定した匿名化手法の開発が
必要
- 25. 有用性指標の条件と匿名化の枠組み
• 𝑠𝑢𝑏𝑠𝑒𝑡 ≤ 50000
and 𝑢𝑡 − 𝑗𝑎𝑐𝑐𝑎𝑟𝑑 ≤ 0.7 ∙ 𝑇の総レコード数
• ut-jaccard は厳しい条件
– 履歴データの値の大きな変更やレコードのシャッフルがで
きない
1. ut-jaccardの条件をぎりぎりで満たすような匿名化を目
指す。
2. 再識別側は、そのような匿名化処理をしてくることを前
提に再識別処理を工夫
3. 匿名化側は、そのような再識別処理をかいくぐるような
匿名化手法を開発
- 27. 有効な再識別手法:re-itemset
1. 𝑛′ ← 𝑀′
2. for{𝑖 = 1 𝑡𝑜 𝑛′}
3. 𝑞 𝑖 ← 𝑎𝑟𝑔𝑚𝑖𝑛 𝑗 𝑑 𝑆 𝑇, 𝑖 , 𝑆 𝑇′, 𝑖
4. end for
5. return 𝑄 = 𝑞 1 , ⋯ . 𝑞 𝑛′
このre-itemsetは事実上最も有効な再識別手
法となり,他チームの多くのデータに対して最
大識別数を記録した.
- 28. re-itemset 対策の概要
1. 顧客ci のS(T ; i) に近いS(T ; j) をもつ顧客cj をjaccard クラスタ とし
てまとめる この部分は重要なので後述
2. この処理後の顧客 cj のアイテム集合𝑆 𝑇′
, 𝑝−1
𝑗 が𝑆 𝑇, 𝑖 に
一致するように顧客cj のアイテムを変更する.
3. これにより,jaccard クラスタ 内の顧客の処理後のアイテム集合
は一致し,顧客間で区別できなくなる.
よって,re-itemset ではjaccard クラスタ内の顧客cj は全て顧客ci とし
て再識別される
各jaccard クラスタ で再識別される顧客を高々1 人(真の顧客ci)に
抑えることができる
つまり、できるだけjaccardクラスタ数を減らせればうれしい。
ただし、ut-jaccard<0.7 などの条件は満たさないといけない。
- 31. 想定される再識別率と本戦の結果
• 詳細は略すが、提案アルゴリズムは
• 𝑢𝑡 − 𝑗𝑎𝑐𝑐𝑎𝑟𝑑 = 𝑢𝑡 − 𝑗𝑎𝑐𝑐𝑎𝑟𝑑 𝑗𝑎𝑐𝑗𝑎𝑐
≤ 0.7 ∙ 𝑗𝑎𝑐 = 0.7 ∙𝑗𝑎𝑐 レコード数
• というut-jaccardの制約条件を満たす。
本戦では、400人(=レコード)の顧客を89個のjaccardクラスタにま
とめた。 このときのut-jaccardは0.699
よって、ut-jaccardを対象にした再識別手法では、90人以上再識別
されないはず もしクラスタ内の個人毎識別ができなければ
予想通り、本戦では再識別されたのは89人に留まっ
た!!!
- 35. Step 1
• クラスタと クラスタをランダムに移動し( )、
元のデータとの対応が着きにくくする。
• 水平方向の移動によってランダム化する。
• 水平方向の移動 有効性指標RFMのうち、購買
額がクラスタ内で変化しない
• 赤丸の一つが左に動いた場合、別の赤丸をそれと同
程度だけ逆方向すなわち右に動かす。青丸の同様で
ある。これによって、有効性指標RFMのうち購買個数
もクラスタ内で変化しないためである。
購
買
額
購買個数
購
買
額
購買個数
ランダム
化
- 36. Step 2
• 有用性指標の平均絶対値誤差cmaeを劣化させない
各クラスタにおいてクラスタ重心に傾き(=平均購
買額)が変化させない
• この条件でランダムに移動する。
• Step2では各顧客データ,移動するのは1 度のみとす
る。
• 未移動顧客の数が最小である未調整クラスタの全未
移動顧客を移動し,
• そのクラスタ平均を調整する作業も行う
購
買
額
購買個数
購
買
額
購買個数
ランダム
化
- 37. Step 3
• Step 2 で,T ′ において各顧客が満たすべき
購買総個数と購買総額を算出した.
• Step 3 ではこの制約を満たし,topitem,ut-
jaccard とsubset の有用性が落ちないようにT ′
を作成する.
• 詳細については省くが,Step 3 ではおおよそ
既に述べたut-jaccard 維持する匿名化処理
(個別データの値の変更)が行われる
- 38. まとめ
• 再識別フェーズではut-jaccard を軸にしたre-itemset のような再識別手法を考
えているチームが多かったらしい
• 筆者らの加工データは400 人のうち最大で89 人(22.25%)が再識別された
• このことは,既に述べたように匿名化時の予測に合致しており,ut-jaccard を
軸にした再識別手法の限界値が89 人である
• ただし,22.25% という値それ自体は
– 有用性指標の与え方
– 対象データベースの性質
• に強く依存
• 今回のコンテストの設定における参考値に過ぎない