実世界時系列データの生成モデル
3つの要点
✔️ 時系列データについての生成モデルの提案
✔️ AE-GANのファインチューニングが不要なモデルになっています
✔️ 欠損データがある場合にも、観測埋め込みとデコーダでの決定・生成アルゴリズムによりデータ生成が可能
Towards Generating Real-World Time Series Data
written by Hengzhi Pei, Kan Ren, Yuqing Yang, Chang Liu, Tao Qin, Dongsheng Li
(Submitted on 16 Nov 2021)
Comments: Accepted in 21th IEEE International Conference on Data Mining (ICDM 2021)
Subjects: Machine Learning (cs.LG); Artificial Intelligence (cs.AI)
code:
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
はじめに
センサーによって記録された時系列データは、ヘルスケア、農業、製造業、その他多くの分野でユビキタスになります。 ただし、これらのデータの多くは機密性が高く、たとえば患者の記録など、使用時にプライバシーやアクセシビリティの問題が発生する可能性があります。 最近、フォローアップ機械学習タスクなどのアプリケーション用の合成データを生成することは、有望なソリューションの1つになっています。 理論的な保証はありませんが、最近の研究により、生成されたデータはメンバーシップ推論攻撃、患者の再識別などに対して回復力があることが証明されました。さらに重要なことに、生成されたデータは匿名化/摂動法よりも有用性が高いことがよくあります。
現実的な時系列データの生成は困難な問題です。 優れた生成モデルは、各時点での多次元分布だけでなく、時間の経過に伴う時間的ダイナミクスも把握する必要があります。 さらに、合成時系列は、対応するグローバルな特徴、たとえば年齢などの静的な特徴や、臨床データの死亡率などの関心のあるラベルを反映する必要があります。 最近、Generative Adversarial Networks(GAN)とそのバリアントの成功により、リカレントニューラルネットワーク(RNN)を適用することにより、時系列データ生成用のGANフレームワークを拡張するのが自然です。 生成器と識別器、このパラダイムに従って、時系列データの生成問題を解決するためのいくつかの作業が提案されました。 ただし、これらの作業は通常、単純で適切にフォーマットされた時系列データの生成を対象としているため、実証研究で示されているように、実際の時系列データの生成には適用できない場合があります。
不完全な実世界の時系列データは、データ生成アルゴリズムに新たな課題をもたらします。 1)可変長の長いシーケンス:実世界の時系列データの長さは長く、変動し、場合によっては重要になる可能性があります。たとえば、生存分析などです。ただし、多くの既存の方法は、短い固定長の時系列でのみ評価され、長い可変長の時系列でのパフォーマンスは未踏のままです。 2)値欠落:欠落している値は、実際の時系列データでは非常に一般的です。死亡率予測の臨床データの例をFig. 1に示します。これらの欠落値は有益である可能性があります。たとえば、臨床データに欠落している値は、患者の状況と医師の決定を反映している可能性があります。そして、ますます多くの研究が、予測パフォーマンスを改善するために欠落しているパターンを利用することに焦点を合わせています。ただし、知る限り、既存の研究のいずれも、有益な欠測値を使用して時系列を生成することを検討していません。
この論文では、前述の課題に取り組むための新しい生成フレームワークである実世界時系列生成的敵対的ネットワーク(RTSGAN)を提案します。 RTSGANは、次の2つの主要コンポーネントで構成されています。1)各時系列インスタンスを固定次元の潜在ベクトルにエンコードし、オートエンコーダを介して潜在ベクトルから時系列全体を再構築することを学習するエンコーダ-デコーダモジュール。 2)生成モジュール: WassersteinGAN(WGAN)は、上記のオートエンコーダと同じ潜在空間でベクトルを生成するようにトレーニングされています。ジェネレーターとデコーダーを使用することにより、RTSGANは、元の特徴分布と時間的ダイナミクスを尊重する実世界の時系列データを生成できます。有益な欠落の問題により適切に対処するために、RTSGANをRTSGAN-Mに拡張します。各タイムステップで情報を充実させるために観測埋め込みが提案され、最初に時間と欠落パターンを決定する新しい決定および生成デコーダーも提案されます。次のステップで、ローカルとグローバルの両方の依存関係に基づいて、対応する機能値を生成します。 4つの実世界の時系列データセットに関する経験的研究は、提案されたフレームワークによって生成された合成データが、より「現実的に見える」だけでなく、「合成のトレーニング、実世界のテスト」における下流の機械学習タスクの有用性が高いことを示しています。
この論文の主な貢献は次のとおりです。
•実世界の時系列データによって提起された課題に取り組むために、RTSGANという名前の新しい時系列データ生成フレームワークを提案します。
•知る限り、これは欠測値を持つ時系列の生成の問題を調査する最初の研究であり、RTSGAN-Mの観測埋め込みと新しい決定および生成デコーダーがより良い生成パフォーマンスを達成するために提案されています。
•詳細な実験は、完全な固定長の時系列と不完全な可変長の時系列の両方を含む4つの実世界のデータセットで実施され、RTSGANは、下流分類および予測タスクでの合成データ利用の点でSOTAの方法よりも優れています。
問題設定
一般に、時系列データの各インスタンスは、主に2種類の特徴値で構成されます。動的特徴値(1人の患者の心拍数など、時間の経過とともに変化する)とグローバル特徴値(年齢などの静的機能、およびグローバルプロパティを含む)です。観察されたシーケンスの、例えば、私たちの興味のあるラベル)。動的特徴値とグローバル特徴値の両方の特徴値は、連続値またはカテゴリ変数です。時系列トレーニングセットDの1つのインスタンスを(X、y)と表します。ここで、 $ X =(x1、...、xl)∈ R^{l×d}_x $ は、l個の観測値を含むdx次元の多変量時系列を表します。 y∈$ R^{d_y} $は、時系列のグローバルな特徴を表します。実際には、時系列データは不完全である可能性があります。つまり、時系列データの欠落値は、Fig. 1に示すように、動的特徴値とグローバル特徴値の両方で一般的に発生する可能性があります。この問題を定式化するために、各インスタンスを$ (X、y、M^{(x)}、m^{(y)}) $と表記します。 マスク行列M(x)∈Rl×Kは、K個の動的特徴の欠測値を表すために導入されます。ここで、i番目の観測でj番目の特徴が観測された場合は$M^{(x)}_{i、j} = 1 $、それ以外の場合は0です。同様に、m(y)は、グローバル特徴値の欠落値を表します。この研究の目的は、トレーニングセットDを使用してデータ分布を学習し、リアルな外観で有用性の高い合成データセット$ \hat{D} $を生成することです。分類やシーケンス予測などの下流の機械学習タスクは、合成データセット$ \hat{D} $で実行でき、結果の下流モデルは、Dでトレーニングされたモデルと比較して同様のパフォーマンスを発揮できます。
RTSGAN手法
RTSGANのアーキテクチャはFig. 2に図示されており、次の2つのキーモジュールから構成されます。
・エンコーダーデコーダモジュール
時系列データをまずオートエンコーダで学習し、固定長の潜在空間にエンコードします。次元は、シーケンス長の不変量です。
・生成モジュール
エンコーダーデコーダモジュールの学習後、WGAN(WassersteinGAN)フレームワークを適用し、潜在空間の生成モデリングを行います。ジェネレータは合成潜在表現を出力します。
時系列を生成するには、合成潜在ベクトルを生成器からデコーダに供給するだけでよいです。
以前のGANベースの手法では、特徴値空間か潜在空間でベクトルシーケンスを識別する必要がありました。これに対して、RTSGANでは、単独の潜在ベクトルを識別するだけです。時系列データが複雑になると、RTSGANではオリジナルのデータ構造を把握するのが、より容易になります。
A. 完全時系列でのRTSGAN
・エンコーダーデコーダモジュール
このモジュールは、入力シーケンスを潜在ベクトルにエンコードするエンコーダーと、潜在ベクトルから入力シーケンスを再構築するデコーダーで構成されています。 オートエンコーダーに入力する前に、すべての機能が[0、1]に変換され、連続機能にはmin-maxスケーリングが使用され、カテゴリ機能にはワンホットエンコーディングが使用されます。
エンコーダー
各時系列を潜在ベクトルのシーケンスにエンコードするTimeGANのエンコーダーとは異なり、ここでのエンコーダーは、各時系列をシーケンスの長さに不変の次元を持つコンパクトな表現にエンコードすることを目的としています。まず、各ステップでグローバル特徴値yを動的特徴値xiにei = [xi、y]として連結し、それを非表示の次元dAEを持つN層ゲート付き回帰ユニット(GRU)にフィードして、各GRUレイヤーnのステップiそれぞれの隠れ状態$ h^n_i $を取得します。
時系列の時間的ダイナミクスとグローバルプロパティをより適切に把握するために、GRUの最後のレイヤーからの隠れ状態$ h^N_i $にプーリング操作をさらに適用して、次のように表現を強化します。
ここで、FCは、プーリングの結果を空間$ R^{dAE} $に集約する完全結合層を示し、LeakyReLUが活性化関数として使用されます。次に、グローバル情報sと最後の隠れ状態を連結して、潜在表現r∈Rを取得します。
デコーダ
デコーダーは、潜在表現rから時系列全体を再構築することを目的としています。これには2つのステップが含まれます。
1)最初に、完全に接続された層を通してグローバル特徴値$ \hat{y} $を再構築します。2)次に、GRUを介して動的特徴値$ h^n_l $を再構築します。グローバル特徴値$ \hat{y} $は次のように再構築されます。
Act関数では、カテゴリ特徴値にはsoftmaxを、連続特徴値の場合はシグモイド適用します。次に、動的特徴値を再構築します。動的特徴値のデコーダーは、初期の隠れ状態$hˆn_0 $として$ h^n_l $をとる隠れた次元dAEを持つもう一つのN層GRUです。再構築プロセスは、各p(xi | x1..i-1、y)を以下のようにモデル化することを目的とした自己回帰です。
自己回帰プロセスの開始時の初期入力は$ \hat{e}ˆ1 $ = [0、s]です。可変長の時系列を処理するために、グローバル特徴値の1つとしてシーケンス長lを含めます。したがって、グローバルフィーチャが再構築された後、動的特徴値の再構築を$ \hat{l} $で正確に制御できます。
自己回帰再帰ネットワークの学習には、次のステップの入力として常にグラウンドトゥルースデータxi-1を使用する教師強制、または前の予測$ \hat{x}_{i-1} $とグラウンドトゥルースxi-1のサンプリングを使用できます。全体的な損失関数は、グローバル特徴値とダイナミクス特徴値の再構成損失の線形結合です。
クロスエントロピー(CE)損失と平均二乗誤差(MSE)損失は、それぞれカテゴリ特徴値と連続特徴値に使用されます。
・生成モジュール
上に示したように、グローバル特徴値と動的特徴値の両方が同じ潜在空間にエンコードされるため、rは時系列内にさまざまな関係を自然に含み、自己回帰デコーダー自体が時系列の時間的ダイナミクスを維持します。 したがって、潜在空間で表現を合成し、それを自己回帰的にデコードして、特徴空間から直接合成出力を生成する代わりに、時系列全体を生成することができます。
潜在空間の次元はシーケンスの長さlに対して不変であるため、生成モジュールが潜在表現を合成するのははるかに簡単です。 ここでは、WGANの改良版を採用しています。 WGANの生成器は、反復的に学習された1-リプシッツ識別器の助けを借りて、実際のデータ分布と合成データ分布の間の1-ワッサースタイン距離W(Pr、Pg)を最小化することを目的としています。 WGANの最適化の目的は次のように定義されています。
ここで、GとDは、それぞれ生成器と1-リプシッツ識別器を示します。 実際には、Gには層正規化、Dには3つの完全結合層を備えた多層パーセプトロン(MLP)を使用します。LeakyReLUは、GとDの両方の活性化関数として使用されます。WGANの学習後 、次のように時系列データを生成できます。
従来、AE-GANベースの生成モデルでは、実データと合成データを特徴値空間で識別するために、GANの学習中にデコーダパラメータのチューニングが必要でしたが、RTSGANの手法では識別データは潜在空間にあり、ファインチューニングなしでも良好な生成性能を得られる特徴があります。そのため、エンコーダ・デコーダモジュールと生成モジュールは別々に学習します。
B. 不完全時系列でのRTSGAN
ここでは、RTSGANを拡張して、不完全な時系列を生成します。 主なアイデアは、各タイムステップで欠落ベクトルと特徴ベクトルの両方を生成し、生成された欠落ベクトルに従って対応する特徴値をマスクすることです。 これを実現する簡単な方法は、各機能の欠落している情報を追加のバイナリ機能として扱い、それを完全な時系列として生成することです。 ただし、実際の時系列データで値が欠落している割合が高いと、従来のGANトレーニングで壊滅的な崩壊が発生する可能性があります。これは、不完全な時系列を直接識別すると、生成器に有益な信号が提供されない場合があるためです。
この目的のために、RTSGAN-Mという名前のRTSGANの変型が提案されています。この変型では、同じAE-GANフレームワークが採用されていますが、値が欠落している時系列データの生成性能を向上させるために、エンコーダ-デコーダモジュールで2つの手法を適用しています。1)観測の埋め込み: これにより、各観測で情報を充実させることができます。 2)決定と生成のデコーダー: 最初に次の観測の時間と欠落パターンを決定し、次にローカルとグローバルの両方の依存関係に基づいて対応する特徴値を生成します。 RTSGAN-Mでは生成モジュールは変更されていません。
・観察埋め込み
時系列をエンコーダーデコーダーモジュールにフィードする前に、観測埋め込みレイヤーを追加して、各ステップで時系列の表現を強化します。
まず、頻繁に測定されない一部の特徴は安定している可能性があるため、各ステップで最後の有効な観測値を検討するのが自然です。第2に、各観測の時点tiは、特に不規則なサンプリング時系列で強調する必要があります。これは、観測の時点が欠落率に関連していることが多く、時間間隔が以前の観測の影響を反映していることが多いためです。シーケンスの順序を把握する機能にもかかわらず、RNNは時間間隔から情報を把握するのに十分な感度がない場合があります。 Transformerで使用される位置エンコーディングと同様に、時間情報を完全に活用するには、時点の埋め込みレイヤーが必要です。
したがって、次のように、特徴値、欠落パターン、および時点を使用して、観測埋め込みを構築します。
ここで、preiは、i番目の観測の前の動的特徴の最後の観測を示します。 φ(ti)は、学習可能な時間表現です。
そうすることで、エンコーダーデコーダーモジュールは、時点、欠落値、および観測値の間の関係を簡単に把握できます。 全体的な観測埋め込みのパラメーターは、エンコーダーとデコーダーの間で共有されます。
・デコーダを決定・生成
多くの実際のアプリケーションでは、有益な欠落値はサンプリングの決定に関連している可能性があります。たとえば、医師は患者の状況に応じて次にどの動的特徴を測定するかを決定できます。 したがって、次の条件付き分布によって$ p(x_i、M^{(x)}_i | info_{i-1}) $をモデル化する方が合理的です。
ここで、$ info_i := {x_{1..i}, M^{(x)_{1..i}, y, m^{(y)}} $はi番目の観測までのすべての情報を意味します。$ p(x_i|M^{(x)}_i, info_{i-1}) $ は他の情報で条件付けされた動的特徴値分布のモデルです。$ p(M^{(x)}_i|infor_{i-1}) $ 以前の情報で条件付けされた欠損データの分布のモデルです。
上記のアイデアに従って、動的再構築を2つのステップに分割します。決定と生成です。 決定ステップはNdec層GRUで構成され、次のように次の観測の時点とマスクを生成します。
特定のしきい値を使用すると、$ \hat{M}(x)_i $に従って、i番目の観測で生成される特徴値を決定できます。
$ \hat{t}_i $と$ \ hat{M}(x)_i $について決定した後、生成段階を取って& p(x_i|M^{(x)}_i, infor_{i-1}) $をモデル化する必要があります。ここで、時間遅れ(特徴値の2つの連続する有効な観測の時間間隔)の概念を導入します。時間遅れδは次のように計算できます。
以前の研究は、変更可能な時間遅れが重要であり、一部の機能が長期間欠落している場合は、過去の観測の影響を減らす必要があることを示しています。 この考えに続いて、次のように訓練可能な減衰も導入します。
qiは、次の時点$ \hat{t}_i $で推定されたローカル情報です。
これをグローバル情報sと一緒に使用して、(N − Ndec)層のGRUで動的特徴値を生成します。
sは時系列全体のプーリング操作に由来し、後でグローバル機能によって監視されます。qiとsを使用して特徴値を再構築するために、ローカルとグローバルの両方の依存関係を同時に探索できます。
・欠損値処理と損失関数
ここでは、不完全な時系列データ設定の下でエンコーダ-デコーダモジュールを学習するための損失関数を示します。 これは、特徴値の再構築の損失と欠落している再構築の損失で構成されます。 不完全な時系列の特徴の再構築では、有効な観測値の損失のみを計算します。 欠落している再構成の場合、損失関数としてバイナリクロスエントロピー(BCE)を使用します。 一部の特徴の値の欠落は頻繁に発生する可能性があるため、各時系列ではめったに観察されない動的特徴の観察を維持するように努める必要があります。 したがって、次のように、j番目の動的特徴の全体的な欠落率ρjに従って動的特徴xi、jの再スケーリング重みwi、jを設定します。
動的特徴値の新しい損失関数は次のようになります。
グローバル特徴値$ \prime{L}_y $の損失も同様に2つのコンポーネントに分解できます。次に、全体的な損失関数は式6のように導き出すことができます。
実験
RTSGANを1)現実的データ2)高有用性の2つの観点で評価しています。
A. 完全固定長時系列データ
評価に使用しているデータセットは、Googleの株価、UCI アプライアンスのエネルギー消費予測データです。それぞれのデータセットから、長さ24の時系列を、株価からは3,773、エネルギー予測からは19,711抽出しています。比較対象の方式は、COT-GAN, TimeGAN, RCGAN, C-RNN-GAN, WaveNet, WaveGANです。評価指標には、識別スコア、予測スコアを用い、定性評価には、t-SNE, PCAにより、実データと生成データがいかに近いかを評価しています。
結果は、TABLE 1, Fig. 3に示されています。RTSGANがもっともよいスコアを出し、t-SNE, PCAでもRTSGANがオリジナル(赤)の分布を生成データ(青)が最もよく再現していることがわかります。
B. 不完全可変長時系列データ
続いて欠損データのある可変長の時系列データについて評価しています。データセットは、PhysioNet Challenge Dataset (ICUでの多変量医療データ)、MIMIC-IIL(集中治療室のMedical Information Martからのデータ)です。TABLE IIに詳細が表されています。
比較対象は、TimeGAN, DoppelGANgerです。下流の分類モデルzeroRNN, lastRNNを通した後にAUC比較を行っています。スケーリングはmin-maxとstandardの両方を行っています。定性的評価では、2次元図示、ピアソン相関ヒートマップを使用しています。
TABLE III, IVはMIMIC-IIIデータ、PhysioNetデータについての比較結果です。RTSGAN, RTSGAN-Mが最善の結果を示しています。Fig. 4がMIMIC-IIIデータについてのピアソン相関ヒートマップです。DoppelGANger, TimerGANのヒートマップに比べ、RTSGAN-Mのヒートマップがオリジナルデータのヒートマップに類似していることがわかります。Fig. 5は、t-SNE, PCA図示の比較です。やはりRTSGANがオリジナル(赤)の分布を生成データ(青)が最もよく再現していることがわかります。
C.切り分け評価
RTSGAN-Mのどの機能が改善をもたらしているか切り分け評価を行っています。TABLE V, VIよりembedding, two-stepいずれも改善に寄与していますが、two-step(decide-and-generate)デコーダがより強く貢献していることがわかります。
まとめ
下流タスクに高い有用性を備えた現実的な時系列データを生成する新しい時系列生成フレームワークRTSGANが提案されました。 可変長の時系列データを生成することに加えて、知る限り、これは欠測値を持つ時系列の生成を探索する最初の作業です。 さらに、観測埋め込みと決定および生成デコーダーを備えた拡張バージョンRTSGANMは、欠落値を効果的に処理し、有用性の高い合成データを生成できます。 完全な実語時系列データセットと不完全な実語時系列データセットの両方での実験は、提案された方法の優位性を示しています。
この記事に関するカテゴリー