重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

カーネル密度推定でバンド幅の求め方をお伺いしたいです。

カーネル密度推定で、
「平均積分二乗誤差を最小化するようなバンド幅」が最適なバンド幅である。
というのは理解できたのですが、このバンド幅の求め方の式の導出が理解できず、
もう一歩理解するための書籍や導出方法など紹介いただけたら嬉しいです。

ttp://ibis.t.u-tokyo.ac.jp/suzuki/lecture/2015/dataanalysis/L9.pdf
p17のJ(h)を定義するところまでは理解できますが、
クロスバリデーションによって置き換えるあたりから理解が止まってしまいます。

よろしくお願いいたします。

ネット上で該当しそうな文献やサイトをあさってみましたが、なかなか理解できる資料にたどり着けませんでした。
tps://www.youtube.com/watch?v=BmqPPHyKyR4
ttp://stat.econ.osaka-u.ac.jp/~suryo/201406/JEA2014Spring_NonparametricsR.pdf
(↑p18あたりから詰まる)

A 回答 (2件)

#1です。



Rのmcycleのデータで基底関数展開(カーネル密度推定のこと:核関数はガウス関数)を行った例を示します。

バンド幅bwを2水準振ってカーブフィッティングしています。
統計ソフトRの関数ksmooth()を使ってやっています。
Rでは、bwは、核関数として使用する密度関数の四分位数=-0.25×bw と定義されています。
つまりbwを大きくすると、それだけ幅の広いガウス関数の重畳として曲線を作り出しますので、グネグネ感は消えます。

さて、これは衝突後のヘルメットのGですが、赤い線のように振動しながら減衰していくことを技術的に知りたいのにもかかわらず、bwをクロスバリデーションなんかで広げたら、青い線のようになり重要な点を見落としてしまいます。
ですから、「クロスバリデーションで決める」という記述をヘンだと思いました。目的を明記しなきゃダメ、ということです。
同様に、ご質問者が「飛躍している」と思われたことにもすごく共感します。

私は技術者で、「平滑化」の手段として基底関数展開を使います。
講義資料を書かれている方は、「予測」の手段としてグネグネ曲線を求めることを考えているんでしょうね。
もちろん予測ですから、この事例であれば、説明変数としてヘルメットの重量xなどが入ってきますけど。
「カーネル密度推定のバンド幅の求め方」の回答画像2
    • good
    • 0

誰からも回答が付かないので、私から。


私は企業で統計を推進する立場の者です。

カーネル密度推定を、カーブフィッティングとして使うなら、損失関数を最小化するだけの話なので、通常はグリッドサーチ(細かく刻んで)を行って、ハイパーパラメータを決めると思います。
損失関数が微分できるのであれば、微係数を0と置いて解いてもいいです。
これによって、現データに対して誤差を最小化するモデルが、最も好ましいモデルとして決まってきます。かなりグネグネなカーブになると思います。
でもそれは、現データに対して「のみ」好ましいのであって、将来のデータに対してもフィッティングすることはありません。

あなたが読んでいる資料は、カーブフィッティングではなく、予測モデルを作ろうとしているのではないですか。
であれば、汎化性が必要になるから、クロスバリデーションによる検証的ストッピングルールを使って過学習を防止しようとしているのだと思います。
でも17ページにはそんなことはみじんも書いてありませんよね。

提示された資料の前後の文脈を詳しく読んだわけではないので分かりませんが、予測を行う目的であれば、過学習を防止する必要があります。
現データにのみ最適なカーブではなく、将来どんなデータが来てもまあまあ乗るカーブでなければなりません。だから予測として成立します。
そのための手立ては、
①検証的ストッピングルール・・・クロスバリデーション(ひとつとっておき法、ホールドアウト法、nフォールディング法)
②適応的ストッピングルール・・・情報量規準(AIC、BIC)
というストッピングルールによって適切なところで止め、過度にフィッティングするのを避けるのです。
いずれも、横軸にハイパーパラメータ、縦軸に損失関数値をとれば、損失関数がこれらの方法で最小になった時の横軸値を使ったモデルが、汎化能力が一番高いと判断されます。
当然、密度推定したカーブの形は、グネグネではなく滑らかになります。

例えば、衝突後、ヘルメットのGは振動しながら減衰していくのに、そうやってバンド幅を決めると「単調減少」になってしまったりします。
(Rのmcycleのデータを用いて行う、カーブフィッティングの演習問題です)

さて、ご質問の趣旨は、このようなことを求めてみえたのでしょうか。そうであれば、書籍を探します。
    • good
    • 0

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