関数データ解析(FDA, Functional Data Analysis)とは

関数データ解析とは

関数データ解析とは

各個体や対象に対して、複数の離散点で時間や空間の変化に伴い観測・測定されたデータを、関数の集合として捉え、解析する方法
Ramsay and Silverman, 2005

とされています。

一般的にデータ解析では、データそのものの統計量をとったり、クラスタリングしたり、回帰分析したりします。 関数データ解析では、データを関数で表現して、その関数を改めてデータとして扱う手法です。

とはいえ、「データを関数で表現してそこで何か(分類や予測など)をする」という手法は、従来の機械学習にも使われていますし(例えばガウス線形回帰)、関数データ解析固有のものではありません。

関数データ解析では、特定の手法ではなくデータの関数表現をデータそのものの分析と同じように扱う方法論、ということになろうかと思います。

例えば、テキスト*1 では次のように書かれています。

Ramsay & Silverman (2005)は、関数データにおける平均、分散、共分散を定義した後、
主成分分析、線形モデル、正準相関分析、判別分析の関数データ対応版を扱っている。
さらに、関数の定義域を調整するRegistration (見当合わせ)、通常のデータを
関数データにする各種平滑化などについても詳細に検討している。

近年では、これらに加えクラスタリング(Kmeans の関数データ適用がよく使われるようです)、スパース解析(https://sites.google.com/site/hidetoshimatsui/field/fda)なども検討が進んでいます。

関数データ解析のながれ

主に次の二段階法が使われるようです。

  1. 離散観測を連続の関数データで捉える(平滑化と呼ばれています)

    機械学習の手法で言うところのカーネル線形回帰などで、モデル関数を実データにフィッティングさせる。

  2. 捉えた関数集合を分析する

    関数集合をデータ集合と同じように平均・分散・相関などを計算して分析する

所感

関数データ解析ではデータを関数で表現することで、データを集合で捉えより表現力のある構造(関数)で分析ができるようになります。 例えば従来のデータ解析でのデータの代表点(平均や中央値)や広がり(分散など)、関連(相関)などと同様の統計手法が関数データ解析においても使え、そこでは関数平均や関数分散、関数相関などの手法で分析ができます。

とは言え、私の中でもまだイメージの域を出ませんので、引き続き注目していきたいと思います。