2

以下の 2 つのプロットは、ほぼ同じ情報を伝えます。

  • 左側のものはヒストグラムで、Y 軸は度数 (つまり、各ビンに関連付けられた範囲内で値が表示される頻度) を表します。

  • 右側は密度 (KDE 推定) です。Y 軸は密度を表します (積分の合計は 1 になります)。

私は通常、密度プロットを好みます (調整できますが、通常、Y 軸は解釈が難しくなります。

変数のドメインが -Inf から Inf に及ぶと仮定すると、KDE ​​推定は合計 1 になる密度を返すことはわかっていますが、KDE ​​推定の結果の PDF を周波数にマッピングする方法はありますか (たとえば、値を周波数を持っています)?

軸の「スケーリング」の問題ですか?それとも他に何か関係がありますか?

    密度と周波数

4

1 に答える 1

2

最初に密度点を計算してから、プロットする必要があります。http://scikit-learn.org/stable/modules/density.htmlを読んでください。いくつかのコード:

from sklearn.neighbors.kde import KernelDensity
import numpy as np
import matplotlib.pyplot as plt 

# This X is your data for the histogram
X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])
X = X.reshape(-1, 1)

kde = KernelDensity(kernel='gaussian', bandwidth=1).fit(X)
x = np.linspace(X.min(), X.max(), 100).reshape(-1, 1)

density = np.exp(kde.score_samples(x))

plt.plot(x, density)
plt.show()

ここに画像の説明を入力

于 2014-09-05T12:02:28.773 に答える