読者です 読者をやめる 読者になる 読者になる

積の期待値と期待値の積

久しぶりの投稿。

私用で,二つの確率変数の積がどのような分布に従うのか(というかその期待値はどのように表現されるか)を明らかにする必要があったので少し調べてみた所を記述します。

問題設定

2つの確率変数
{x, y}を考える。
ここで,

{x \sim N(\mu\_x, \sigma^{2}_x)}, {y \sim N(\mu\_y, \sigma^{2}_y)}

とする。
今回考える問題は,
{E(xy)}がどのように表現されるかを得ること。
みなさんご存知の通り,{x, y}が独立である場合は{E(xy) = E(x)E(y)}とはよく言われます。実際にぐぐれば導出式はたくさん出てくるはず。

では,こいつらが独立ではない場合はどうなるのか?となるのは自然な流れ。
以下,導出を行ないます。
ちなみに,以下の記事は正規分布に従う確率変数同士の積の分布について - 数学 締切済 | 教えて!gooで見かけたやり取りを参考にしています。役立つときは役立つもんですね。(それでも間違っている可能性はあるけど)

変数変換

まず,以下のように変数変換を行なう。

\displaystyle
{U = \frac{1}{\sqrt{2}}\ (\frac{x}{\sigma_x} + \frac{y}{\sigma_y})}
\displaystyle
{V = \frac{1}{\sqrt{2}}\ (\frac{x}{\sigma_x} - \frac{y}{\sigma_y})}

すると,{U,V}は以下の正規分布に従う。

\displaystyle
{U \sim N(\mu_1, 1^2)}
\displaystyle
{V \sim N(\mu_2, 1^2)}

但し,

\displaystyle
{\mu_1 = \frac{1}{\sqrt{2}}(\frac{\mu_x}{\sigma_x}+\frac{\mu_y}{\sigma_y})}
\displaystyle
{\mu_2 = \frac{1}{\sqrt{2}}(\frac{\mu_x}{\sigma_x}-\frac{\mu_y}{\sigma_y})}

と置いている。
ちなみに,この{U,V}は共分散が0,すなわち独立である。

{xy}の表現

次に,この{U,V}を使って{xy}の表現を得てみる。
これらを二乗すると,以下のようになる。

\displaystyle
{U^{2} = \frac{1}{2}(\frac{x^{2}}{\sigma^{2}_x} + \frac{2xy}{\sigma_x \sigma_y} + \frac{y^{2}}{\sigma^{2}_y})}
\displaystyle
{V^{2} = \frac{1}{2}(\frac{x^{2}}{\sigma^{2}_x} - \frac{2xy}{\sigma_x \sigma_y} + \frac{y^{2}}{\sigma^{2}_y})}

これらの両辺を減算すると

\displaystyle
{U^2-V^2 = \frac{2xy}{\sigma_x \sigma_y}}

{xy}について整理して,

\displaystyle
{xy = \frac{\sigma_x \sigma_y}{2}(U^2-V^2)}

期待値の計算

ここで,{U,V}をよく見ると,こいつらは自由度1,非心度それぞれ{\mu_1^{2}, \mu_2^{2}}の非心カイ二乗分布に従っている。
ここで,自由度k, 非心度\lambdaのの非心カイ二乗分布に従う確率変数の期待値は(k+\lambda)で与えられる。
それを利用すると,今回求めようと考えている期待値は

\displaystyle
{\begin{eqnarray}
E(xy) &=& E\Bigl(\frac{\sigma_x\sigma_y}{2}(U^2-V^2)\Bigr) \\
&=& \frac{\sigma_x\sigma_y}{2}E(U^2-V^2) \\
&=& \frac{\sigma_x\sigma_y}{2}\Bigl(E(U^2)-E(V^2)\Bigr) \\
&=& \frac{\sigma_x\sigma_y}{2}\Bigl((1+\mu_1^2)-(1+\mu_2^2)\Bigr) \\
&=& \frac{\sigma_x\sigma_y}{2}\Bigl(\mu_1^2 - \mu_2^2\Bigr)\\
&=& \frac{\sigma_x\sigma_y}{2}\Bigl(\frac{1}{2}(\frac{\mu_x^{2}}{\sigma^{2}_x} + \frac{2\mu_x\mu_y}{\sigma_x \sigma_y} + \frac{\mu_y^{2}}{\sigma^{2}_y}) - \frac{1}{2}(\frac{\mu_x^{2}}{\sigma^{2}_x} - \frac{2\mu_x\mu_y}{\sigma_x \sigma_y} + \frac{\mu_y^{2}}{\sigma^{2}_y})\Bigr)\\
&=& \frac{\sigma_x\sigma_y}{2}\frac{2\mu_x\mu_y}{\sigma_x\sigma_y}\\
&=& \mu_x\mu_y
\end{eqnarray}
}

となる。

以上から,確率変数{x,y}の独立性を仮定していなくても{E(xy) = E(x)E(y)}となってしまった。非常に気持ち悪い。
おそらくどこかに間違いがあるんじゃないかと思いますが,現状では見つけられていないのでどなたか間違っている点があれば教えてください・・・。

システム同定の基礎

久しぶりの記事になってしまった…年明け初記事なので、明けましておめでとうございます。

前回の記事で、(当時の)これから勉強したい事について記述をしました。
あれらのうち、状態空間モデルの考え方、カルマンフィルタに関して基本的なところを勉強しました。
しかし、それらの理論はモデルを既知として組み上げられている問題であるため、それだけでは実データへの適用やトライアルは当然うまく当てはまりません。
ということで現在はシステム同定に関する勉強をちゃんとしようと考え、自分なりの勉強のゴールを以下のように設定しました。

  • 対象とする系の状態空間表現を得られるようになる

ということで、以下の書籍を読み込んでおります。

システム同定の基礎

システム同定の基礎

もう一つ、こんな本もあるのですがこれはPRMLのように事前に必要となるの知識レベルが高いとのこと(ソース:職場の優秀な先輩)で、ひとまず断念。

システム同定―部分空間法からのアプローチ

システム同定―部分空間法からのアプローチ

ただし、自分は制御工学は学生時代には履修していない(修士の研究の中でバックシフトオペレータを使った程度です)ため、出現する用語や考え方はその都度調査する必要アリ。

そもそもシステム同定とは何か

システム同定とは、

対象とする動的システムの入出力データの観測値から、ある目的のもとで、対象と同一であることを説明できるような、何らかの数学モデルを作成することをいう。(上記書籍より引用)

つまり、対象の系を数式で表現しましょう、ということ(と自分は解釈しています)。

システム同定の目的

上記文章のなかで、「ある目的のもとで」とあります。
制御工学の文脈の中では、システム同定の目的の多くは「制御系を設計すること」だそう。確かに、加工機械や人工衛星などは正しく制御が行なえなければ重大な事故や損失につながりますね。

ちなみに、本書ではプラントの制御を目的と仮定しているようです。

システム同定のモデル

システム同定を行なうにあたり、数理的なモデルはパラメトリック、ノンパラメトリックの二つのモデルに大別されるとのこと。
ここでいうパラメトリックモデルは「システムの動特性を有限個のパラメータによって特徴づけるモデルのこと」、
ノンパラメトリックモデルは「無限個のパラメータによって構成されているモデル」とのことです。
例)
パラメトリック  :伝達関数状態方程式など
ノンパラメトリック:インパルス応答関数、周波数伝達関数など

統計学とは表現が異なっているものの、言わんとしていることはだいたい同じであると考えていいかなと思います。
ここで、単純な状態空間表現におけるシステムは入力量、状態量、出力量、白色雑音から成ると考え、以下の表現形式を考えます。

{x(k+1) = Ax(k) + Bu(k) + v(k)}
{y(k) = C^{T}x(k) + Du(k) + w(k)}
{v(k), w(k)}はホワイトノイズ

これらに対して部分空間同定法を適用して、どうなるんだろうか。
井手剛先生の書籍「入門 機械学習による異常検知」では入出力を考えていなかったため、今回考慮している対象とは異なるモデリングを行おうとしています。
この時、システム同定の方法はどのように変わってくるだろうか。これから勉強していきたいと思います。

非常に半端ではありますが、今回はここまでにして、未来の自分に任せようと思います。

-- 追記(3/21) --
で、これからどうすんねん、な感じになってしまった。

現状、自分が勉強できていることは

  • 離散時間時不変モデル

  • 線形

  • 入出力のない時系列

に対する部分空間同定法の手法。線形カルマンフィルタも一応自分でコードの作成はしてみたものの、既存のパッケージ(pykalman)と比較すると結果が全然合っていないため、デバッグしなくちゃと思っています。

なので、自分のこれからのアクションは
1. 入出力のある系に対する部分空間同定法の手法を勉強する(状態変数(上では{x(k)} )の次元がわかっていればMCMCなんかでもいいのかも?一旦保留。)
2. それらの勉強をするために必要な制御工学の知識習得(伝達関数って?周波数応答?)
3. アルゴリズムを実装するためのコーディングの練習

として、今後勉強をしていきたいなと思います。
それらとは別に、いい加減CやC++を書けるようになったりDNNの勉強もしなくちゃなぁと思います、上手い感じに捌いていきたい。

うむ

最近勉強用に、という事でこのブログを作成しました。

とりあえずブログ作ったよ、という事でこれから勉強していきたいなぁなことを並べておこうかなと思います。(どうせすぐ目移りする)

数学系

  1. 時系列解析(自己回帰モデルのパラメータ推定・状態空間モデル・カルマンフィルタ・粒子フィルタ周辺)
  2. 統計的因果推論、構造方程式モデリング(系の中に相関があるのが分かっても、因果関係まで知りたい理解したい)
  3. 密度比推定手法
  4. 情報幾何
  5. データ同化

プログラム系

  1. データのイケてる可視化方法
  2. ちょっとしたwebアプリ開発
  3. Julia言語

あたりかな。自分に必要な所から攻めていこうと思います。