1

この形式の ksdensity 関数を MATLAB で使用しています。

[f,xi] = ksdensity(x)

ドキュメントには、「f は xi の点で評価された密度値のベクトルです。密度は、x のデータの範囲をカバーする等間隔の 100 個の点で評価されます。」

現在、私の xi 値は、x のデータよりもはるかに広い範囲をカバーしています。どうしてこれなの?

私のデータでは、

>> min(x)

ans =

   -2.2588

>> min(xi)

ans =

   -6.8010
>> max(x)

ans =

    6.5326

>> max(xi)

ans =

   11.0748

自分で xi 範囲を指定できることは知っていますが、デフォルトで x の最小値と最大値の間で等間隔に設定されていないのはなぜですか?

ヒストグラムのビンが x の範囲のみをカバーしている場合、ヒストグラム推定量とカーネル推定量を比較するのが難しくなりますが、ksdensity から指定されたテスト ポイントはこの範囲を超えています。

4

1 に答える 1

1

ksdensityガウス カーネルを使用してヒストグラムの平滑化を実行します。例として、インパルス応答の出力を確認します。

[f,xi] = ksdensity(0);
plot(xi,f)

ここに画像の説明を入力

ガウスの幅は 1 です。これは、データの両側に約 3 を追加することを意味します (これにより、厳密に正のヒストグラムに負の値があるように見える可能性があります)。したがって、データが狭い範囲にしか及ばない場合は、 でカーネル幅を縮小する必要がありますksdensity

于 2012-05-01T13:40:34.257 に答える