アプリ版:「スタンプのみでお礼する」機能のリリースについて

Gauss分布やPossion分布のそれぞれ同じ分布どうしのConvolution結果はそれぞれ、解析式で表現できることがわかったのですが、Gauss分布とPossion分布の異なる分布のConvolution結果の解析式は調べてもわかりませんでした。近似式でも良いので教えて頂けないでしょうか?

A 回答 (6件)

ANo.5へのコメントについてです。



> Goldenとして、解析式も結果の比較対象として欲しい

 やっぱり、そうでしたか。

 えとですね、「結果の比較対象」にするためには、たとえ「解析式」があってもそれだけじゃ駄目で、その式に実際に数値を入れて答を数値として出さないと意味がない、ということにお気づきでしょうか。たとえばその「解析式」が見た事もないような特殊関数を使って書いてあったら、容易に計算できないわけです。それはさておき。

 要するに、「ガウス分布とポアソン分布の畳み込み」という確率モデルの分布(理論分布)と、データに基づく(つまり統計による)数値で表された分布とを比較したいのでしょう。
 ならば、理論分布を十分な精度で数値計算できさえすれば良い。ANo.5のような方法でも構わないわけです。だから、「解析式」に拘る理由は全然ありません。

 理論分布の数値計算結果の精度は、総和をどこで打ち切るか(あるいは周波数成分をどこで打ち切るか)を変えて計算してみることで評価できます。打ち切り方によって答が変わる訳ですが、その程度が目的とする精度より十分小さく収まる条件を探すことになります。

 ところで、この計算をExcelでやらなきゃならん、というのがよくわからんところです。ExcelでFFTやコンボルーションをやりたければ、表計算で頑張るんじゃなくてマクロを書くべきでしょう(実は、面白半分でFFTを自作したことがあります)。でも、C, Java, BASICなどを使って良いのなら、FFTのライブラリがすぐ見つかるでしょう。
    • good
    • 0
この回答へのお礼

ご教授有難うございます。
おっしゃる通りです。解析式に拘る必要はありません。Excel等で簡単に計算できれば良いということでした。

お礼日時:2012/04/14 19:17

最終的に近似値を数値計算するのが目的ならば、


 ガウス分布の幅がかなり狭い(例えばσ<1/2とか)場合には、実空間で有限項の総和を計算するのが速い。足すべき項のほとんどが0に近いので、大抵の目的には、各点yごとにせいぜい数項(k-mがyに近い所だけ)の足し算で足りるでしょう。
 ガウス分布の幅がかなり広い場合には、それぞれのフーリエ変換(特性関数)を考えると、平均0のガウス分布はガウス曲線(実関数)に写るわけですが、その幅は狭く(元の分布の幅が広いほど一層狭くなります)、一方、ポアソン分布は複素数の値を取る周期関数に写ります。両者の積をとれば、ガウス曲線の裾が早く0に近づくので適当な周波数でカットできて、これをFFTを使って逆フーリエ変換する(convolution theorem)のが速いっす。
 どのみち、わずかな計算量です。
    • good
    • 0
この回答へのお礼

ご教授有難うございます。
ExcelでConvolutionを試みる方法をしらべると「FFTを使って逆フーリエ変換する(convolution theorem)」が説明されていますが、ちょっと勉強してみます。ExcelでFFTをやったことがなかったので試してみます。
一連の質問の目的は、2種の特性をMonte Carloで別々にサンプリングした結果をExcelでConvolutionする場合に、Excelの計算結果がsammplingや刻みによる精度誤差をおよそ検証するために、Goldenとして、解析式も結果の比較対象として欲しいというのが本当の目的です。

お礼日時:2012/04/14 09:18

以下、思い違い、計算違いがあるかも知れません。

検証をお任せします。

(「一方のPoissonを混合Gaussで、又は、一方のGaussを混合Poissonで近似してから、同種の関数のConvolutionにすれば・・・」について)

「混合Gauss」等の用語に詳しくないのですが、インターネットで眺めると、複数の正規分布の分布関数なり密度関数を線形結合したもののように見えます。すると、これは、ANo.3のHn(x)と同じもののような気がします。間違っていたらごめんなさい。

なお、異種の分布のConvolutionを避けようとする理由が分かりません。

(解析的表現)

Σを使わない表現も一応は可能です。結論として、convolutionには密度関数h(x)が存在し、次の式で表すことができます。

  h(x) = ∫[-∞→∞]exp(λ(exp(-2πiz)-1) +2πizm-2π^2σ^2z^2+2πixz)dz

導出過程は次のとおり。
ポアソン分布の特性関数をφ(z)、正規分布の特性関数をψ(z)とすると、ANo.3と同じ記号を使って、

  φ(z) = exp(λ(exp(iz)-1))
  ψ(z) = exp(-izm-σ^2z^2/2)

です。これらのconvolutionの特性関数をθ(z)とすると、

  θ(z) = φ(z)ψ(z) = exp(λ(exp(iz)-1) -izm-σ^2z^2/2)

となります。

一方、ANo.3のH(x)の式から分かるように、H(x)は微分可能ですから、このconvolutionには密度関数が存在します。それをh(x)とします:

  h(x) = dH (x)/dx

冒頭のh(x)の式は、θ(2πz)の複素共役に逆フーリエ変換を施して得られます(いわゆる反転公式)。ただ、この式が、無限級数による表現に比べて扱いやすいかというと、疑問です。

ところで、正規分布とポアソン分布は、それぞれ、連続分布と離散分布の代表格と考えられます。例えば、正規過程とポアソン過程は、より一般的な「Levy過程」と呼ばれるものに属しますが、「すべてのLevy過程は正規過程とポアソン過程の組み合わせで得られる」という著しい定理があります(分解定理)。そういうことからすると、論理の飛躍はありますが、直感的には、正規分布とポアソン分布のconvolutionも、避けるべきものというよりは、むしろ基本的ツールのような気がします。
    • good
    • 0
この回答へのお礼

ご教授有難うございます。
ご疑問の「なお、異種の分布のConvolutionを避けようとする理由が分かりません。」
は、Gauss同士だとσnew^2=σ1^2+σ2^2, μnew=μ1+μ2で、Poisson同士でもλnew=λ1+λ2と
なるからです。
ご指摘の、「正規分布とポアソン分布のconvolutionも、避けるべきものというよりは、むしろ基本的ツールのような気がします。」というのも勉強になりました。
基本的ツールであれば、ちゃんと各種計算方法を把握しておきたいと思っていますので、色々なご教授は大変勉強になっております。

お礼日時:2012/04/14 08:39

(畳み込みの分布関数)



p(x)を平均λのポアソン分布において度数がxになる確率とし、F(x)を平均m分散σ^2の正規分布の分布関数とします:

p(x) = λ^x/(exp(λ)・x!)
F(x) = ∫[-∞→x](2π)^(-1/2)σ^(-1)exp(-(t-m)^2/(2σ^2))dt

これらの分布の畳み込みの分布関数をH(x)とすれば、

H(x) = Σ[k = 0→∞]p(k)F(x-k)

となります。

(近似値)

H(x)に現れる無限和のうちk=nまでの有限和をHn(x)とすれば、これは、実際に計算可能な量なので、近似値として使えます:

Hn(x) = Σ[k = 0→n]p(k)F(x-k)

その近似値の誤差をεとすれば、Σ[k = n+1→∞]p(k) <λ^(n+1)/ (n+1)!、F(x-k)<1を使って、次のように誤差を評価することができます。

ε=|Hn(x) - H(x)| <λ^(n+1)/ (n+1)!

連続分布と連続分布の畳み込みよりむしろ、この例のような連続分布と離散分布の畳み込みの方が、扱いが楽な気がします。
    • good
    • 0
この回答へのお礼

ご教授大変ありがとうございました。
 p(k)もF(x-k)も式で計算できるし、誤差を計算できるので、以下のConvolutionの式は離散的に積分して計算できるという事だと思います。
H(x) = Σ[k = 0→∞]p(k)F(x-k)

ところで、異種の関数のConvolutionにならないように、一方のPoissonを混合Gaussで、又は、一方のGaussを混合Poissonで近似してから、同種の関数のConvolutionにすれば、離散的に積分しなくても解析式で解を求めることができると思います。
 ご提案の方法と比較してどのように思われますでしょうか?

 しつこくてすみません。ご教授宜しくお願い致します

お礼日時:2012/04/11 07:50

 分布p(k)に従う確率変数k∈Nと、分布q(x)に従う確率変数x∈Rとの和y=k+xの分布φ(y)を考えるのなら、


  φ(y)=Σ{k=0~∞}p(k)q(y-k)
pがポアソン分布でqが正規分布ですと、これ以上どうにかなるような気はしませんケド。
    • good
    • 0

意味不。


定義域が異なる関数間の畳み込みを
どうやって定義しようというの?
    • good
    • 0
この回答へのお礼

意味不明な質問すみませんでした。
Gauss分布で表現された特性分布に、Poisson分布で表現されるノイズが加わった時の
全体の特性分布は、両者のConvolutionで表現できると思います。
その結果は何か解析式で表現できませんか?という質問です。
もし、ノイズ分布がGaussianであれば、結果の分布もGaussianなので解析式で表現できます。
近似式になるのかもしれませんが宜しくお願いします。

お礼日時:2012/04/10 09:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!