指数関数的に減衰する共分散関数を使用したガウス(Ornstein Uhlenbeck)プロセスのシミュレーション


8

ガウス過程、平均0と共分散関数。1 ≤ T ≤ T γ (S 、T )= EXP (- | T - S |)ei(t)1≤t≤Tγ(s,t)=exp⁡(−|t−s|)

共分散行列の平方根の計算を含まない、これを行う効率的な方法はありますか?または、誰でもこれを行うためのパッケージを推奨できますか?T×TR


2
これは定常的なプロセスです(OUプロセスの単純なバージョンに近く見えます)。均一にサンプリングされていますか?
— 枢機卿

Rパッケージがmvtnorm有するrmvnorm(n, mean, sigma)場合sigma、共分散行列です。ただし、サンプリング/選択したの共分散行列を自分で作成する必要があります。t
— jbowman

2
@jbおそらくは巨大です。それ以外の場合、OPは行列の分解(これはで暗黙的に行われます)を回避するよう求めません。Trmvnorm
— whuber

1
@cardinal同意します、これはOrnstein-Uhlenbeck Gaussianプロセスです。(「Ornstein Uhlenbeck」キーワードを質問および/またはタイトルに編集できればすばらしいでしょう。この質問には、より多くのトラフィックが必要です)
— redmoskito 2014

回答:


11

はい。 非常に効率的な(線形時間)アルゴリズムがあり、その直感は、均一にサンプリングされたケースから直接得られます。

私たちはのパーティションがあるとするように、。0 = t 0 < t 1 < t 2 < ⋯ < t n = T[0,T]0=t0<t1<t2<⋯<tn=T

均一にサンプリングされたケース

この場合、ここでです。ましょう時間で離散的にサンプリングされたプロセスの値を表す。Δ = T / N X I:= X (T I)、T Iti=iΔΔ=T/nXi:=X(ti)ti

、相関関係持つAR(1)プロセスを形成していることが簡単にわかります。したがって、パーティションのサンプルパスを次のように生成できます ここであるIIDと。 ρ = EXP (- Δ ){ XのT } X I + 1 = ρ X I + √Xiρ=exp⁡(−Δ){Xt}Z I N(0 、1 )X 0 = Z 0

Xi+1=ρXi+1−ρ2Zi+1,
ZiN(0,1)X0=Z0

一般的なケース

次に、一般的なパーティションに対してこれを行うことが可能であると想像するかもしれません。特に、およびます。我々は持っている そして我々はそれを推測するかもしれないので、 ρ I = EXP (- Δ I)γ (T I、tはiは+ 1)= ρ IΔi=ti+1−tiρi=exp⁡(−Δi)X I + 1 = ρ I X I + √

γ(ti,ti+1)=ρi,
Xi+1=ρiXi+1−ρi2Zi+1.

実際、なので、少なくとも隣接する項との相関関係は正しいです。EXi+1Xi=ρi

結果は、条件付き期待値のタワープロパティを介して伸縮することになります。つまり、 および製品の望遠鏡次のように

EXiXi−ℓ=E(E(XiXi−ℓ∣Xi−1))=ρi−1EXi−1Xi−ℓ=⋯=∏k=1ℓρi−k,
∏k=1ℓρi−k=exp⁡(−∑k=1ℓΔi−k)=exp⁡(ti−ℓ−ti)=γ(ti−ℓ,ti).

これは結果を証明します。したがって、プロセスは、iidランダム変数のシーケンスから任意のパーティションで時間で生成できます。ここで、はパーティションのサイズです。N(0,1)O(n)n

注意:これは、正確な有限次元分布を使用して、目的のプロセスのサンプルバージョンを提供するという点で、正確なサンプリング手法です。これは、より一般的なSDEのオイラー(およびその他の)離散化スキームとは対照的です。これは、離散化による近似が原因でバイアスが発生します。


もう少しだけ。(1)連続時間プロセスがどのように見えるかを理解するには、が小さく、たとえば未満になるように、および選択する必要があります。(2)時系列ベクトルの逆共分散(精度)行列は、コレスキールートと同様に、3対角行列です。nTΔ0.1
— イヴ

@Yves:コメントありがとうございます。明確にするために、私が概説した手順は、対応するパーティションでサンプリングされた連続時間プロセスを正確に実現したものです。特に、より一般的なSDEへの典型的なオイラースキーム近似のような離散化エラーはありません。答えの構成で示されている逆コレスキーは、対角線上にのみ非ゼロ項があり、非対角線上にあるので、三重対角線よりも少し単純です。
— 枢機卿

正解です。これは、任意のスケール持つ一般的なOUプロセスに一般化されますか?それはそうかもしれないようです。γ(ti,tj)=exp⁡(α|ti−tj|)
— redmoskito 2014

1

不完全なコレスキー分解またはその他の行列分解手法によって分解された共分散行列を計算します。分解された行列はTxMである必要があります。ここで、MはTの一部にすぎません。

http://en.wikipedia.org/wiki/Incomplete_Cholesky_factorization


2
ここでコレスキー分解の明示的な形を与えることができますか?枢機卿の答えは、あなたが考えれば、を歴史の関数として表現することによって、それを達成したと思います。Xi
— StasK、2012年

1
アルゴリズムが長すぎて要約できません。あなたがここに優れた説明を見つけることができます:カーネルICA、20ページの注意をこのアルゴリズムであることを、不完全な、それは全体の分解ではなく、近似値を計算しないという意味(それゆえ、それははるかに高速です)。このアルゴリズムのコードをKMBOXツールボックスで公開しました。ここからダウンロードできます:km_kernel_icd。
— Steven
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.