2016-11-23 28 views
1

私はfastKDEパッケージ(https://pypi.python.org/pypi/fastkde/1.0.8)を使用して、2Dプロット内の点のKDEを探しています。しかし、私はデータポイントの限界を超えてKDEを知りたいと思っており、これを行う方法を理解することはできません。データポイントの限界を超えたPython fastKDE

上記のサイトにリンクされているコードを使用してください。

#!python 

import numpy as np 
from fastkde import fastKDE 
import pylab as PP 

#Generate two random variables dataset (representing 100000 pairs of datapoints) 
N = 2e5 
var1 = 50*np.random.normal(size=N) + 0.1 
var2 = 0.01*np.random.normal(size=N) - 300 

#Do the self-consistent density estimate 
myPDF,axes = fastKDE.pdf(var1,var2) 

#Extract the axes from the axis list 
v1,v2 = axes 

#Plot contours of the PDF should be a set of concentric ellipsoids centered on 
#(0.1, -300) Comparitively, the y axis range should be tiny and the x axis range 
#should be large 
PP.contour(v1,v2,myPDF) 
PP.show() 

私は、データの範囲内の任意のポイントのためにKDEを見つけることができるんだけど、どのように私はVAR1とVAR2にそれを含めることなく、ポイント(0300)と言うためにKDEを見つけるのですか。私はこのデータポイントでKDEを計算したくないので、その時点でKDEを知りたいと思います。

私が本当にやりたいことは、fastKDEにデータのヒストグラムを与えて、軸を自分で設定できるようにしたいと思います。これが可能かどうか分かりません。

乾杯

答えて

2

私は、あまりにも、このコードを使って実験されていると同じ問題に遭遇してきました。私が行ったことは(良いN-D外挿器の代わりに)fastKDEが返す格子点からKDTree(scipy.spatialを持つ)を構築し、評価する点に最も近い格子点を見つけることです。私はその時点で対応するpdf値を検索します(それはpdfグリッドの端近くで同じでなければ同じくらい小さくする必要があります)。それに応じてその値を割り当てます。

関連する問題