维核密度估计试验-Xueyayang.PDF
文本预览下载声明
2维核密度估计实验
June10,2014
1 问题
讲解2维的核密度估计实验,以及需要注意的地方。文章基于scipy包
的文档1上的例子写就。
2 解答
2.1 准备数据
• 样本值:分别从2个一维高斯分布中抽样,经过加减运算,再当作二
维空间的 与 。
• 位置点:从二维平面一个方形区域等间隔采点,作为核密度估计的位
置点。由mgrid函数完成。
r1 =np.random.normal(size=1000)
r2 =np.random.normal(scal=0.5,size=n)
m1 =r1 r2
m2 =r1 + r2
#样本值
samples =np.vstack([m1,m2])
xmin =m1.min()
xmax =m1.max()
ymin =m2.min()
ymax =m2.max()
1/doc/scipy/reference/generated/scipy.stats.gaussian_kde.html
1
2 解答 2
X,Y =np.mgrid[xmin:xmax:100j,ymin:ymax:100j]
#坐标值
postions =np.vstack([X.ravel(),Y.ravel()])
2.1.1 理解postions
postions宽为(xmax-xmin),高为(ymax-ymin)的方形区域。在实际
图像中看起来是这样的
写成矩阵形式是
(1)
但经np.mgrid生成的X却为:
(2)
经X.ravel()后,排列顺序为:
(3)
2 解答 3
注意(1)与(2)的旋转关系。这是为什么最终代码里,显示结果时,要
调用np.rot90()函数。
2.2 求方差
这是二维样本与一维样本区别较大的地方。一维空间的方差,在二维空
间里,变成了协方差矩阵。如何理解协方差矩阵?这个“协”就是相关性的
意思。N个样本点可以表示成(2,N)的形式。第一行全是X,第二行全是Y。
显示全部