離散化

提供: testwiki
ナビゲーションに移動 検索に移動
A solution to a discretized partial differential equation, obtained with the finite element method.

数学において、離散化 (discretization) とは連続関数、モデル、変数、方程式を離散的な対応する物へ移す過程のこと。この過程は普通、それらをデジタルコンピュータ上での数値評価および実装に適したものにするために最初に行われるステップである。二分化 (dichotomization) は離散クラスの数が2である離散化の特別な場合であり、これにより連続変数を2値変数として近似することができる(2項分類のようにモデリングの目的で2分法を作成する)。

離散化は離散数学にも関係しており、テンプレート:仮リンクの重要な成分である。この文脈において、離散化は、複数の離散変数が集約されるもしくは複数の離散圏が融合する場合のときのように、変数もしくは圏のグラニュラリティの変更をさすこともある。

連続的なデータが離散化されるときは常にある程度の離散化誤差がある。目標は手元のモデル化の目的では無視できると考えられるレベルまでその量を減らすことである。

離散化と量子化 (quantization) という用語はしばしば同じ意味を持つが、必ずしも同じ意味というわけではない(具体的には2つの用語は意味領域を共有している)。離散化誤差と量子化誤差についても同様である。

離散化に関する数学的方法にはテンプレート:仮リンクテンプレート:仮リンクがある。

線形状態空間モデルの離散化テンプレート:Anchors

離散化は連続微分方程式数値解析に適した離散差分方程式に変換することにも関係する。

次に連続時間状態空間モデルを示す。

𝐱˙(t)=𝐀𝐱(t)+𝐁𝐮(t)+𝐰(t)
𝐲(t)=𝐂𝐱(t)+𝐃𝐮(t)+𝐯(t)

ここで v と w はパワースペクトル密度を有する連続ゼロ平均ホワイトノイズ源である。

𝐰(t)N(0,𝐐)
𝐯(t)N(0,𝐑)

入力 u に対するゼロ次ホールドとノイズ v に対する連続積分を仮定することで離散化することができる。

𝐱[k+1]=𝐀d𝐱[k]+𝐁d𝐮[k]+𝐰[k]
𝐲[k]=𝐂d𝐱[k]+𝐃d𝐮[k]+𝐯[k]

共分散は以下となる。

𝐰[k]N(0,𝐐d)
𝐯[k]N(0,𝐑d)

ここで

𝐀d=e𝐀T=1{(s𝐈𝐀)1}t=T
𝐁d=(τ=0Te𝐀τdτ)𝐁=𝐀1(𝐀dI)𝐁(もし 𝐀正則行列であれば)
𝐂d=𝐂
𝐃d=𝐃
𝐐d=τ=0Te𝐀τ𝐐e𝐀τdτ
𝐑d=1T𝐑

である。T はサンプル時間、𝐀 は𝐀行列である。

1つのステップで Ad と Bd を計算するための巧妙な手段は次の特性を使うことである[1]テンプレート:Rp

e[𝐀𝐁𝟎𝟎]T=[𝐌𝟏𝟏𝐌𝟏𝟐𝟎𝐈]

ここで

𝐀d=𝐌11
𝐁d=𝐌12

駆動雑音の離散化

𝐐d の数値評価は行列の指数積分を用いるためやや扱いにくい。しかし、はじめに行列を構築し、その指数関数を計算することにより処理することができる[2]

𝐅=[𝐀𝐐𝟎𝐀]T
𝐆=e𝐅=[𝐀d1𝐐d𝟎𝐀d].

離散化された駆動雑音は G の右下の区画の転置行列を G の右上の区画にかけあわせることで得られる。

𝐐d=(𝐀d)(𝐀d1𝐐d)=𝐀d(𝐀d1𝐐d).

導出

連続モデルから始める

𝐱˙(t)=𝐀𝐱(t)+𝐁𝐮(t)

行列指数関数は以下のようであり

ddte𝐀t=𝐀e𝐀t=e𝐀t𝐀

モデルを左から掛けることで以下の式を得る。

e𝐀t𝐱˙(t)=e𝐀t𝐀𝐱(t)+e𝐀t𝐁𝐮(t)

ここで

ddt(e𝐀t𝐱(t))=e𝐀t𝐁𝐮(t)

であり、積分することで

e𝐀t𝐱(t)e0𝐱(0)=0te𝐀τ𝐁𝐮(τ)dτ
𝐱(t)=e𝐀t𝐱(0)+0te𝐀(tτ)𝐁𝐮(τ)dτ

となる。これが連続モデルに対する解析的解法である。

ここで、上の式を離散する。各時間ステップの定数 u は一定とする。

𝐱[k] =def 𝐱(kT)
𝐱[k]=e𝐀kT𝐱(0)+0kTe𝐀(kTτ)𝐁𝐮(τ)dτ
𝐱[k+1]=e𝐀(k+1)T𝐱(0)+0(k+1)Te𝐀((k+1)Tτ)𝐁𝐮(τ)dτ
𝐱[k+1]=e𝐀T[e𝐀kT𝐱(0)+0kTe𝐀(kTτ)𝐁𝐮(τ)dτ]+kT(k+1)Te𝐀(kT+Tτ)𝐁𝐮(τ)dτ

これが𝐱[k]のカッコで囲まれた表現であり、第2項は関数 v(τ)=kT+Tτで置き換えることで簡略にすることができる。 dτ=dvである。また、積分中、 𝐮 が定数であるとすると次のようになる。

𝐱[k+1]=e𝐀T𝐱[k](v(kT)v((k+1)T)e𝐀vdv)𝐁𝐮[k]=e𝐀T𝐱[k](T0e𝐀vdv)𝐁𝐮[k]=e𝐀T𝐱[k]+(0Te𝐀vdv)𝐁𝐮[k]=e𝐀T𝐱[k]+𝐀1(e𝐀T𝐈)𝐁𝐮[k]

これが離散化問題の厳密解である。

近似

厳密な離散化には重い行列の指数関数や積分操作が含まれているため、処理が難しいことがある。小さな時間ステップに基づき、 e𝐀T𝐈+𝐀Tと近似した離散モデルで計算するほうがはるかに簡単である。近似解は以下のようになる。

𝐱[k+1](𝐈+𝐀T)𝐱[k]+T𝐁𝐮[k]

他の可能な近似としてはe𝐀T(𝐈𝐀T)1 や e𝐀T(𝐈+12𝐀T)(𝐈12𝐀T)1がある。各々異なる安定特性を持っており、最後の近似は双一次変換やTustin変換と呼ばれ、連続時間系の安定性を持っている。

連続特徴の離散化

統計や機械学習において、離散化は連続特徴や変数を離散や名目特徴に変換する過程をさす。これは確率質量関数を作成する際に便利である。

関連項目

脚注

  1. Raymond DeCarlo: Linear Systems: A State Variable Approach with Numerical Implementation, Prentice Hall, NJ, 1989
  2. Charles Van Loan: Computing integrals involving the matrix exponential, IEEE Transactions on Automatic Control. 23 (3): 395–404, 1978

参考文献

関連図書

  • José E. Castillo and Guillermo F. Miranda: Mimetic Discretization Methods, CRC Press, ISBN 978-1-4665-1343-3 (2013).

外部リンク

テンプレート:Normdaten