論文読みメモ: Nonparametric density estimation in compound Poisson process using convolution power estimators(その1)

以下の論文を読みます。

F. Comte, C. Duval, V. Genon-Catalot. Nonparametric density estimation in compound Poisson process using convolution power estimators. Metrika, Springer Verlag, 77 163–183, 2014.
https://hal.archives-ouvertes.fr/hal-00780300/document
※ キャラクターは架空のものです。解釈の誤りは筆者に帰属します。お気付きの点がありましたらご指摘ください。
次回:まだ
f:id:cookie-box:20190101155733p:plain:w60

(\xi_j, j \geqq 0) を独立に同一の確率密度 f にしたがう実数値確率変数とし、(N_t) を強度 c>0ポアソン過程として、複合ポアソン過程 (X_t, t \geqq 0) は以下のように表せるということです。

\displaystyle X_t = \sum_{i=1}^{N_t} \xi_i \tag{1}
これはつまり、時刻 t までに隕石が庭に降ってくる回数 N_t が強度 cポアソン過程にしたがい、個々の隕石の質量 \xi_i は独立に確率密度  f にしたがうというときに、時刻 t までに庭に降ってくる隕石の質量の総和ですね。

f:id:cookie-box:20190101160814p:plain:w60

喩えが大災害だな…。

f:id:cookie-box:20190101155733p:plain:w60

しかし、隕石がいつ庭に落ちてくるかずっと監視しているほど暇ではありませんので、一定時間間隔 \Delta ごとに、その時点までに降ってきた隕石の総質量 (X_{j \Delta}, j \geqq 0) が観測されるのみとしましょう。このときに隕石の質量がしたがう確率密度 f を推測するのが今回のやりたいことですね。無論 cf も未知です。

f:id:cookie-box:20190101160814p:plain:w60

いや庭に隕石が振ってきたら気付くよね普通…。

f:id:cookie-box:20190101155733p:plain:w60

複合ポアソン過程はレヴィ過程の特別な場合で、レヴィ密度が cf(\cdot) の場合に相当します。なので、もし c が既知ならば f の推定はジャンプのみからなるレヴィ過程のレヴィ密度の推定に等しいと。これについてはこれまでに多くの論文で取り扱われているとあります。しかし、複合ポアソン過程に特化した推定手法も研究されていて、Buchmann and Grübel (2003) は初めて特に f を推定する手法を考案したのですかね? 実際、1回の観測間隔の増分 X_\Delta の確率密度は以下のようになるということです。

 \mathbb{P}_{X_\Delta}(dx) = e^{-c\Delta} \delta_0 (dx) + (1 - e^{-c\Delta}) g_\Delta (x) dx \tag{2}
ただし g_\DeltaX_\Delta0 でない下での条件付き分布であって、
 \displaystyle g_\Delta = \sum_{m \geqq 1} \frac{e^{-c\Delta}}{1 - e^{-c\Delta}} \frac{(c \Delta)^m}{m!} f^{\ast m} \tag{3}
f^{\ast m}fm 次の畳み込み(合成積)であるということですが…なんでこうなるんですか?

f:id:cookie-box:20190101160814p:plain:w60

まず時刻 \Delta までに隕石の降ってくる回数 m がしたがう確率分布は  P(N_\Delta = m) = e^{-c\Delta} (c \Delta)^m / m! だから、時刻 \Delta までに1個も隕石が振ってこない確率は  P(N_\Delta = 0) = e^{-c\Delta} で、1個以上隕石が振ってくる確率は  P(N_\Delta \geqq 1) = 1 - e^{-c\Delta} だね。さらに m \geqq 0 回隕石が振ってくるとき、その質量の和 \xi_1 + \xi_2 + \cdots + \xi_m がしたがう密度関数は、fm 回畳み込んだ関数になる。…あたりをつかえば、(2)(3) が成り立つことが容易にわかるよ。

だから増分  X_\Delta をたくさん観測しても X_\Delta = 0 のデータについては f を知る上で「何の足しにもならない」…その \Delta 間に隕石が降ってこなかったら隕石の質量がしたがう分布について何も得るものがないのは当然だよね。だから van Es et al. (2007) はゼロでない観測だけ抜き出したらしい。以下のようにすれば増分がゼロでないインデックス S_i だけ取ってこれるね。
 S_1 = {\rm inf} \{j \geqq 1, X_{j \Delta} - X_{(j-1)\Delta} \neq 0 \} , \quad S_i = {\rm inf} \{j > S_{i-1}, X_{j \Delta} - X_{(j-1)\Delta} \neq 0 \}  \tag{4}
 Z_i = X_{S_i \Delta} - X_{(S_i - 1) \Delta} \tag{5}
こうして (S_i, Z_i) \, (i = 1, \cdots, n) を集めれば、 Z_1, \cdots, Z_nX_\Delta0 でない下での条件付き分布 g_\Delta にしたがう。解くべき問題は「確率密度 g_\Delta からの n 個のサンプルから f を推定する」にブレークダウンされたわけだ。

f:id:cookie-box:20190101155733p:plain:w60

van Es et al. (2007) は c が既知で \Delta = 1 のケースについて、f の特性関数と g_\Delta の特性関数の関係を利用して f の推定量を構築したんですね。Duval (2012a) はまた別の推定量を考えたようです。変換  f \to g_\Delta := P_\Delta f は明示的に逆変換できるので  f = P_\Delta^{-1} g_\Delta でよいと。 c\Delta < \log2 を仮定すれば  P_\Delta^{-1} は以下の級数で与えられるそうです。

 \displaystyle P_{\Delta}^{-1} (g) = \sum_{m \geqq 1} \frac{(-1)^{m+1}}{m} \frac{(e^{c\Delta} - 1)^m}{c \Delta} g^{\ast m} \tag{6}
実際には K+1 項目まででトランケートして以下を推定量とすると。
 \displaystyle f \cong \sum_{m \geqq 1}^{K+1} \frac{(-1)^{m+1}}{m} \frac{(e^{c\Delta} - 1)^m}{c \Delta} g_{\Delta}^{\ast m} \tag{7}
\Delta が小さい場合はこの近似は有効であるということですが…なぜこうなるんでしょう?

f:id:cookie-box:20190101160814p:plain:w60

…合成積ってフーリエ変換すると、合成積する前の関数のフーリエ変換の積になるよね。そう考えると、(3) って両辺をフーリエ変換すれば右辺がエクスポネンシャルのマクローリン展開にみえる。そう考えて式変形すると以下までたどり着けるかな。

 \displaystyle \mathcal{F}[f] = \frac{1}{c\Delta} \log \left( 1 + \frac{1 - e^{-c\Delta}}{e^{-c\Delta}} \mathcal{F}[g_\Delta] \right)
そしたらこれをもっかいマクローリン展開すればいい。
 \displaystyle \mathcal{F}[f] = \frac{1}{c\Delta} \sum_{m \geqq 1} \frac{(-1)^{m+1}}{m} (e^{c\Delta} - 1)^m \mathcal{F}[g_\Delta]^{m}
これを逆フーリエ変換すれば (6) を得るね。普通に Duval (2012a) の原論文もみられるから貼っておくね。27~28ページのところでやっぱりフーリエ変換しているよね。そういうわけで、g_{\Delta}^{\ast m} Z_1, \cdots, Z_n から推定すればいいことになったけど、これはこれでそう簡単でもないっぽいな。Duval は wavelet threshold estimator というのを構築したらしい。g_{\Delta}^{\ast m}g_{\Delta} にしたがう確率変数 m 個の和がしたがう密度なんだから、m 個の観測の和をとって推定したのかな? これはこれで収束性はよいみたいだけど、 Z_1, \cdots, Z_n から m 個のサンプルの和をつくるのは計算コストがかかると。だからこの論文では (7) を利用するけど g_{\Delta}^{\ast m} の推定手法は変えるらしい。

f:id:cookie-box:20190101155733p:plain:w60

なるほど…先に進むと、以降、g_\Delta, \,g_{\Delta}^{\ast m} を表記するとき \Delta を省くとあります。そして、「確率密度 g からの n 個のサンプルから、 g^{\ast m} \, (m \geqq 2) の『\sqrt{n}-consistent nonparametric estimator』がつくれることはよく知られている」とありますね。これはどういう意味ですか? 私によく知られていないんですが。

f:id:cookie-box:20190101160814p:plain:w60

特に最近 Chesneau et al. (2013) がシンプルな推定量を提案したとあって以下に続くのがその方法なんじゃないかな。g^\astgフーリエ変換(g^\ast)^mg^{\ast m}フーリエ変換とするよ(ややこしいな)。 この合成フーリエ変換(?)(g^\ast)^m に対し、経験合成フーリエ変換(?) (\tilde{g}^\ast)^m を以下で定義する。

 \displaystyle \tilde{g}^\ast(t) = \frac{1}{n} \sum_{j=1}^n e^{it Z_j} \tag{9}
本当は g^\ast = \int g(x) e^{itx} dx なのを経験分布上での平均にした版だね。そして (9)m 乗を逆フーリエ変換して g^{\ast m} の推定量を得る。このときカットオフを \ell として積分区間 [-\pi \ell, \pi \ell] とするみたいだね。
 \displaystyle \widehat{g_{\ell}^{\ast m}} (x) = \frac{1}{2\pi} \int_{-\pi \ell}^{\pi \ell} e^{-itx} \bigl( \tilde{g}^\ast (t) \bigr)^m dt \tag{10}
これをそのまま (7) に代入すればいい。
 \displaystyle \widetilde{f_{K, \ell}}(x) = \sum_{m \geqq 1}^{K+1} \frac{(-1)^{m+1}}{m} \frac{(e^{c\Delta} - 1)^m}{c \Delta} \widehat{g_{\ell}^{\ast m}} (x)  \tag{11}

f:id:cookie-box:20190101155733p:plain:w60

おお、これで隕石の質量がしたがう分布 f が手に入り…ませんね。副部長、いま隕石が到着する頻度の強度 c は未知です。右辺に c があっては駄目でしょう。

f:id:cookie-box:20190101160814p:plain:w60

いやだからまだこれは f の推定量  \widehat{f_{K, \ell}}(x) じゃないよ。 \displaystyle c_m(\Delta) = \frac{(e^{c\Delta} - 1)^m}{c \Delta} にも何か推定量  \widehat{c_m(\Delta)} をつくるみたいだね。以降で、 \widehat{f_{K, \ell}} のL2リスクと、データに応じた \hat{\ell} の選択方法が示されるみたいだよ。2節で  \widehat{c_m(\Delta)} をつくってそのL2リスクを議論して、3節で Chesneau et al. (2013) の合成確率密度の推定を復習して、4節で f の推定とL2リスクを議論して、5節でさまざまな分布に対してシミュレーションして、6節がまとめ、7節に定理の証明が集められているのかな。

f:id:cookie-box:20190101155733p:plain:w60

え、ああ、まだイントロダクションだったんですね…普通に番号付きの数式がどんどん出てくるのでてっきりもう本論に入っているのかと…。それでようやく2節に進むと、この節は Proposition 2つからなっていますね。1つ目の Proposition の主張は、 k \geqq 1 に対して、以下が成り立つということですか?

 \mathbb{P}(S_1 = k, Z_1 \leqq x) = e^{-c(k-1) \Delta} (1 - e^{-c \Delta}) \mathbb{P} (X_\Delta \leqq x | X_\Delta \neq 0)
この数式は日本語訳するならば、
 「初めてゼロでない質量を観測するインデックス S_1k に等しく、かつそのとき観測された質量が x 以下である確率」は、
 「k-1回目までの観測ですべて『隕石が1個も降ってこない」を引く確率」
 ×「k回目の観測で『隕石が1個は降ってくる』を引く確率」
 ×「その観測での増分がゼロでない条件の下で、その観測の増分 Z_1x 以下である確率」
に等しいということですね。したがって、初めてゼロでない質量を観測するインデックス S_1 と、そのとき観測される質量 Z_1 は独立だと。そして  S_1 はパラメータが  1 - e^{-c \Delta} の幾何分布にしたがうと。これはそうなりそうですね。2つ目の Proposition の主張は、 c \in [c_0, c_1], \, c_0 > 0, \, c_1 \Delta \leqq \log(2)/2 として、1 以上の m に対して次の (12) (13) を定義すると、
 \displaystyle H_m(\xi) = \frac{1}{(\xi - 1)^m \log \frac{\xi}{\xi - 1}} \tag{12}
 \displaystyle \widehat{c_m(\Delta)} = H_m(S_n / n) {\bf 1}_{ \left\{1 + \frac{1}{e^{2 c_1 \Delta} -1} \leqq \frac{S_n}{n} \leqq 1 + \frac{1}{e^{c_0 / (2\Delta)} -1} \right\} } \tag{13}
以下が成り立つということですね。C_mc_0, c_1, m の関数であるそうです。
 \displaystyle \mathbb{E} \left( \widehat{c_m(\Delta)} - c_m(\Delta) \right)^2 \leqq C_m \frac{\Delta^{2(m-1)}}{n} \tag{14}
つまり  \widehat{c_m(\Delta)} は漸近的ではなく普通に  c_m(\Delta) との2乗誤差が上式で抑えられる推定量になっているということですが…この関数をいきなりみてもどうしてこうなったのやらですね…。

f:id:cookie-box:20190101160814p:plain:w60

証明は 9 ページにあるね。まず p(\Delta) = 1 - e^{-c\Delta} とおいている。これは  \Delta 間に「『隕石が1個は降ってくる』を引く確率」だね。これは、 \displaystyle c \Delta =- \log \bigl( 1 - p(\Delta) \bigr) = \log \left( \frac{p(\Delta)^{-1}}{p(\Delta)^{-1} - 1} \right) の関係がある。そうすると、 \displaystyle c_m(\Delta) = \frac{(e^{c\Delta}-1)^m}{c \Delta} = \frac{(e^{c\Delta}-1)^m}{\log \left( \frac{p(\Delta)^{-1}}{p(\Delta)^{-1} - 1} \right)} = \frac{1}{\bigl(p(\Delta)^{-1}-1 \bigr)^m \log \left( \frac{p(\Delta)^{-1}}{p(\Delta)^{-1} - 1} \right)} = H_m \bigl( p(\Delta)^{-1} \bigr) となる。h_m \Delta 間に「『隕石が1個は降ってくる』を引く確率」(の逆数)を求める量に変換してくれる関数だったってだけだね。そして、  \Delta 間に「『隕石が1個は降ってくる』を引く確率」の最尤推定量は n / S_n になる。S_n は「隕石が1個は降ってくる」を n 回観測するのに費やした観測の回数だからね。だから  \widehat{c_m(\Delta)} = H_m(S_n / n) としたいけど、 S_n / n1 になりうるのでこれはできない、か。確かに観測する度に隕石が1個以上落ちているケースだと、隕石が落ちたインデックスから強度を逆算しようとしても「常に隕石が落ちてる」にしかならないね。 S_n / n1 より大きくないと困る。だから、真の強度が入っている区間 [c_0, c_1] だろうということにしておいて、観測された  S_n / n が想定される範囲をずれていたら  \widehat{c_m(\Delta)} はゼロにしてしまうという回避策を入れたみたいだ。実際、 c_m(\Delta) は強度が大きいとゼロに近づくし…ただ、 \widehat{c_m(\Delta)} = 0 だと f の推定はできなさそうだな…。

f:id:cookie-box:20190101155733p:plain:w60

その推定方法で目的の量を推定した結果を貼っておきます。いまサンプルの強度しか関係しないので単なるポアソン過程を生成しました。まあこれだけだとだから何なんですが…。

つづいたらつづく
gist570484df18205751f859829b82b25d0f

雑記: NeurIPS 2019 Proceedings の「不確か」を含むタイトル

キャラクターは架空のものです。何かありましたらご指摘いただけますと幸いです。
参考文献

f:id:cookie-box:20190101155733p:plain:w60

NeurIPS 2019 Proceedings のサイトをみるとタイトルに uncertain を含む発表が…17件もありますね。上から順にメモしていきますか…面倒ですが…。なお、現時点でクリック先で閲覧できるアブストラクトを一通り読んだのみの直感的な理解であることに留意ください。

ノイジーなラベルから密な対応を学ぶために不確かさを利用するんでしょうか? 機械学習モデルは基本的に人間が作成した教師データに基づいて学習しますが、DensePose のような場合はアノテーションに限界があるといっていますね。この DensePose というのはサイト上の画像をみるに「ある幼児の体の表面のこの座標がある大人の体の表面のこの座標に対応している」のような対応を取るものなんでしょうか。それは確かにアノテーションし切れませんね…。なので、ニューラルネットの出力としてラベルだけでなくラベルにわたる分布も出すようにして、アノテーションの不確かさを捉えるようにした…? 先行手法に比べて、どこで誤るかの相関も捉えているということですが、これって例えば肩のある点で対応が誤っていたら、肩から少しずれたところでも対応が誤っているだろう、ということなんでしょうか。それで、DensePose のタスクをより正確に解くことができたと。また、複数のモデルを組み合わせてより精度を向上させた例も紹介されているとのことです。

Verified Uncertainty Calibration
Ananya Kumar, Percy S. Liang, Tengyu Ma
天気予報やパーソナライズ度な薬の需要予測では確率が正しく推測されるようにキャリブレーションをするということですが、多くのモデルでこのキャリブレーションは out of the box になされているのではなくモデル出力へのポスト処理としてなされているということです…? この out of the box にやってないとは「ちゃんとやってないよね?」という意味なんでしょうか…。例えばよく知られている「Platt scaling」や「temperature scaling」という手法は実は報告よりキャリブレーションされておらず、自分たちがどれだけ誤っているかに気付けないと…えぇ…。「histogram binning」というどれだけ誤っているか計測できる手法もあるんですが、これはこれで精度を出すには膨大なサンプル数を必要とするようですね。だから「scaling-binning calibrator」を提案するそうです。まずパラメトリックな関数をフィッティングして、次にその値を適切に bin で切るのですかね? そうするとサンプル数がより抑えらえるそうです。でもこれでもサンプルが最小で済むというわけではないのですかね…suboptimal とあります。それで、CIFAR-10 と ImageNet で実験して histogram binning よりも 35% 低いキャリブレーションエラーを達成したとあります。

Modeling Uncertainty by Learning a Hierarchy of Deep Neural Connections
Raanan Yehezkel Rohekar, Yaniv Gurwicz, Shami Nisimov, Gal Novik
ニューラルネットで不確かさもモデリングするのにベイジアンニューラルネットは有力な方法ですが、ネットワークの重みの事前分布の選択が必要になり、正規分布や疎性が利用できる分布がよく選択されるということですね。しかしこれらのような事前分布はデータの生成プロセスに agnostic、まあデータの生成プロセスを無視しており、訓練データから外れたテストデータに不適切な推測をしてしまう恐れがあると。不適切というのはそのようなデータについてはまだ何もわからないはずだというデータに何か自信満々に推測してしまうといったことなのでしょうか。それなら何となくわかるような気はしますが。それで、入力データと識別関数に交絡因子がある? だからその交絡因子もモデリングする? 生成ネットワークと識別ネットワークがネットワークの結合っぷりを共有するというように読めますが…。それでなんか最終的に事後分布に応じてヒエラルキーからサンプリングするとあるんですが、ヒエラルキーということは最終的なモデルの中にも社長さん、部長さん、課長さん、平社員さんがいらっしゃるのでしょうか…。タイトルからするとネットワーク結合にヒエラルキーがあるというので「この結合は社長さん」ということですか…??

Propagating Uncertainty in Reinforcement Learning via Wasserstein Barycenters
Alberto Maria Metelli, Amarildo Likmeta, Marcello Restelli
「価値関数の不確かさはどのように伝播していくだろうか?」と始まっていますね。囲碁や将棋のAIでは盤面の価値を評価しますけど、そのような価値の不確かさですよね。この論文ではベイズ手法で価値関数の不確かさをモデリングして、ワッサースタイン重心の伝播をみるとあります。さらに Wasserstein Q-Learning (WQL) というアルゴリズムを考案すると。この WQL は適当な仮定の下で理論的に望ましい性質をもつということですが…? Atari ゲームでの実験でも WQL の有効性を示しているようですね。

Uncertainty-based Continual Learning with Adaptive Regularization
Hongjoon Ahn, Sungmin Cha, Donggyu Lee, Taesup Moon
Uncertainty-regularized Continual Learning (UCL) なる新しい継続学習のアルゴリズムを提案するとのことです。変分推論をベースにしているようです。正則化に基づく手法では、正則化の強さを決めるメモリコストの問題や、忘却する性能に欠ける問題があるそうですが、UCL は KL ダイバージェンス項を平均場近似の変分下限と解釈してこれらの問題を克服したと…? そもそも継続学習というのがよくわかっていませんが、学習し続けるのだから状況が変化したときはさっぱり忘れて新しく学習するべきといった感じなのでしょうか。2つの問題の後者については、重要なパラメータの値を維持してモデルを安定させる正則化項と、新しいタスクを学ぶための正則化項を新しく導入したようですね。実験でも UCL の有効性を実証しています。ソースコードへのリンクもありますね。
副部長、今回は5件ごとに背景色変えたいんでここで交代してください。

f:id:cookie-box:20190101160814p:plain:w60

私たちは背景色みたいな概念に agnostic でないといけないんじゃないのかな…。

Successor Uncertainties: Exploration and Uncertainty in Temporal Difference Learning
David Janz, Jiri Hron, Przemysław Mazur, Katja Hofmann, José Miguel Hernández-Lobato, Sebastian Tschiatschek
Posterior sampling for reinforcement learning (PSRL) という、強化学習で効果的に探索と利用のバランスを取る手法があると。さらに Randomised value functions (RVF) というのが PSRL をスケールさせる有力な手段とみられているらしいけど、ニューラルネットにそれを組み合わせても PSRL の性質は上手く発揮されなかったらしい。不確かさの伝播でもっても駄目だったって。だから Successor Uncertainties (SU) という RVF の実装方法を考案すると。これはニューラルネットワークなのかな?? まあそれで SU は Atari ゲームで人間とか Bootstrapped DQN とかを上回ったって。

Single-Model Uncertainties for Deep Learning
Natasa Tagasovska, David Lopez-Paz
「偶然な不確かさ」と「わかっている不確かさ」を1つのモデルでモデリングするみたいだね。前者の不確かさに対しては、Simultaneous Quantile Regression (SQR) っていうので目的変数のクオンタイルを捉えるらしい。後者の不確かさに対しては、Orthonormal Certificates (OCs) っていう、全ての訓練データを 0 に移す関数を用意して、これで 0 に移されなかったら out-of-distribution であるシグナルになると。なるほど、それなら「訓練データになかったから知らないよ」とわかるね。それらの工夫で不確かさも含めたモデリングをアンサンブルなしで実現したらしい。まあ別にモデルのアンサンブルが必要となってそこまですごい困るってわけでもないと思うけど、不確かさのモデリングをアンサンブルに丸投げせずにきちんと考えるってのは大事そうだな…。

Accurate Uncertainty Estimation and Decomposition in Ensemble Learning
Jeremiah Liu, John Paisley, Marianthi-Anna Kioumourtzoglou, Brent Coull
お次はアンサンブルか。Bayesian nonparametric ensemble (BNE) という手法を提案するらしい。これも色んなとこからくる不確かさを考慮するっていってるな…。その色んなとこってどこなんだろう。noise と error ってことなのかな。さっきの論文でいう「偶然な不確かさ」と「わかっている不確かさ」に相当しそうだけどやっぱりしないのかな。error っていうのは損失があるとわかっているけど表現力の限界で埋められないといったイメージがあるな…わからないけど。まあそれで、不確かさをロバストに推定できる理論的な保証もあるらしい。あと、不確かさをそのソース別に分解もできるんだって。大気汚染のデータで実験して有効性を示しているらしい。

feature importance はその特徴がモデル出力にどれくらい影響するかを推定した量で、モデルを評価したり解釈したりするのに重要だけど、高次元データの feature importance の高速な推定やその不確かさの推定は課題として残っているとあるね。そこで、機械学習モデルの判断を解釈するのを因果学習のタスクと捉えて、causal explanation (CXPlain) なるモデルを学習するらしい。CXPlain は対象の機械学習モデルにある入力を入れるとどんな出力をどれくらい出てきそうかをモデリングするのかな? CXPlain を一旦学習すればそれを利用して簡単に対象の機械学習モデルを説明できると。ブートストラップアンサンブルによって feature importance の不確かさも定量評価できるらしい。テストデータにおける feature importance も上手く予測できるのかな?

Adaptive Temporal-Difference Learning for Policy Evaluation with Per-State Uncertainty Estimates
Carlos Riquelme, Hugo Penedones, Damien Vincent, Hartmut Maennel, Sylvain Gelly, Timothy A. Mann, Andre Barreto, Gergely Neu
on-policy で trajectory データのバッチから価値関数を推定することを考える。TD手法とモンテカルロ手法の様々な問題に焦点を当てると。TD法はバリアンスは小さいがバイアスは大きい傾向があるらしい。モンテカルロ手法はその逆なのかな? それで、TD法のバイアスは局所近似の誤差が増幅された結果で、各状態において適応的に TD かモンテカルロかスイッチするモデルで誤差が軽減されるんだって。このスイッチ式の手法だと学習の信頼区間から TD のバイアスを検知できるっていってるのかな? まあ性質の異なる2つのモデルをそれぞれの得意な場面でだけつかうようにできるのならそれはよさそうだよね。
ここまでで10件だね。うち4件目、6件目、10件目が強化学習だけどこれらはもうわかんないな…。

f:id:cookie-box:20190101155733p:plain:w60

11~15件目です。

Uncertainty on Asynchronous Time Event Prediction
Bertrand Charpentier, Marin Biloš, Stephan Günnemann
未来に発生するイベントを予測するようなときに、遠い未来のできごとは自信がないはずだから、不確かさを捉えるのは大切だということでしょうか?? それで、WGP-LN と FD-Dir というモデルを提案するようですね。それぞれ probability simplex 上の分布にロジット正規分布とディリクレ分布をつかうと。probability simplex というのがよくわからないですが逆にいうとディリクレ分布がその上に分布しているというようなのが probability simplex なのでしょうね。ディリクレ分布は確率分布たちの上の確率分布ですね。これらの分布が時間に依存するということです。RNN を Gaussian process または function decomposition と組み合わせて分布のパラメータの時間発展を表現するようですね。これ、遠い未来の予測ほどロジット正規分布とディリクレ分布の確率密度が無情報な分布のところに集まっていてほしいということですよね…? まあそれで提案モデルは色々なタスクでの実験でハイパフォーマンスを発揮したそうです。

A Simple Baseline for Bayesian Uncertainty in Deep Learning
Wesley J. Maddox, Pavel Izmailov, Timur Garipov, Dmitry P. Vetrov, Andrew Gordon Wilson
SWA-Gaussian (SWAG) なる、シンプルでスケーラブルで汎用的な不確かさのモデリングキャリブレーション手法を提案するそうです。SGD による学習時に Stochastic Weight Averaging (SWA) という手法を用いるとニューラルネットの汎化性能の向上に寄与するらしいですが、SWAG はどうもそれにガウシアンな不確かさを加味した版ですね。SWAG で out-of-sample の検知や、キャリブレーションや、転移学習も上手くできるらしいです。比較した手法として変分推論や MC dropout、KFAC Laplace、temperature scaling などの名前が挙がっていますね。

On Mixup Training: Improved Calibration and Predictive Uncertainty for Deep Neural Networks
Sunil Thulasidasan, Gopinath Chennupati, Jeff A. Bilmes, Tanmoy Bhattacharya, Sarah Michalak
Mixup というのは近年提案された、訓練中に追加的にサンプルを生成するニューラルネットワークの訓練手法であるそうです。ランダムなデータのペアを合成して新しいデータとするのですかね。シンプルなのに画像分類におけるデータの増強に驚くほど効果を発揮するそうです。しかしこれまで Mixup で訓練したモデルのキャリブレーションについては触れられてこなかったと。なんと、Mixup で訓練したモデルはよくキャリブレーションされていたとのことです。つまり、モデルが出力する softmax スコアは実際の尤度をよく表現していたと。また、単に特徴を混合したのでは同じようなよいキャリブレーションは得られず、したがって Mixup でのラベルスムージングが重要な役割を果たしていたといえると指摘しています。さらに、Mixup で訓練したモデルは out-of-distribution や random-noise データに over-confident になりにくかったともありますね。そんなこんなで、ニューラルネットの典型的な overconfidence はハードラベルによる学習からくると結論付けています。

Can you trust your model&#39;s uncertainty? Evaluating predictive uncertainty under dataset shift
Jasper Snoek, Yaniv Ovadia, Emily Fertig, Balaji Lakshminarayanan, Sebastian Nowozin, D. Sculley, Joshua Dillon, Jie Ren, Zachary Nado
「モデルの不確かさを信頼できますか?」とは語りかけてくるタイプのタイトルですね…。不確かさを取り扱う深層学習手法はベイズ手法であるものないもの色々提案されていますが、著者らの知る限りでは、これらの手法について厳密なデータのシフトへの性能が比較されていないと。そこで分類タスクの SOTA な手法たちについてデータのシフトが精度やキャリブレーションに与える影響を調査したとのことです。実際、伝統的(?)なキャリブレーション手法は性能がよくなかったそうです。しかしいくつかの手法は様々なタスクですばらしい性能をみせたと。

アンサンブルによる不確かさの推定は誤分類の検知や、out-of-distribution の検知や、敵対的攻撃の検知に応用されていると。Prior Network というのも事後分布たちの上のディリクレ分布をパラメタライズすることで分類モデルのアンサンブルを抽出できると。これらのモデルは out-of-distribution に対する性能で MC-Dropout などの比較手法を上回っていると。しかし、Prior Network は分類するクラスが多いとき同じ学習方法だとスケールしない? よくわかりませんが、クラスが増えると事後分布たちの空間がどんどん大きくなりそうな感じはしますね。そこでこの論文では、ディリクレ分布間の reverse KLダイバージェンスというのをつかって適切な学習を実現したそうです。さらにこの論文では、Prior Network を利用した敵対的攻撃の検知とか敵対的トレーニングの一般化もやっているそうです。提案手法によって CIFAR-10 や CIFAR-100 で学習したモデルを攻撃するには、他の敵対的トレーニングをしたモデルや MC-Dropout よりもとても苦労したと。
…しかし、Mixup がキャリブレーションに有効かどうかもまたデータドメインによりそうですよね? それをいい出すと全てのモデルが有効かどうかはデータドメインによりますが…。しかし、「不確かさ」パートには「既存手法のこんな側面には焦点が当てられてこなかった」という論文がちょいちょい見受けられますね。

f:id:cookie-box:20190101160814p:plain:w60

最後16、17件目が以下だね。

Bayesian Layers: A Module for Neural Network Uncertainty
Dustin Tran, Mike Dusenberry, Mark van der Wilk, Danijar Hafner
ベイジアン層」というのを提案するらしい。ベイジアンニューラルネット層とか、Dropout層とか、確率的アウトプット層とか、ガウス過程層とかかかれているけど、既存のニューラルネットの対応する層をこれらに置き換えろって話なのかな? 機械翻訳タスクで実験したみたい。

Using Self-Supervised Learning Can Improve Model Robustness and Uncertainty
Dan Hendrycks, Mantas Mazeika, Saurav Kadavath, Dawn Song
self-supervised learning はラベルを必要としない便利な方法だけど、アノテーションの手間が省ける以上のメリットは世間一般に認識されていない、っていってるね。でも、著者らは敵対的サンプルや、ラベルの腐敗(どう訳すのかな)や、common input の腐敗に対するロバスト性とかがあるのを発見したと。さらに out-of-distribution の検知もできて、完全な教師あり学習のパフォーマンスを凌駕したと。

つづかない

雑記: NeurIPS 2019 Proceedings の「時系列」を含むタイトル

キャラクターは架空のものです。何かありましたらご指摘いただけますと幸いです。
参考文献

f:id:cookie-box:20190101155733p:plain:w60

NeurIPS 2019 Proceedings のサイトをみるとタイトルに time series を含む発表が…11件もありますね。上から順にメモしていきますか…面倒ですが…。なお、現時点でクリック先で閲覧できるアブストラクトを一通り読んだのみの直感的な理解であることに留意ください。

Learning Representations for Time Series Clustering
Qianli Ma, Jiawei Zheng, Sen Li, Gary W. Cottrell
「時系列クラスタリングのための表現の学習」とはシンプルな題ですね。ゲノムデータの解析や異常検知などで時系列をクラスタリングしたいことがあるのですね(ゲノムデータって時系列なんでしょうか)。feature-based なクラスタリングはノイズや外れ値に強く低次元表現を得られる一方、ドメイン知識をもつ人が人力でよい feature を見出さなければならないとあります。他方、seq2seq 手法であれば、適切な目的関数さえ設定すれば、教師なしで表現を学習できると。まあしかし、効果的にクラスタリングできるような表現を得なければならず、それが難しいわけですね。そこで今回提案する Deep Temporal Clustering Representation (DTCR) では系列の再構築及び K-means(学習途中の表現に K-means 法を適用してよくクラスタリングされているかをも目的関数に含めるのでしょうかね…読んでいませんが…)を目標に表現を学習するそうです。そうするとクラスタ特有の表現がよく学べると。かつ、エンコーダの性能を向上させるためにフェイクデータを生成したり、補助分類タスクを導入したりしたそうです。そんなこんなで広範囲の時系列に対して既存手法を凌ぐパフォーマンスを得たとあります。
「深層時系列予測モデルのための『形状』と『時間のひずみ』損失」ということで、損失関数を提案されたのですね。それを DILATE (DIstortion Loss including shApe and TimE) と名付けられたようです。A をそこから取るのは苦しくないですかね…。さておき、DILATE は時系列の急変を正確に予測すべく、「形状」の項と「変化」の項を明示的に含むようですね。これ用の誤差逆伝播も実装されたようです。DILATE の亜種も提案されていてそちらは DTW の一般化(とは?)になっていると。色々な非定常データで実験されて、平均2乗誤差や DTW による学習よりも DILATE による学習の方がよかったと。それも、ネットワーク構造によらず(全結合でも再帰的ネットワークでも)予測性能が改善したということです。
U-Time: A Fully Convolutional Network for Time Series Segmentation Applied to Sleep Staging
Mathias Perslev, Michael Jensen, Sune Darkner, Poul Jørgen Jennum, Christian Igel
「時系列のセグメントに畳込みだけのネットワークを適用するモデルで、睡眠段階のデータを解析したよ」でいいですかね。生理学的な時系列のドメインでは、畳込みネットワークと再帰的ネットワークを組み合わせたモデル(U-Time)で時系列の特徴を抽出するのがポピュラーであるそうなのですが、再帰的なネットワークはチューニングと最適化がしづらく、タスク依存の modification を要し、非専門家に扱うのは困難であるそうです。そこで今回提案する U-Time なるモデルは再帰しないと(睡眠段階の解析のためのモデルということですが、ではこれもタスク依存の modification ではないのですかね…一口に睡眠段階の解析といっても幅広いのでしょうか…)。この U-Time という名前は画像認識ドメインの U-Net をベースにしたものだからということなのですね。U-Time は入力時系列をクラスラベルの列にマッピングするそうです。全ての時点をクラス分類して、インターバル内でそれらの結果をまとめることによってそれを達成するそうです(畳込みネットワークで時系列を扱うならそのようになるのだろうといった感じはしますが…)。まあそれで、脳波データに対して睡眠段階分類タスクをやったところ U-Time の性能は既存手法を上回ったそうです。かつ、色々なタスクを通じてアーキテクチャやハイパラの探索をしなくても性能がロバストであったということです。
低次元への埋め込みと準安定なクラスタを学ぶ? 高次元な離散状態マルコフ過程であって遷移行列が低ランクなものから生成された時系列を低次元な状態に埋め込みたいということで合っているんでしょうか…自信がありませんね。ともかく、Diffusion map という手法の考え方で効果的に埋め込めたということですね。さらにこれは、遷移関数のノンパラメトリックで精度のよい近似にもつながっていると。また、状態を低次元に埋め込むことで準安定な集合にクラスタリングでき、スローな動的特性も特定できると。準安定な状態のクラスタの中からは逃げにくく、たまに別のクラスタに移るといったイメージでしょうか…。また理論的な精度も評価されているのですかね? シミュレーションによって準安定なクラスタが特定できることを検証したようです。Atariゲームをプレイする Deep-Q-Network のレイヤーから抽出した時系列でも実験し、そこからゲームの状態を特定することに成功したようですね。…これから想像すると、人の脳波からその人がいま悲しいか、うれしいか、怒っているかなどもわかったりするのでしょうか。何かのサービスにいつがっかりしてしまったかわかったりしたら有用そうですね…。
Unsupervised Scalable Representation Learning for Multivariate Time Series
Jean-Yves Franceschi, Aymeric Dieuleveut, Martin Jaggi
「教師なしでスケーラブルな多変量時系列の表現学習」でしょうか。時系列の普遍的な埋め込み手法を提案するようです。時系列の長さに対してスケーラブルで、実用的であるようですが…? 具体的なモデルとしては、Causal Dilated Convolution によるエンコーダに、なんか時系列なりのネガティブサンプリングをしたトリプレットロスを導入してこれを達成したようですね。
「グローバルに考えローカルに動く」とはいよいよキャッチコピーじみてきましたね…高次元時系列を深層ネットワークによって予測するという題ですが。需要予測や金融時系列の予測など、高次元時系列の予測には興味が尽きないわけですが、このような時系列にはたくさんの個々人の時系列が束になっているようなケースがありますね。このようなとき、グローバルなパターンを見出し、それに個々人のキャリブレーションを重ねるような予測をするとよさそうです。しかし、多くのニューラルネットによるアプローチは一系列の予測にしか対応していません。Aさんの家の電力使用量を予測するのにAさんの家の電力使用量しか利用できず、せっかくBさんの家やCさんの家のデータもあるのに活用できないといったイメージですね。そこで今回 DeepGLO なるモデルを提案するということです。DeepGLO さんはグローバルに考え、ローカルに作用すると。具体的には、グローバルな Matrix Factorizartion モデル(時間方向の畳込みネットワークでこれを制約するということですが)と、個別の系列の性質及びそれらの相関を捉えるネットワークを組み合わせているそうです。系列ごとにスケールが違う多変量時系列でも効果的に学習できるとはすごいですね。例えば、100K次元を超える時系列で WAPE(Weighted Absolute Percent Error ですかね)が既存手法より 25% 改善したそうです。
Enhancing the Locality and Breaking the Memory Bottleneck of Transformer on Time Series Forecasting
Shiyang Li, Xiaoyong Jin, Yao Xuan, Xiyou Zhou, Wenhu Chen, Yu-Xiang Wang, Xifeng Yan
局所性を利用することでトランスフォーマーのメモリのボトルネックを打破した? トランスフォーマーとは言語処理で有名なモデルですよね。トランスフォーマーを使って時系列予測に取り組もうとしたということですが、2点弱点があったそうです―言語処理界から導入してきていきなり弱点をあげつらうんですか!? なんだかトランスフォーマーさんがかわいそうですね…。弱点の1つ目は、トランスフォーマーがローカルな文脈には鈍感であるがゆえに(そうなんですか?)、局所的な特徴を学ばないということですかね(誤っていたらすみません)。2つ目はメモリのボトルネックで、長い時系列はどうしても扱いきれないと。それで、前者は畳込み Self-Attention の開発で、後者は LogSparse トランスフォーマーの開発で解決したということです。実データで実験して既存手法の性能を凌いだと。
「不規則にサンプリングされた時系列のための隠れ常微分方程式」? 不規則にサンプリングされた時系列は通常のRNNで扱うのは難しいと。それはそうですね。そこでRNNを、常微分方程式による連続的な隠れ状態をもつものに魔改造されたのですね。なるほど、だから「隠れ常微分方程式」ですか…。そもそもこれ以前に Latent ODE という手法が提案されているのですね。この ODE-RNNs も Latent ODE もポアソン過程から不規則にサンプリングされた系列を上手くモデリングしたようですね。この ODE を用いた手法は既存の RNN ベースの手法よりアウトパフォームしたということです。
Time-series Generative Adversarial Networks
Jinsung Yoon, Daniel Jarrett, Mihaela van der Schaar
「時系列GAN」ですね…。時系列の生成モデルは自己相関のような構造を再現してほしいということですよね? それは単にGANを系列データに適用するだけでは不十分ということです。といって、教師ありモデルでは生成されるサンプルは決定論的になってしまう…ということで、教師なしと教師ありの度合いを調整し、本物らしい(とは)時系列を生成するようです。双方の目的関数をがっちゃんこするのですね。現実のデータや人工データで性能を評価し、定量的にも定性的にもベンチマークの性能を凌いだようです(どうやって評価したんでしょうか)。
「浅いRNN―リソースに制約があるときの正確な時系列分類」ということですね。RNN は系列が長いと、たとえ並列化できる環境であっても、推測に計算コストがかかると。まあ並列化できませんしね。それでも長期の依存性をもたせる手法を開発したということでしょうか。1層目が入力を分割して別々の独立したRNNに投げる…? 2層目は1層目の出力をまた別の RNN にかけることで長期の依存性を捉える…?? このアーキテクチャがなぜよいのか理論的にも示したということですが、気になりますね。また、時系列分類タスクで精度を落とすことなく推論速度が改善したことも検証したそうです。
GRU-ODE-Bayes: Continuous Modeling of Sporadically-Observed Time Series
Edward De Brouwer, Jaak Simm, Adam Arany, Yves Moreau
「散発的に観測される時系列の連続的モデリング」ですか。また常微分方程式ですか? 散発的に観測される時系列の例として患者のデータとありますが、患者さんが病院に来院するのがたまにだからということですかね? まあそれで、そのような時系列をモデリングするために、まず GRU の連続時間バージョンを構築し(これは既に提案されている Neural ODE に対して構築したということですね)、また、散発的な観測を取り扱えるベイズ更新ネットワークを導入し、これらによって GRU-ODE-Bayes method を開発したということです。それでフォッカー・プランク方程式による多変量系列を表現できたと。そして実データ(医療データ、気候データ)でも人工データでも SOTA であったということです。continuity prior というのは何か事前連続モデルがあって、これを観測データによって更新するということなのですかね。少ないサンプルでも性能がよいということです。
上から順に手法の名前は「DTCR」「DILATE」「U-Time」「?」「?」「DeepGLO」「?」「ODE-RNNs」「Time-series GAN」「Shallow RNN」「GRU-ODE-Bayes」ですかね? 名前が付いていないと付いていないで識別に不便ですね。
2019-11-30 追記
それぞれが(学習された結果最終的に)何を受け取って何を出す箱かをまとめると以下でしょうか。モデルが名付けられていない論文にも適当に名前を付けました。2つ目の論文だけは学習するモデルではなく誤差関数の提案なので「学習した箱の入出力」ではないですが。
  • 「DTCR」時系列 → 特徴ベクトル(クラスタリングのための)
  • 「DILATE」2時系列 → 誤差
  • 「U-Time」時系列 → 予測クラス
  • 「low-dimensional state embeddings」高次元時系列 → 低次元時系列
  • 「Unsupervised Scalable Representation」多変量時系列 → 特徴ベクトル(一般用途の)
  • 「DeepGLO」高次元時系列 → 予測値
  • 「Time-series Transformer」時系列 → 予測値
  • 「ODE-RNNs」不等間隔な時系列 → 予測値
  • 「Time-series GAN」乱数 → フェイク時系列
  • 「Shallow RNN」時系列 → 予測クラス
  • 「GRU-ODE-Bayes」観測が疎な多変量時系列 → 予測値
「予測値」か「予測クラス」かは回帰をしていそうか分類をしていそうかでかきわけましたが、必ずしも全てのモデルが絶対にどちらかしかできないということではないと思います。さらに並び替えてみます。
  • 誤差関数:
    • 「DILATE」2時系列 → 誤差
  • 状態の次元削減:
    • 「low-dimensional state embeddings」高次元時系列 → 低次元時系列
  • 時系列の次元削減:
    • クラスタリングのための:「DTCR」時系列 → 特徴ベクトル
    • 一般用途の:「Unsupervised Scalable Representation」多変量時系列 → 特徴ベクトル
  • 予測モデル:
    • 高次元:「DeepGLO」高次元時系列 → 予測値
    • Transformer:「Time-series Transformer」時系列 → 予測値
    • U-Net / 生理学ドメイン「U-Time」時系列 → 予測クラス
    • 観測が疎:「ODE-RNNs」不等間隔な時系列 → 予測値
    • 観測が疎:「GRU-ODE-Bayes」観測が疎な多変量時系列 → 予測値
    • 省リソース:「Shallow RNN」時系列 → 予測クラス
  • 生成モデル:
    • 「Time-series GAN」乱数 → フェイク時系列

f:id:cookie-box:20190101160814p:plain:w60

2019-12-01 追記
繰り返しになっちゃうけど、改めて各発表の so what をまとめてみるよ。アブストラクトを表面的に読んだだけだから踏み外しているかもしれないけど。
やったこと モデル名 有用性 キーアイデア
誤差関数の構築 DILATE 時系列予測モデルの学習に用いることで急変も捉える。 「形状」の項と「変化」の項を明示的に含む。
状態の次元削減 low-dimensional state embeddings 状態を次元削減し準安定状態も捉える。 Diffusion map を応用。
時系列の次元削減 クラスタリング用途 DTCR 教師なしでクラスタリング向きの特徴を得られる。 再構築誤差誤差に加えてクラスタリングのよさを目的関数に組み合わせる。
一般用途 Unsupervised Scalable Representation 時系列の長さにスケーラブルな特徴を得られる。 Causal Dilated Convolution と Triplet Loss を活用。
予測高次元 DeepGLO グローバルなパターンを活用し高次元時系列を予測できる。 グローバルに Matrix Factorizartion し、それに加えローカルなキャリブレーションモデリングする。
観測が疎 ODE-RNNs 不規則にサンプリングされた時系列から上手く予測する。 常微分方程式によって隠れ状態をモデリングする。
GRU-ODE-Bayes 疎にサンプリングされた時系列から上手く予測する。 Neural ODE で GRU を構築し、隠れ状態をベイズ更新する。
省リソース Shallow RNN 限られた計算資源で長期依存性をもつ時系列を予測する。 入力を分割してそれぞれRNNし、それらの結果をまたRNNする。
Transformer Time-series Transformer トランスフォーマーを時系列に活用する。 畳込み Self-Attention と、LogSparse トランスフォーマーを開発。
U-Net U-Time 再帰せず畳込みだけで脳波時系列をクラス分類する。 U-Net を応用。
GANの構築 Time-series GAN 自己相関構造を捉えたフェイクデータを生成する。 「教師なし」と「教師あり」の目的関数を組み合わせる。

つづかない

雑記: 経験過程の話

f:id:cookie-box:20190101155733p:plain:w60

参考文献1. の1章の導入部の最初の段落を読むと、P\mathbb{R} 上のボレル集合体の上の確率測度とし、その分布関数を F(x)=P\bigl((-\infty, x]\bigr) とし、X_1, X_2, \cdots を独立に P にしたがう確率変数とします。このとき、任意のボレル集合 A に対し P_n(A)=\frac{1}{n}\sum_{j=1}^{n}\delta_{X_j}(A) と定義します(ただし、\delta_{x}(A)=1_A(x) とします)。このとき P_n は確率測度となり、経験測度とよばれるということです。また、これに対応する分布 F_n を経験分布とよぶと…何ですかこの P_n は? 経験分布ってヒストグラムのことじゃないんですか?

f:id:cookie-box:20190101160814p:plain:w60

A が切り取る範囲に X_1, X_2, \cdots, X_n のうち m 点が含まれてたら  P_n(A)=m/n ってことだからね。つまり、経験分布 F_n(x)(-\infty, x]m 点が含まれてたら  F_n(x)=m/n だから、x=-\infty0 から出発して観測値を一つ通る度に 1/n ずつ増えていく形の分布関数だね。累積ヒストグラムっぽい形だけど、等間隔のビンになっているわけじゃないからね。

f:id:cookie-box:20190101155733p:plain:w60

なるほど。それで、次の段落には、「n \to \infty でほとんど確実に F_nF に一様収束する」、言い換えると「n \to \infty\underset{x}{\rm sup}|F_n(x) - F(x)| \xrightarrow{\rm a.s.} 0」とありますね。それは確かに F_nF に収束してほしい気がしますが…これを「Glivenko-Cantelli の定理(一様大数の法則)」というのですか? 普通の「大数の法則」とは違うのですか?

f:id:cookie-box:20190101160814p:plain:w60

普通の「大数の法則」は「標本平均」が「真の平均」に近づくといっているよね。

一様大数の法則は「経験分布」が「真の分布」に近づくといっているよね。

f:id:cookie-box:20190101155733p:plain:w60

ああ、いっていることが違いますね…。ところで、その「確率収束」と「概収束」って何でしたっけ。

f:id:cookie-box:20190101160814p:plain:w60

n 回目に投げるときに裏の出る確率が 1/n になる不思議なコインがあるとしよう。このコインを投げた結果 X_n は「表」に近づくね。どんな \delta > 0 を取っても、N_\delta = \lfloor 1/\delta \rfloor + 1 とすれば N_\delta 回目以降は「裏」の出る確率は \delta より小さくなる。これが確率収束だ。「裏」の出る確率はいくらでも小さくなる。でも、「 N_0 回目以降は『裏』の出る確率は 0 になる」を成り立たせる N_0 は存在しない。これはなぜかというと、n 回目に裏が出るという事象を A_n とすると \sum_{n=1}^{\infty}P(A_n) = \sum_{n=1}^{\infty} 1/n= \infty となるよね。このとき、ボレル・カンテリの補題より、 P(\underset{n \to \infty}{\rm lim \, sup} \, A_n) = 1 となる。この  \underset{n \to \infty}{\rm lim \, sup} \, A_n というのは、「どんな n をとっても n 回目以降に『裏』が出る事象」だけど、この事象の確率が 1 だっていうんだから、 N_0 をどんなに大きくとってもそれ以降に必ず「裏」は出てしまう。ある大きい  N_0 をとればそれ以降「裏」は出ないというのが概収束だから、このコイン投げは「表」に概収束はしない。「裏」の出る確率を 0 にはできない。…ただ、n 回目に投げるときに裏の出る確率が 1/n^2 になるコインなら「表」に概収束する。\sum_{n=1}^{\infty} 1/n^2 = \pi^2/6 < \infty だから、\underset{N}{\inf} \sum_{n=N}^{\infty} 1/n^2 = 0 でないといけなくて、「裏」が無限回出る確率は 0 になるんだよね。

f:id:cookie-box:20190101155733p:plain:w60

えっ、うーん、何か騙されているような…裏の出る確率が 1/n^2 でも「N_0 回目以降に『裏』が出ることが 0 となる」ことはないのでは…僅かには「裏」が出る確率がありそうな…しかし、僅かにでも「裏」が出る確率があり続けるなら \sum_{n=1}^{\infty} 1/n^2 は発散してしまうということなんでしょうか。1/n1/n^2 も似たようなものにみえるのに、無限級数が収束するかどうかでこうも差が出るのですか。概収束は「どんな n 回目から先もこれが起きる」という形をしているために、「n 回目にこれが起きる」という事象の和集合を扱うことになり、級数が絡んでくる…? …まあそれで、一様大数の法則大数の法則とは違って「n \to \infty でほとんど確実に F_nF に一様収束する」というものですか。試行を増やすほど、ある分布に近づく…ん? そんな話どこかで聞いたことあるような…中心極限定理です!

f:id:cookie-box:20190101160814p:plain:w60

確かに中心極限定理では試行を増やすと正規分布に近づく。けど、その「正規分布に近づく」と一様大数の法則の「真の分布に近づく」は位置付けが違う。以下のような表にしてみるとわかりやすいかな。中心極限定理の「正規分布に近づく」は、「\bar{X}_n の分布は最終的には \mu にそびえ立つ棒になるけど途中経過としては正規分布をたどる(コーシー分布やt分布ではなく)」という意味だ。でも、一様大数の法則の「真の分布に近づく」は「最終的に真の分布になる」だからね。途中経過じゃない。

n 個のデータから
何をつくるか
\bar{X}_n (標本平均) F_n(t) (経験分布)
それは最終的には
何に近づくのか
ほとんど確実に \mu に収束する
大数の法則
ほとんど確実に一様に F(t) に収束する
(Glivenko-Cantelli の定理)
(一様大数の法則
途中経過としてはどのように近づくのか \bar{X} の分布は N(\mu, \sigma^2/n) に収束する、つまり、\sqrt{n}(\bar{X}_n-\mu) の分布は N(0,1) に収束する
中心極限定理
ある確率空間で経験過程 \alpha_n(t):=\sqrt{n}\bigl(F_n(t) - F(t) \bigr) の分布はブラウン橋 y_{F(t)} に収束する
(Donsker の定理)
汎関数中心極限定理の一つ)

f:id:cookie-box:20190101155733p:plain:w60

う、そういわれると確かに、F_n にとって F は最終的にたどりつく動かないところですね。しかし、中心極限定理はまだぶれがあるときの分布の話なのですね。となると、F_n における途中経過、中心極限定理に相当するものがあるのでしょうか。分布が分布にどのように近づくかですから、分布という関数の分布を考えなければなりませんね。つまり、確率過程が出てくるのでしょうか。ってその表の右下、ネタバレしてますよね…。気を取り直して、参考文献1. の導入部の3段落目を読むと、\alpha_n(t):=\sqrt{n}\bigl(F_n(t)-F(t) \bigr) なる確率過程を経験過程というのですね。経験分布と真の分布の誤差はサンプルの出方に依存する関数ですから、これは振るとある誤差関数が出てくるサイコロですね。それで、この \alpha_n(t) は各 t では N \bigl( 0, F(t) ( 1 - F (t) ) \bigr) に近づく? え、なぜです??

f:id:cookie-box:20190101160814p:plain:w60

いや、その段落にも二項分布ってかいてあるんだけど、参考文献2. の4枚目にもあるね。t を固定すれば nF_n(t){\rm Bi} \bigl(n, F(t) \bigr) にしたがう。だって、n F_n(t) は「n 個サンプルを観測したときに、t 以下の値であるのはいくつか」に他ならないけど、t 以下になる確率は F(t) だからね。二項分布は n \to \infty正規分布に近づくね。まあ独立に同一のベルヌーイ分布にしたがう n 個の確率変数の標本平均に対する中心極限定理と考えてもいいと思うけど。このときの確率測度はボレル集合体の上確率測度ってかいてあるね。t 軸上のボレル集合体じゃなくて、t 軸上のどの点からも伸びている、\alpha_n(t) の軸上のボレル集合体だね。

f:id:cookie-box:20190101155733p:plain:w60

いま t は固定していますものね。

f:id:cookie-box:20190101160814p:plain:w60

さらに t 軸上の有限集合 T を考えれば、\{\alpha_n(t)\}_{t \in T} は漸近的に多変量正規分布にしたがう。多変量の中心極限定理だね。分散共分散行列の成分は F(s)(1 - F(t) ) だ。

f:id:cookie-box:20190101155733p:plain:w60

え、なぜですか? 多変量の中心極限定理ウィキペディアにありますけど、分散共分散行列の成分は確率  F(s) で表が出るコインと確率 F(t) で表が出るコインの(共)分散ですよね。s = t の場合はベルヌーイ分布の分散  F(t)(1 - F(t) ) になるでしょうけど、 s \neq t の場合は 0 になるかと。だって2枚のコイン投げは独立でしょう? だいたい、F(s)(1 - F(t) ) って非対称でおかしいですよね?

f:id:cookie-box:20190101160814p:plain:w60

独立じゃないからね。s \leqq t としよう。地点 s でも地点 t でもコインを投げるわけだけど、もし地点 s で表が出たら、地点 t で表が出ることはもう確定しているんだよね。F_n(\cdot) は経験分布なんだから。

f:id:cookie-box:20190101155733p:plain:w60

あ。

f:id:cookie-box:20190101160814p:plain:w60

だから確率 F(s) で地点 s でも地点 t でも表が出て、確率 F(t)-F(s) で地点 t でのみ表が出て、確率 1-F(t) でどちらの地点でも裏が出るコイン投げを考えればいい。2枚のコインの分散は、\mathbb{E} [ (Z_s - F(s) )(Z_t - F(t) ) ]= \mathbb{E} [Z_s Z_t ] - F(s) F(t) = F(s) - F(s) F(t) だ。2枚のコインが独立なら \mathbb{E} [Z_s Z_t ] = F(s) F(t) だけど、独立じゃないから \mathbb{E} [Z_s Z_t ] = F(s) になる。

f:id:cookie-box:20190101155733p:plain:w60

しかし、添え字 t をもつ確率変数たち \{\alpha_n(t)\}_{t \in T} が多変量正規分布にしばられているというのは非常に聞き覚えがありますね。ガウス過程です。

f:id:cookie-box:20190101160814p:plain:w60

まさしく。特に、ガウス過程 y_t(\omega) であって、0 \leqq t \leqq 1 に定義され、\{y_t(\omega)\}_{t \in T} の平均ベクトルがゼロベクトル、自己共分散が {\rm Cov} \bigl( y_s(\omega), y_t(\omega) \bigr) = s(1-t) (但し s \leqq t とする)であるものをブラウン橋という。

f:id:cookie-box:20190101155733p:plain:w60

ブラウン橋? なぜ橋なんていうんです? 私も適当な確率過程に「瀬戸大橋」などと名付けてよいのですか??

f:id:cookie-box:20190101160814p:plain:w60

ブラウン橋はその定義から両端は  (t=0, y=0) (t=1, y=0) に必ず固定されるからね。その間を架ける橋ということでそうよぶんじゃないかな。ほら、以下の記事に絵があるよ。

f:id:cookie-box:20190101155733p:plain:w60

渡りたくありませんよそんなガタガタした橋。

f:id:cookie-box:20190101160814p:plain:w60

だから有限集合 T \subset[0,1] について \{\alpha_n(t)\}_{t \in T} はブラウン橋 y_{F(t)}(\omega) に近づく。これは多変量の中心極限定理から大丈夫だね。ブラウン橋は両端が固定されているけど、真の累積分布も経験累積分布も t \to -\infty では 0t \to +\infty では 1 になるからそりゃ両端はぴったり合うというわけだ。…じゃあ、T が無限集合になったらどうだろう…この話は難しいらしい。そもそも「関数が収束するってどういうこと?」となってくるしね。参考文献3. の4, 5枚目にも「初めて読むときは理解できる必要はありません。無理して理解しようとせず、次の次のページに早く進みましょう。」「早く次のページに移動してください。」とある。

f:id:cookie-box:20190101155733p:plain:w60

どれだけ6ページ目に移動してほしいんですか!? …でも副部長、参考文献1. の2ページ(上から5行目)にも、参考文献2. の21ページ目にも、参考文献3. の5ページ目にも、ここで Kolmogorov さんなる方のお名前が出てきますね。Kolmogorov さんという方が何かされたのですか?

f:id:cookie-box:20190101160814p:plain:w60

真の分布 F が連続なら、経験過程 \alpha_n(t) の無限大ノルムの漸近分布はブラウン橋 y_{F(t)} の無限大ノルムの分布に一致することを示したみたいだね。だから、経験過程は有限個の点での値がブラウン橋に近づいてただけじゃなくて、無限大ノルムとしてもやっぱりブラウン橋に近づいてたってことだね。でも無限大ノルムって関数についての情報のごく一例にすぎないよね。もっと一般的な関数の情報(関数を入れたら値が出てくる箱=汎関数)もブラウン橋に近づかないの?って考えたのが Doob さんで、ある条件下ではその意味でもブラウン橋に収束するといえると示したのが Donsker さんなのかな? 参考文献 3. のスライドの5ページの一番下に「関数の集合が一様にタイトであるためには何らかの条件を満たす必要があります」とあるけど、それが参考文献 2. の36~37枚目に相当するのかな。Donsker さんはこれを踏まえて経験過程がブラウン橋に収束することを示したんだと思う。たぶん参考文献 3. のスライドの5ページでいっている流れがそうだと思うんだけど。参考文献 2. の30枚目にも Prohorov の定理が出てくるしね。でもこれらのスライドにかかれている文字を読んだだけだから全然わからないな…。

つづかない

論文読みメモ: Applying the Delta method in metric analytics: A practical guide with novel ideas(その1)

以下の論文を読みます。

Alex Deng, Ulf Knoblich, Jiannan Lu. Applying the Delta method in metric analytics: A practical guide with novel ideas. In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (KDD’18). ACM, 233–242, 2018.
[1803.06336] Applying the Delta method in metric analytics: A practical guide with novel ideas
KDD 2018 | Applying the Delta method in metric analytics: A practical guide with novel ideas
以下の記事でも同じ論文が紹介されています。論文で紹介されている4つのケースのうち1つ目などは以前から従来法とデルタ法の比較が紹介されているようです。例えば以下のサイト(ただこれは「正規二変量の比」とされています; 論文はビッグデータの文脈で「『漸近』正規二変量の比」の計測手法として紹介していることになります)。
※ キャラクターは架空のものです。解釈の誤りは筆者に帰属します。おかしい点がありましたらご指摘ください。
次回:まだ
f:id:cookie-box:20190101160814p:plain:w60

タイトルは「指標の分析への、デルタ法の応用―斬新なアイデアと実践ガイド」かな。

f:id:cookie-box:20190101155733p:plain:w60

斬新なアイデアて。

f:id:cookie-box:20190101160814p:plain:w60

近年ではオンライン指標によってビジネスパフォーマンスが計測・監視されているけど、データが多いのでそういう指標ははだいたい正規分布にしたがうと考えてよい(本当かな)。ノイズがガウシアンなら低コストで逐次的に推測できる。ただ諸事情で推測しづらい指標もある。だからデルタ法を応用してみる―というアブストラクトだね。

f:id:cookie-box:20190101155733p:plain:w60

それだけだと斬新さがわからないですね…。イントロの「背景」を読むと、ビッグデータ時代になったが、SVMをだしにデータサイズにスケールしないアルゴリズムもあるといった後、メタアルゴリズムに注目が集まっているといっていますね。メタアルゴリズムというのは並列化が困難なアルゴリズムを分散アルゴリズムにするものなんですね? どういったものなんでしょうか…。まあそれで、次の節には「でも普通に分散できることもあるよね」ということで、例えばあるデータの平均と分散がほしいならデータの和と2乗和だけ蓄積すればよいと…確かにそうですね! その発想はなかったです。

f:id:cookie-box:20190101160814p:plain:w60

それくらい発想して。

f:id:cookie-box:20190101155733p:plain:w60

その次の節では、なんかもう所望の指標をモデリングしようという話になっていますね。中心極限定理は、独立に同一の分布にしたがう確率変数 X_1, \cdots, X_n の標本平均を \bar{X}、真の平均と分散を \mu, \, \sigma^2 とすると、\sqrt{n}(\bar{X}-\mu)/\sigma n \to \infty で標準正規分布に分布収束するというものですね。昨日やりました。このことから母平均の信頼区間が見積れると。科学分野でエラーバーをみたらだいたいこれだろうと。ただこれだけだと利用できる場面が限定的すぎるということでデルタ法というのが続いて紹介されていますね。何か n に依存する確率変数 T_n と定数 \thetan \to \infty 以下を満たすとき(\xrightarrow{d} は分布収束)、

\sqrt{n}(T_n - \theta) \xrightarrow{d} N(0,1)
\phi'(\theta) が存在して \phi'(\theta) \neq 0 であるような連続関数 \phi について以下が成り立つということです。
\sqrt{n} \bigl( \phi(T_n) - \phi(\theta) \bigr) \xrightarrow{d} N \bigl( 0,\phi'(\theta)^2 \bigr)
これは、\theta の周りでのテイラー展開より \phi(T_n) = \phi(\theta) + \phi'(\theta)(T_n - \theta) + O\bigl( (T_n - \theta)^2 \bigr) なので、\sqrt{n} \bigl( \phi(T_n) - \phi(\theta) \bigr) = \phi'(\theta) \bigl( \sqrt{n} (T_n - \theta) \bigr) +  O\Bigl( \bigl( \sqrt{n}(T_n - \theta) \bigr)^2 / \sqrt{n} \Bigr) であることからしたがうということです。2変量の場合も同様です。 (T_n, U_n)^\topn \to \infty 以下を満たすとしましょう。
\sqrt{n} \bigl( (T_n, U_n)^\top - (\theta_t,\theta_u)^\top \bigr) \xrightarrow{d} N(0,\Sigma)
(\theta_t, \theta_u)^\top の周りでのテイラー展開より、
 \phi(T_n, U_n) = \phi(\theta_t, \theta_u) + \phi_t'(\theta_t, \theta_u)(T_n - \theta_t) + \phi_u'(\theta_t, \theta_u)(U_n - \theta_u)  + O\bigl( (\cdot_n - \theta_\cdot)^2 \bigr)
\sqrt{n} \bigl( \phi(T_n, U_n) - \phi(\theta_t,\theta_u) \bigr) = \begin{pmatrix} \phi_t'(\theta_t, \theta_u) \\ \phi_u'(\theta_t, \theta_u) \end{pmatrix}^\top \sqrt{n} \bigl( (T_n, U_n)^\top - (\theta_t,\theta_u)^\top \bigr) + O\bigl( \sqrt{n} (\cdot_n - \theta_\cdot)^2 \bigr)
ですので結局、
 \displaystyle \sqrt{n} \bigl( \phi(T_n, U_n) - \phi(\theta_t,\theta_u) \bigr) \xrightarrow{d} N \left( 0, \begin{pmatrix} \phi_t'(\theta_t, \theta_u) \\ \phi_u'(\theta_t, \theta_u) \end{pmatrix}^\top \Sigma \begin{pmatrix} \phi_t'(\theta_t, \theta_u) \\ \phi_u'(\theta_t, \theta_u) \end{pmatrix} \right)
が成り立ちます…これ、通常の確率変数の変換とはどう違うんでしょうか。

f:id:cookie-box:20190101160814p:plain:w60

\phi が1次関数だったら \sqrt{n}(T_n - \theta)N(0, 1) にしたがうとき \sqrt{n} \bigl( \phi(T_n) - \phi(\theta) \bigr)N \bigl( 0,\phi'(\theta)^2 \bigr) にしたがうね。n \to \infty なら \phi が1次関数でなくても \sqrt{n} \bigl( \phi(T_n) - \phi(\theta) \bigr) は近似的に N \bigl( 0,\phi'(\theta)^2 \bigr) にしたがう(\sqrt{n} がかかっているからね)。さらに n \to \infty\sqrt{n}(T_n - \theta) \xrightarrow{d} N(0, 1) の場合も  \sqrt{n} \bigl( \phi(T_n) - \phi(\theta) \bigr) \xrightarrow{d} N \bigl( 0,\phi'(\theta)^2 \bigr) がいえる、か。「正規分布にしたがうある確率変数について n \to \infty で成り立つこと」であれば、「 n \to \infty正規分布に近づく確率変数」でも成り立つだろうという合わせ技の発想って感じがするね。

f:id:cookie-box:20190101155733p:plain:w60

なるほど…この式の後にこの計算は parallelizable とありますが、この T_n は標本平均 \bar{X} であるという前提で進んでいくんでしょうか。標本平均でなかったらサーバクラスタごとに並列に情報を蓄積していけるかわからないと思うんですが…まあ標本平均以外にどのような標本依存の確率変数がデルタ法の条件を満たすかわからないですが。それで、問題は、指標を計測するのに適切な \phi がわからない? え?? 「指標を計測しよう → 並列化のためにデルタ法 \phi(\bar{X}) を使おう → \phi って何だっけ ← 今ここ」という状況なんですか?? どうしてその見通しなくデルタ法を使おうと思ったんですか??

f:id:cookie-box:20190101160814p:plain:w60

まあそれだけ並列化する必要性が逼迫していたんじゃないかな…。それで、この論文では以下の4つの事例(多いな)への応用を紹介するらしいよ。

  1. ratio metrics(同じ指標の対照群と処置群における値の比)
  2. cluster randomized experiments(クラスターランダム化比較試験)
  3. outer confidence intervals
  4. within-subject studies(被験者内実験)

コードは Microsoft Azure Notebooks - Online Jupyter Notebooks で公開してるって。
f:id:cookie-box:20190101155733p:plain:w60

では一つ目からみていきましょう。

1. 同じ指標の対照群と処置群における値の比
X_1, \cdots, X_n を独立に同一の分布にしたがう対照群からの観測結果(真の平均と分散 \mu_x, \, \sigma_x^2)、Y_1, \cdots, Y_n を独立に同一の分布にしたがう処置群からの観測結果(真の平均と分散 \mu_y, \, \sigma_y^2)とします。また \sigma_{xy} を共分散としますが、対照群とするユーザと処置群とするユーザをランダムに選出していれば \sigma_{xy} = 0 であると。まあその場合、以下の表で X_i カラムと Y_i カラムが相関をもってはおかしいですね。
idX_iY_i
1対照群での1人目の指標の値処置群での1人目の指標の値
2対照群での2人目の指標の値処置群での2人目の指標の値
3対照群での3人目の指標の値処置群での3人目の指標の値
それでこのとき、単なる標本平均の差 \hat{\Delta} = \bar{Y} - \bar{X} が平均処置効果(ATE) \Delta = \mu_y - \mu_x の不偏推定量になるということですが、標本平均は母平均の不偏推定量なのでそうなりますね。そして、\bar{X}\bar{Y} も標本数が大きければ近似的に正規分布にしたがうので、\hat{\Delta} も近似的に正規分布にしたがうと。正規分布の再生成から明らかです。よって \hat{\Delta} の信頼区間は求まります。それはそうです。
しかし―ここからが本論ですね―現実には \Delta = \mu_y - \mu_x ではなく \Delta = (\mu_y - \mu_x)/\mu_x を推定したいはずだといっています。推定量 \hat{\Delta} = (\bar{Y} - \bar{X})/\bar{X} によって。まあ確かに、UI を変更したことで1人あたりクリックする商品の数が何個増えたというより、何割増えたといった方が UI 変更がどれだけすごかったのかわかりやすいのかもしれません。…でも、グーグル検索すると正規分布にしたがう2つの確率変数の商はコーシー分布にしたがうと出てきますよ?

f:id:cookie-box:20190101160814p:plain:w60

それはどちらも平均が 0 とかの場合だね…。

まあでも確かに、まずはまともに出そうとしてみるべきだろう。ただそうするとなんだか分布自体が複雑だ。これじゃ信頼区間がよくわからない。だから Fieller は工夫した。たぶんこんな考え方だと思う。\Delta は本来定数なんだと思ってノイズ \varepsilon を分離すれば  (Y-X-\varepsilon)/X = \Delta \, \Leftrightarrow \, Y - (1+\Delta)X = \varepsilon となる。\varepsilon = Y - (1+\Delta)X の漸近分布は \Delta を用いてかける(\Delta が定数なら正規確率変数の線形結合なんだから簡単だ)。ただ本当は \varepsilon0 になってくれなくちゃならない。n を大きくしても残る \varepsilon のノイズは \Delta が不確定だったせいなんじゃないか、と考えて \Delta に差し戻す…というのは以下の PDF の「1.2 Fieller’s theorem による比の信頼区間」を読んだ適当な解釈だけど。この Fieller の方法による信頼区間(タイプするのはしんどかったから論文をみて)は精度がよいらしい(サンプルがそこまで多くないときは;上の PDF にもデルタ法より Fieller の方法の方がよいとある)。そしてさらに、デルタ法を用いる方法がある(上の PDF にも 1.1 として載ってるね)。こっちの方が表式はシンプルになる。T_n = \bar{X}, \, U_n = \bar{Y},\,  \phi(x, y) = y/x, \, \phi_x'(x, y) = -y/x^2, \, \phi_y'(x, y) = 1/x を上の2変量のデルタ法に代入するとこうだ。
 \displaystyle \sqrt{n} \left( \frac{\bar{Y}}{\bar{X}} - \frac{\mu_y}{\mu_x} \right) \xrightarrow{d} N \left( 0, \begin{pmatrix} -\mu_y/\mu_x^2 \\ 1/\mu_x \end{pmatrix}^\top \Sigma \begin{pmatrix} -\mu_y/\mu_x^2 \\ 1/\mu_x \end{pmatrix} \right)
\mu_x, \mu_y を標本平均、\Sigma を標本分散共分散行列で代用するなら、上の分散はこうなる。
 \begin{pmatrix} -\bar{Y}/\bar{X}^2 \\ 1/\bar{X} \end{pmatrix}^\top  \begin{pmatrix} s_x^2 & s_{xy} \\ s_{xy} & s_y^2 \end{pmatrix} \begin{pmatrix} -\bar{Y}/\bar{X}^2 \\ 1/\bar{X} \end{pmatrix} = \frac{1}{\bar{X}}\sqrt{s_y^2 - 2\frac{\bar{Y}}{\bar{X}}s_{xy} +\frac{\bar{Y}^2}{\bar{X}^2}s_{x}^2}
これから信頼区間が論文の (4) 式になるとわかるね。

f:id:cookie-box:20190101155733p:plain:w60

Fieller さんの手法は検算しましたか?

f:id:cookie-box:20190101160814p:plain:w60

めんどいからやってない。まあそれで、デルタ法はエッジワース展開によりさらによい近似に拡張できるとある。

f:id:cookie-box:20190101155733p:plain:w60

エッジワース展開?

f:id:cookie-box:20190101160814p:plain:w60

私たちは昨日中心極限定理の話をたどった。私たちはそこで \varphi_1(t)3 次以上の項が消えるのをみた。確かに n \to \infty\varphi_1(t)3 次以上の項は消える。ただ、現実には n\infty にまでなっていないのだから、消えていない。

f:id:cookie-box:20190101155733p:plain:w60

え? いや確かに、現実のシチュエーションでは、厳密にはそうでしょうけど。

f:id:cookie-box:20190101160814p:plain:w60

だから 3 次以上のモーメントも拾ってあげよう。 \log \varphi(t) \log \varphi_1(t) で表すのは容易だ。これを  \varphi(t) に戻す。このとき、ネイピア数の定義の形の極限を逆につかえば無限級数の形で表現できる。この無限級数の1項目の反転は正規分布だ。2項目以降も反転すれば、正規分布からのぶれを調整できる。…これがエッジワース展開だ。実際には標本の情報をもとにこの調整をすることになる。論文の3ページに、 skewnes の調整方法が紹介されているね。

f:id:cookie-box:20190101155733p:plain:w60

そんな調整ができるんですか。私はてっきり、3 次以上のモーメントはあきらめるしかないものだと…救出する方法があったんですね。

f:id:cookie-box:20190101160814p:plain:w60

ただ Edgeworth series - Wikipedia には、一般にエッジワース展開は確率分布の「非負」「積分して1」という性質を保証しなくなってしまうことや、平均の周りでの展開であるので裾について誤差が出やすいなどの欠点がかいてあるね。

(その2があれば)つづく