下の行リストは、一連の線を表しています。私はこれらの線を5MHzにするために使用されるレーザーの線幅を知っています。ですから、素朴なことに、帯域幅が5のこれらの線の核密度推定値は、前述のレーザーを用いた実験で生成される連続分布を与えるはずです。海底のkdeplotでの帯域幅の混乱
次のコード:
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
lineslist=np.array([-153.3048645 , -75.71982528, -12.1897835 , -73.94903264,
-178.14293936, -123.51339541, -118.11826988, -50.19812838,
-43.69282206, -34.21268228])
sns.kdeplot(lineslist, shade=True, color="r",bw=5)
plt.show()
が5MHzよりもはるかに大きな帯域幅を持つガウスのように見えます
が得られます。
私は何らかの理由で、kdeplotの帯域幅がプロット自体と異なることを推測しています。最高線と最低線との間隔は約170.0MHzである。私はこの要因により、帯域幅を再スケールする必要があると仮定すると:
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
lineslist=np.array([-153.3048645 , -75.71982528, -12.1897835 , -73.94903264,
-178.14293936, -123.51339541, -118.11826988, -50.19812838,
-43.69282206, -34.21268228])
sns.kdeplot(lineslist, shade=True, color="r",bw=5/(np.max(lineslist)-np.min(lineslist)))
plt.show()
期待5MHzの帯域幅を持っているように見える線で。
その解決策は、私はお尻から引っ張ってきたので、なぜシーボーンのkdeplot内部に詳しいことがある人がこの理由をコメントできるかどうか不思議です。
おかげで、
サミュエル注意する
帯域幅のパラメータは、ヒューリスティックによって選択されます。ここでは、2つの異なるパラメータを選択できます。これが失敗する場合があります。通常、このパラメータを推定するために相互検証を使用しますが、これは海軍では不可能です。グリッドサーチベースのCVは、scikit-learnで可能で、最適化ベースのCVは、統計モデルで可能です。 – sascha
ありがとうございました。私が理解するように、あなたはスコットとシルバーマンのルールを指しています。もう1つのオプションは、私が理解しているように、上記のように帯域幅を明示的に設定しています。 –