아래의 lineslist는 일련의 라인을 나타냅니다 (일부 화학 스펙트럼의 경우, 가정 해 봅시다). 나는이 선들을 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()
5 메가 헤르츠보다 훨씬 큰 대역폭을 갖는 가우시안처럼 보이는
를 얻을 수 있습니다.
필자는 어떤 이유로 kdeplot의 대역폭이 플롯 자체와 다른 단위를 가지고 있다고 생각합니다. 가장 높은 선과 가장 낮은 선 사이의 거리는 ~ 170.0 MHz입니다. 나는이 배 대역폭을 재조정 할 필요가 있다고 가정하면 :
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()
내가 얻을 : 예상되는 5 MHz의 대역폭을 갖고있는 것 같다 라인
.
그 해결책은 내가 엉덩이에서 가져온 것이고, 나는 해골의 kdeplot 내부에 대해 더 잘 알고있는 사람이 이유에 대해 언급 할 수 있는지 궁금합니다.
감사합니다,
사무엘주의 할
대역폭 매개 변수는 휴리스틱 스 (heuristics)에 의해 선택됩니다. 여기서 휴리스틱 스가 선택됩니다. 이것이 실패하는 경우가 있습니다. 일반적으로 해독으로는 불가능한이 매개 변수를 추정하기 위해 교차 유효성 검사를 사용합니다. Gridsearch 기반 CV는 scikit-learn과 함께 가능하며 최적화 기반 CV는 statsmodels에서 가능합니다. 감사합니다. Sascha. – sascha
. 내가 이해하는 바와 같이, 당신은 스콧과 실버먼의 규칙을 언급하고 있습니다. 다른 옵션은 - 다시, 내가 아는 한 - 위에서 한 것처럼 대역폭을 명시 적으로 설정하는 것입니다. –