- Abstract
- Wasserstein distance を使う、Wasserstein distance はOptimal transportation problemの量的コストである、それを使うと、非線形現象をロバストに解析することができる
- 2.1 Introduction
- 時系列解析
- 軌道予測でなく、軌道の可能性推測
- 軌道をパラメタ表現してそれと観測とのずれを問題にするのが線形時系列解析。非線形力学系では、それは難しい。観測から、可能な状態の総体を推定する
- アトラクタを定める
- Invariant measure(不変測度)を見つける
- エルゴード理論は、力学系がエルゴード的(ある物理量に対して、長時間平均とある不変測度による位相平均が等しい)であることを示す。このような不変測度のこと
- 力学系の長期的な変化は、invariant measureの変化として捉えたいのだが…
- Transportation distance(輸送距離)の導入
- 距離
- reflective, symmetric and triangle inequality
- Transportation distanceとは
- 時系列データのWasserstein distanceを計算し、それを低次元化する(Eigen decomposition などの『普通のやり方』で)
- 2.2 Wasserstein distances
- Taken's theorem
- 時系列データの時間遅れ埋め込み座標系(Delay embedding)プロットは、本の多次元時系列データのアトラクタを再現する
- 時間遅れ埋め込みはRなら"embed()"関数(それをもじった"Embed()"関数はこちら)
- Delay embeddingによるアトラクタ再構成
- 観察尺度数
- 元データが多次元、観察データが1尺度
- 元データが多次元、観察データが多尺度、どちらもある
- Delay間隔をどうするか(最適化・推定)
- Embedding次元をどうするか(次元検定)
- Natural invariant measureというのがあって、これは、時系列データにある程度条件をつけると、観測値から、この値の近似値が適当な精度で求められるという性質がある
- Natural invariant measure のWasserstein distanceを考えることにする
- Wasserstein distance
- ある分布をある分布に移し替えるときの総コストをWasserstein distanceとする
- ある量をある位置からある位置まで移すことの足し合わせになる
- ある位置からある位置まで移すにあたって、その距離を決める
- ユークリッド距離だったり、マンハッタン距離だったり、色々なものが取れる
- Transportation distanceの利用例と時系列データの特殊性
- 画像解析、形の一致、物理学の逆問題に共通する
- 時系列データの場合には、Dirac測度の和なので、重み付き点集合の凸最適化問題に限定できる(離散的な点の和で扱うと楽)
- Wasserstein distanceの別称(少しずつ範疇にずれがあるが…)
- 2.3 Implementation
- Wasserstein distanceの計算
- 離散的な値のセットを扱う
- 一般的な線形処理で解けるが、さらに多項式時間で解くアルゴリズム(network simplex algorithm)も知られている(RではRcplexパッケージの中に"network simplex algorithm"があると書いてあるが、R.14.xではnot availableと表示された…)
- Bootstrapping and binning
- 計算できる、とは言っても、計算は重いので、工夫しよう
- Resamplingを繰り返して、距離の推定値を出す。軽くなるだけでなく、正確さに関する情報も出るので使い勝手がよい
- 複数の点を一か所にまとめることで処理する点の数を減らす。そのときに混入する誤差についても、想定するのが簡単なのが、「距離」のよいところ
- Wasserstein distanceがペアワイズに計算しようとすると、その数も膨大なので、計算するペア数を端折ることも考えたい。その場合は、距離行列が不完全になる。不完全な距離行列の活用方法や、不完全な距離行列が全情報量のうちのどれくらいを持っているかの評価などが必要になる
- 距離が『距離』でないとき
- 距離には定義があるが、リサンプリングなどを介して得られる距離は、『距離の定義』を満足しないことがある(三角不等式を満足しない)
- 三角不等式からの逸脱の程度それ自体も、解析対象に関する情報として意味がある(らしい)
- 自身との距離もリサンプリングをすると0でなくなる。これはリサンプリングによるずれの情報として用いることができる
- 2.4 Analysis
- 距離行列の解析
- Cross-validation
- Training setとtest set,leave-one-out
- Permutation testによる統計的有意差
- 2.5 Example: The Henon system
library(emdist)
as1 <- seq(from = 0.7, to = 1.4, by = 0.1)
bs1 <- seq(from =0.30, to = 0.30, length = 2)
abs <- expand.grid(as1,bs2)
hs <- list()
n.discard <- 1000
n.sim <- 5000
np <- 200
for(i in 1:length(abs[,1])){
a <- abs[i,1]
b <- abs[i,2]
hs[[i]] <- list(x=rep(0,np),y=rep(0,np))
tmpx <- tmpy <- rep(0,n.discard + n.sim)
for(j in 2:length(tmpx)){
tmpx[j] <- 1 + tmpy[j-1] - a*tmpx[j-1]^2
tmpy[j] <- b*tmpx[j-1]
}
s <- sample((n.discard+1):(n.discard+n.sim-np),1)
hs[[i]]$x <- tmpx[s:(s+np-1)]
hs[[i]]$y <- tmpy[s:(s+np-1)]
titl <- paste("a=",a,",b=",b)
}
d.mat <- matrix(0,length(abs[,1]),length(abs[,1]))
emb.k <- 2
for(i in 1:(length(abs[,1]))){
emb.1 <- embed(hs[[i]]$x,emb.k)
for(j in (1):length(abs[,1])){
emb.2 <- embed(hs[[j]]$x,emb.k)
d.mat[i,j] <- emd2d(emb.1,emb.2)
}
}
plot(cmdscale(d.mat,2))
-
- テキストブックの絵のようにきれいになっていないのは、観測時刻数が少ないから?
- 2.6 Example: Lung diseases
- 2.7 Generalized Wasserstein distances
- Wasserstein distanceが小さくなるように、分布を変型してみる話
- 変型の種類
- 複数の時系列データを併せるときに重みづけを変える
- 変型すると、Wasserstein distanceが変わる。その変型の仕方と距離の変わり方に大小のルールがある。変化量を残差として評価できる
- Wasserstein distance最小化に伴うコストも考慮する
- 2.8 Nonmetric multidimensional scaling
- 出来たWasserustein distanceの距離行列をNonmetric multidimensional scalingで評価する
- 距離行列の中身を、距離の順序は守ったままで変えてやる
- アトラクタの量的特性ではなく質的特性に興味があればそれもよい
- 2.9 Conclusions