나는 SciPy의 stats.gaussian_kde 함수를 사용하여 x,y
점의 데이터 집합에서 커널 밀도 추정 (kde) 함수를 생성합니다.SciPy의 gaussian_kde 함수가 사용하는 대역폭을 얻으려면
import numpy as np
from scipy import stats
def random_data(N):
# Generate some random data.
return np.random.uniform(0., 10., N)
# Data lists.
x_data = random_data(100)
y_data = random_data(100)
# Obtain the gaussian kernel.
kernel = stats.gaussian_kde(np.vstack([x_data, y_data]))
I합니다 (bw_method
키를 통해) 수동으로 대역폭을 설정하고 있지 않다 때문에, 스콧의 규칙을 사용하는 함수 기본값 (함수의 설명을 참조)
이 내 코드의 간단한 MWE이다. 내가 원하는 것은 stats.gaussian_kde
함수에 의해 자동으로 설정된이 대역폭 값을 얻는 것입니다.
print kernel.set_bandwidth()
를하지만 항상 대신 부동의 None
를 반환
내가 사용하려고했습니다.
bw_method 매개 변수는 인자로 사용된다, 그러므로 당신에게 동일을 줄 것이다 요인을 설정 결과. 그러나 이것은 "대역폭"이 아닙니다. 나는 대답을 추가했다 – nivniv