私は分布から来ていると仮定しているいくつかのデータを持っており、その分布を推定しようとしています。現在、R のパッケージKernSmoothと Gaussian カーネルを使用しており、パッケージのdpik()
関数を使用して帯域幅を自動的に選択しています。(AMISEまたはソートを使用していると思います。より良い自動帯域幅選択プロセスがあれば教えてください)しかし、私が興味を持っているのは、分布の最高ピークに対応するx値を見つけることです. ..これは私には非常に単純なことのように思えますが、以前は些細なこととして後回しにしていましたが、フラストレーションがたまり、問題が発生しています。のbkde()
KernSmooth の関数は、アルゴリズムが推定した分布をマッピングする (x,y) 座標のセットを返します。データを線形検索して最大のy値を見つけ、対応するx値を簡単に取得できることはわかっていますが、自動化されたプロセスで頻繁に呼び出される可能性のある関数を書いているので、非効率的な。bkde()
多くの値を返すため、特に非効率的です。
私の他のアイデアは、それに曲線を当てはめて導関数を取り、それをゼロに設定しようとすることでしたが、それも非効率的なように思えます。たぶんdensity()
、ここで使用するより良い機能でしょうか?
これに効率的な方法があれば教えてください...私は実際に見つけた分布について少し推論を行う予定です。両側のテールの特定のパーセンテージを切り取るカットオフ ポイント (つまり、信頼区間) を見つけて、期待値を見つけるなどです。私の漠然とした計画は、いくつかのモンテカルロ手法を使用するか、分布から引き出して、ブートストラップ手法を使用して領域のアイデアを得ることです。これらのいずれかを行うための方法に関するヘルプは大歓迎です。