cuốn sách gpt4 ai đã làm

python - Độ dốc SciPy KDE

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 05:58:42 27 4
mua khóa gpt4 Nike

Tôi đang sử dụng Ước tính mật độ hạt nhân (KDE) ( http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.gaussian_kde.html ), hiện đang hoạt động tốt. Tuy nhiên, bây giờ tôi muốn lấy độ dốc của KDE tại một điểm cụ thể.

Tôi đã xem mã nguồn Python của thư viện này nhưng chưa thể tìm ra cách triển khai chức năng này một cách dễ dàng. Có ai biết một cách để làm điều này?

câu trả lời hay nhất

Nếu bạn nhìn vào nguồn được trích dẫn, bạn sẽ thấy rằng ước tính mật độ được xây dựng từ sự đóng góp của tất cả các điểm trong tập dữ liệu giả sử chỉ có một điểm điểm[:,i] Bạn muốn đánh giá tạm thời (dòng 219-222):

diff = self.dataset - điểm[:, i, newaxis]
tdiff = dấu chấm(self.inv_cov, diff)
năng lượng = sum(diff * tdiff, axis=0) / 2.0
kết quả[i] = sum(exp(-energy), axis=0)

Trong ký hiệu ma trận (không có sẵn LaTeX?), điều này sẽ được viết dưới dạng một điểm duy nhất từ ​​tập dữ liệu D và dấu chấm P được đánh giá là

d=D-p
t = Cov^-1 d
e = 1/2 d^T t
r = exp(-e)

Độ dốc bạn đang tìm kiếm làcấp độ (r) = (dr/dx, dr/dy):

dr/dx = d(exp(-e))/dx 
= -de/dx exp(-e)
= -d(1/2 d^T Cov^-1 d)/dx exp(-e)
= -(Cov^-1 d) exp(-e)

Điều tương tự cũng áp dụng cho dr/dy. Vì vậy tất cả những gì bạn cần làm là tính toán Cov^-1 ngày và nhân nó với kết quả bạn đã thu được.

kết quả = số không((self.d,m), dtype=float)    
[…]
diff = self.dataset - điểm[:, i, newaxis]
tdiff = dấu chấm(self.inv_cov, diff)
năng lượng = sum(diff * tdiff, axis=0) / 2.0
grad = dot(self.inv_cov, diff)
kết quả[:,i] = sum(grad * exp(-energy), axis=1)

Vì lý do nào đó tôi cần phải tính toán tốt nghiệp Xóa khi -1 để có được và đánh giá P kết quả nhất quán cho ước tính mật độ tại vàp+delta Trong cả bốn hướng, đây là dấu hiệu cho thấy tôi chắc chắn có thể đi chệch hướng ở đây.

Về python - SciPy KDE gradient, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/26336883/

27 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress