線形推定とTruncation

  • こちらでGaussian Sequence Modelをなぞっている。その一環
  • 線形推定というのは、観測値ベクトルyと行列Cとを使って推定値を決める方法、\theta_C(y) = Cy、全般のこと
  • 今、連続関数推定をするような場合を考えると行列Cは無限行x無限列になる
  • このような線形推定でのリスク関数の最大値はtr(C^T C)= \sum diag(C^T C) = \sum_i \sum_j c_ij^2(ヒルベルト・シュミットノルム)になるのだが、無限行x無限列の行列の全成分の総和というのは、決めごとをしないと発散してしまう
  • また、このC^T CのTraceっていうのは、適当に回転してやっても変わらない性質があるから、結局、なにかしらうまい回転をした上で、出てくる対角成分(固有値)の二乗和について制約(発散しないようにする)ことが必要になる
  • 簡単に言えば、無限個の要素があったら、一部だけに値を与えて残りは0にする、というような方法(もしくは、結局そうしているのと同じような方法)で、まとめ上げる必要が出てくる
  • 実際はヒルベルト・シュミットノルムが有限であって、すべての固有値が[0,1]に含まれ、値が1である固有値の数は高々2であることが、必要であることが知られている
  • このような無限個の要素があるときに、有限個の要素にだけ値を与えて残りは0にする方法がTruncationで、それは\theta_C(y)= Cyという形式の「線形推定」のすべてに要求される性質
  • Diagonal shrinkage
    • 全要素をそれぞれ独立に扱って、「そのまま採用」を1、「完全に0に縮める」のを0、「ある割合で縮める」のを0 < b_k < 1というようにするやり方がDiagonal shrinkage
    • その場合の行列Cは対角行列になっている
    • Minimum Squared Error 関数(MSE)が要素ワイズになっている(r(\hat{\theta_c},\theta)=\epsilon^2\sum_k c_k^2 + \sum_k (1-c_k)^2\theta_k^2)なので、どうやってminimaxすればよいかを考えたりするのも楽
  • 対角行列になっているので、要素を個別に扱うことができて、楽
  • 移行のカーネル推定・スプライン推定でも、Diagonal shrinkageに帰着して「簡略化」の基本が同じになっているもの、多数。広い意味では、「線形(な省略による)推定」
  • Truncation estimators
    • 要素iについてi\le \nuならそのまま採用、i>\nuなら0にするというのがTruncation estimators. 周期が小さい方から\nuを採用というのもこれに当たる
    • そのときのMSEはr(\hat{\theta_{\\nu}},\theta)=\sum_i E(\hat{\theta_{\nu,i}}-\theta_i)^2 = \nu \epsilon^2 + \sum_{i > \nu} \theta_i^2なので、これを、楕球制約で考えれば、\Theta(a,C)=\{\theta : \sum_0^{\infty} a_k^2 \theta_k^2 \le C^2\}と見比べることとなり、第二項は[tex;a_k;k>\nu]のうちの最小のもの(a_{min,k})を用いて、r(\hat{\theta_{\nu}},\epsilon)の最大化した値(\bar{r}(\hat{\theta_{\nu}},\epsilon)\nu \epsilon^2 + \frac{C^2}{a_{min,k}^2}となる
    • ここでさらに、フーリエ変換という制約を入れると、周波数の小さい方から採用していって、\nu=2k+1でTruncateするとなれば、結局、\bar{r}(\hat{\theta_{\nu}},\epsilon} = (2k+1)\epsilon^2 + \frac{C^2}{(2k+2)^{2\alpha}}となる。
    • この式から、細かい周波数まで採用すると分散が大きくなるので、それを抑えるように周波数の増加を抑えて、minimax推定しましょう、という図式に落ち着く