非参数统计非参数密度估计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分析: 1. 带宽hn越小, 核估计的偏差越小, 但方差会增大. 2. 带宽hn越大, 核估计的偏差大, 但方差会变小. 3. 说明hn的变化, 不可能同时使核估计的偏差和方差变小. 4. 只有同时使两者达到一种平衡. 5. 实际上, h的选取要根据数据和密度估计的情况不断调
整.
模式分类问题
一些实际问题: • 鉴定某河流的污染程度; • 通过检查某些指标, 诊断某人是否得了某种疾病; 3. 设备的故障诊断问题; 4. ……
2) 建立高斯函数文件 Ga<-function(x,h,A) {(1/260*h)*sum((1/sqrt(2*pi))*exp(-0.5*((x-A[,1][1:260])/h)^2))}
以高斯核函数为例
3) 调用函数文件
source("d:\\S文件\\Ga.s") 4) 求函数值 > z<-Ga(1,1,A) >z [1] 0.01347425
p
|| xi x || ( (x ji x j )2 )1/2 j 1
思考:
k 近邻密度估计 :
pˆn (x)
1 nR(x, k)
n i 1
K (|
xi x R(x, k)
|)
其中R(x, k) max{| xi x |, xi是离x最近的k个观测点}
k-近邻估计应用于分类
分类原则 : 1) R(x, k | 1) R(x, k | 2 ), 则x 1 2) R(x, k | 1) R(x, k | 2 ), 则x 2
其中,hn是归一化参数,表示每组的组距,称为带宽 (窗宽)。
注意:针对连续型的总体X.
例8.1
鲑鱼和鲈鱼的身长(260条)
hist(A[,1], 20)
120
15
100
40
80
10
30
60
20
40
5
10
20
0
0
0
5
10
15
20
25
c1[, 1]
0
5
10
15
20
25
c1[, 1]
鲈鱼比鲑鱼的身长要长。
0
5
10
15
20
25
30
c1[, 1]
推广直方图的密度函数定义。X∈Rd
pˆ (x) ni / n V
1)若V很小,密度值局部变化很大,呈现多峰不稳定的 特点; 2)若V较大,从而使估计过于平滑。 如何在稳定与过度平滑之间寻找平衡? 方法(1)固定体积不变;(2)固定ni不变; 核估计和k-近邻估计。
5) 画图 > x<-seq(1,26,length=52) > z<-rep(0,52) > for(i in 1:52) {z[i]<-Ga(x[i],1,A)} (首先找到A[,1]向量中的最小和最大值,1.09和25.37) > plot(x,z,type="l")
带宽对估计量的影响
0
0.25
8.2 核密度估计
设区域R是Rd空间上的d维立方体, 其体积为Vn, h是R的 边长, 对任意的x={x1,x2,…,xn}, 定义x的邻域函数:
(
x)
1,
|
xi
|
1 2
,i
1,
2,...,
d
0,
其他
kn
n i 1
( x - xi hn
)
落入x邻域的样本数
pˆ (x) 1 n ( x xi ) 称为Parzen窗密度估计
P(ω1|x)
0.823 0.731 0.523 0.323 0.546 0.323 0.586 0.238 0.923 0.037
P(ω2|x)
0.177 0.269 0.477 0.677 0.454 0.677 0.414 0.762 0.077 0.963
实际类别 判断类别
1
1
1
1
0
1
0
0
1
0
0
0
0
5
10
15
20
25
x
k=5
5
10
15
20
25
x
k=3
图形显示
0
0
0
0
z 0
z 0
0
0
0
0
5
10
15
20
25
x
k=10
5
10
15
20
25
x
k=40
k-近邻估计
k 近邻密度估计 : (高维情况)
pˆn (x)
k nR(x, k)
其中R(x, k) max{|| xi x ||, xi是离x最近的k个观测点}
光泽 度y
9.2 9 4.6 4.8 9.8 3.8 3.3 4.8 8.3 1.55
R(x,y,5|ω1)
0.674 0.666 1.59 1.566 2.052 0.94 1.073 1.522 0.621 3.69
R(x,y,5|ω2) 实际类别 判断类别
3.7
1
1
2.845
1
1
0.86
0
0
0.472
第八章 非参数密度估计
8.1 非参数密度估计
直方图是最基本的非参数密度估计。
假定有数据{x1,x2,…,xn}, 将它由小到大排序,得到数 据覆盖的区间(a, b),对该区间等间距地分为k组,记 为I1,I2,…,Ik,计算Ii中的频率ni/n,则密度估计为:
pˆ (x)
ni nhn
,
0,
x Ii ,i 1, 2,..., k 其他
当带宽h=0.2时,密度函数曲线比较粗糙,噪声很多; 当带宽h=1时,密度函数曲线比较平滑,较为理想; 而带宽h=5时,密度函数曲线最平滑的,但信息损失很多; 如何选择合适的带宽,是核函数密度估计的关键. 考虑估计的均方误差.
MSE(ˆ, ) E(ˆ )2 Dˆ E(Eˆ )2
均方误差
MISE E ( pˆn (x) p(x))2 dx [Bias( pˆn (x)) var(pˆn (x))]dx
7) 余弦 8) 指数
核函数
1 I (| u | 1) 2 (1 | u |)I (| u | 1)
3 (1 u2 )I (| u | 1) 4
15 (1 u4 )I (| u | 1) 16
35 (1 u2 )3 I (| u | 1) 32
1 exp( 1 u2 )
2
2
cos( u)I (| u | 1) 42
113 112 250 219 123 197 170 32 92 137 123
k=3 32
数值
19.6 22.3 14.07 8.5 17.3 7.6 6.3 6.5 22.1 2.0 17.3 6.5
R(x,5|ω1)
0.22 0.11 0.94 0.45 0.91 0.54 0.31 0.51 0.18 2.16 0.21 0.19
0
0
4.8
1
1
0.298
0
0
0.538
0
0
0.675
1
0
2.273
1
1
0.389
0
0
二维情形的程序
knear12<-function(A1,x,y,k) { na<-nrow(A1) or<-1:na dis<-NULL for(i in 1:na) {dis<-c(dis,(((x-A1[i,1])^2+(y-A1[i,2])^2)^0.5))} ra<-rank(dis) find.k<-or[ra<k+1] knear12<-max(((A1[find.k,1]-x)^2+(A1[find.k,2]-y)^2)^0.5) return(knear12) }
二维的情形 : 1) R(x, k | 1) R(x, k | 2 ), 则x 1 2) R(x, k | 1) R(x, k | 2 ), 则x 2 其中R(x, k | 1) max{|| xi x ||, xi是离x最近的k个观测点,且是1类的}
一维情形: k-近邻估计方法分类
序号
nVn i1
hn
核密度估计的定义
定义8.1
假设数据x1,x2,…,xn取自连续分布p(x), 定义核密度估计
pˆn (x)
1 nVn
n K ( x xi )
i 1
hn
其中K ()为核函数
只要核函数满足:
K(x) 0, K(x)dx 1 R
本节主要讲一维的密度估计。
常用核函数
核函数的名称 1) Parzen窗 2) 三角 3) Epanechikov 4) 四次 5) 三权 6) 高斯
p(i | x)
pˆ (x | i ) p(i )
2
,
pˆ (x | j ) p( j )
j 1
i 1, 2
(贝叶斯公式)
分类问题
序号
113 112 250 219 123 197 170 32 92 137
数值
19.6 22.3 14.07 8.5 17.3 7.6 6.3 6.5 22.1 2.0
K (|
xi
h
x
|)
k 近邻密度估计 :
(一维的情形)
pˆn (x)
k nR(x, k)
其中R(x, k) max{| xi x |, xi是离x最近的k个观测点}
程序实现
1. 产生函数R(x,k) knear<-function(A,x,k) { na<-nrow(A) or<-1:na dis<-NULL for(i in 1:na) {dis<-c(dis,(abs(x-A[i,1])))} ra<-rank(dis) find.k<-or[ra<k+1] knear<-max(abs(A[find.k,1]-x)) return(knear) }
1
0
0
0
0
1
0
1
1
0
0
分类问题
优缺点评价: 1. 样本量较大,才能保证一定的精度; 2. 分类精度的评价; 3. 分类方法.
k-近邻估计
在核密度估计方法的基础上,让体积随样本点的密集性
发生改变。
当样本点密集处,选取体积小;
当样本点稀疏时,选取体积大。
核密度估计 :
pˆn (x)
1 nh
n i 1
exp(| u |)
以高斯核函数为例
pˆn (x)
1 nh
n i 1
1 exp( 1 ( x xi )2 )
2
2h
其中{x1, , xn}为样本序列
用S-Plus编程计算密度估计值. 1) 调用数据文件
A<-read.table("E:\\各种电子课件\\非参数统计 \\data\\newfish.txt",header=T,sep=",")
R(x,5|ω2)
1.5 1.2 0.44 0.13 0.69 0.06 0.03 0.17 1 0.2 0.39 0.16
实际类别 判断类别
1
1
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
Βιβλιοθήκη Baidu
1
1
1
0
二维情形: k-近邻估计方法分类
序号 长度 x
113 19.6 112 22.3 250 14.07 219 8.5 123 17.3 197 7.6 170 6.3 32 6.5 92 22.1 137 2.0
0
0
0.20
0
0
Z 0.15
z
z
0
0
0.10
0
0
0.05
0
0
5
10
15
20
25
x
h=0.2
0
5
10
15
20
25
x
h=1
5
10
15
20
25
x
h=2
Parzen窗函数为核函数
h=5
Parzen窗函数 1 I (| u | 1) 2
pˆn (x)
1 nh
n i 1
1I 2
xi x h
1
带宽对估计量的影响
应用密度估计对数据进行分类
1. 假设ω1——鲑鱼, ω2——鲈鱼,它们的先验概率为: p(1) p(2 ) 1/ 2 (因为两类的频数为130条)
2. 分别估计鲑鱼和鲈鱼的概率密度:
pˆ (x | 1) pˆ (x | 2 )
3. 归类原则: x 12
其中,
p(2 | x) p(1 | x) p(2 | x) p(1 | x)
程序实现
2. k-近邻密度估计 x<-seq(min(A[,1]),max(A[,1]),length=50) z<-rep(0,50) for(i in 1:50){z[i]<-5/(260*knear(A,x[i],5))} plot(x,z,type="l")
图形显示
0
0
0
0
0
z 0
z
0
0
整.
模式分类问题
一些实际问题: • 鉴定某河流的污染程度; • 通过检查某些指标, 诊断某人是否得了某种疾病; 3. 设备的故障诊断问题; 4. ……
2) 建立高斯函数文件 Ga<-function(x,h,A) {(1/260*h)*sum((1/sqrt(2*pi))*exp(-0.5*((x-A[,1][1:260])/h)^2))}
以高斯核函数为例
3) 调用函数文件
source("d:\\S文件\\Ga.s") 4) 求函数值 > z<-Ga(1,1,A) >z [1] 0.01347425
p
|| xi x || ( (x ji x j )2 )1/2 j 1
思考:
k 近邻密度估计 :
pˆn (x)
1 nR(x, k)
n i 1
K (|
xi x R(x, k)
|)
其中R(x, k) max{| xi x |, xi是离x最近的k个观测点}
k-近邻估计应用于分类
分类原则 : 1) R(x, k | 1) R(x, k | 2 ), 则x 1 2) R(x, k | 1) R(x, k | 2 ), 则x 2
其中,hn是归一化参数,表示每组的组距,称为带宽 (窗宽)。
注意:针对连续型的总体X.
例8.1
鲑鱼和鲈鱼的身长(260条)
hist(A[,1], 20)
120
15
100
40
80
10
30
60
20
40
5
10
20
0
0
0
5
10
15
20
25
c1[, 1]
0
5
10
15
20
25
c1[, 1]
鲈鱼比鲑鱼的身长要长。
0
5
10
15
20
25
30
c1[, 1]
推广直方图的密度函数定义。X∈Rd
pˆ (x) ni / n V
1)若V很小,密度值局部变化很大,呈现多峰不稳定的 特点; 2)若V较大,从而使估计过于平滑。 如何在稳定与过度平滑之间寻找平衡? 方法(1)固定体积不变;(2)固定ni不变; 核估计和k-近邻估计。
5) 画图 > x<-seq(1,26,length=52) > z<-rep(0,52) > for(i in 1:52) {z[i]<-Ga(x[i],1,A)} (首先找到A[,1]向量中的最小和最大值,1.09和25.37) > plot(x,z,type="l")
带宽对估计量的影响
0
0.25
8.2 核密度估计
设区域R是Rd空间上的d维立方体, 其体积为Vn, h是R的 边长, 对任意的x={x1,x2,…,xn}, 定义x的邻域函数:
(
x)
1,
|
xi
|
1 2
,i
1,
2,...,
d
0,
其他
kn
n i 1
( x - xi hn
)
落入x邻域的样本数
pˆ (x) 1 n ( x xi ) 称为Parzen窗密度估计
P(ω1|x)
0.823 0.731 0.523 0.323 0.546 0.323 0.586 0.238 0.923 0.037
P(ω2|x)
0.177 0.269 0.477 0.677 0.454 0.677 0.414 0.762 0.077 0.963
实际类别 判断类别
1
1
1
1
0
1
0
0
1
0
0
0
0
5
10
15
20
25
x
k=5
5
10
15
20
25
x
k=3
图形显示
0
0
0
0
z 0
z 0
0
0
0
0
5
10
15
20
25
x
k=10
5
10
15
20
25
x
k=40
k-近邻估计
k 近邻密度估计 : (高维情况)
pˆn (x)
k nR(x, k)
其中R(x, k) max{|| xi x ||, xi是离x最近的k个观测点}
光泽 度y
9.2 9 4.6 4.8 9.8 3.8 3.3 4.8 8.3 1.55
R(x,y,5|ω1)
0.674 0.666 1.59 1.566 2.052 0.94 1.073 1.522 0.621 3.69
R(x,y,5|ω2) 实际类别 判断类别
3.7
1
1
2.845
1
1
0.86
0
0
0.472
第八章 非参数密度估计
8.1 非参数密度估计
直方图是最基本的非参数密度估计。
假定有数据{x1,x2,…,xn}, 将它由小到大排序,得到数 据覆盖的区间(a, b),对该区间等间距地分为k组,记 为I1,I2,…,Ik,计算Ii中的频率ni/n,则密度估计为:
pˆ (x)
ni nhn
,
0,
x Ii ,i 1, 2,..., k 其他
当带宽h=0.2时,密度函数曲线比较粗糙,噪声很多; 当带宽h=1时,密度函数曲线比较平滑,较为理想; 而带宽h=5时,密度函数曲线最平滑的,但信息损失很多; 如何选择合适的带宽,是核函数密度估计的关键. 考虑估计的均方误差.
MSE(ˆ, ) E(ˆ )2 Dˆ E(Eˆ )2
均方误差
MISE E ( pˆn (x) p(x))2 dx [Bias( pˆn (x)) var(pˆn (x))]dx
7) 余弦 8) 指数
核函数
1 I (| u | 1) 2 (1 | u |)I (| u | 1)
3 (1 u2 )I (| u | 1) 4
15 (1 u4 )I (| u | 1) 16
35 (1 u2 )3 I (| u | 1) 32
1 exp( 1 u2 )
2
2
cos( u)I (| u | 1) 42
113 112 250 219 123 197 170 32 92 137 123
k=3 32
数值
19.6 22.3 14.07 8.5 17.3 7.6 6.3 6.5 22.1 2.0 17.3 6.5
R(x,5|ω1)
0.22 0.11 0.94 0.45 0.91 0.54 0.31 0.51 0.18 2.16 0.21 0.19
0
0
4.8
1
1
0.298
0
0
0.538
0
0
0.675
1
0
2.273
1
1
0.389
0
0
二维情形的程序
knear12<-function(A1,x,y,k) { na<-nrow(A1) or<-1:na dis<-NULL for(i in 1:na) {dis<-c(dis,(((x-A1[i,1])^2+(y-A1[i,2])^2)^0.5))} ra<-rank(dis) find.k<-or[ra<k+1] knear12<-max(((A1[find.k,1]-x)^2+(A1[find.k,2]-y)^2)^0.5) return(knear12) }
二维的情形 : 1) R(x, k | 1) R(x, k | 2 ), 则x 1 2) R(x, k | 1) R(x, k | 2 ), 则x 2 其中R(x, k | 1) max{|| xi x ||, xi是离x最近的k个观测点,且是1类的}
一维情形: k-近邻估计方法分类
序号
nVn i1
hn
核密度估计的定义
定义8.1
假设数据x1,x2,…,xn取自连续分布p(x), 定义核密度估计
pˆn (x)
1 nVn
n K ( x xi )
i 1
hn
其中K ()为核函数
只要核函数满足:
K(x) 0, K(x)dx 1 R
本节主要讲一维的密度估计。
常用核函数
核函数的名称 1) Parzen窗 2) 三角 3) Epanechikov 4) 四次 5) 三权 6) 高斯
p(i | x)
pˆ (x | i ) p(i )
2
,
pˆ (x | j ) p( j )
j 1
i 1, 2
(贝叶斯公式)
分类问题
序号
113 112 250 219 123 197 170 32 92 137
数值
19.6 22.3 14.07 8.5 17.3 7.6 6.3 6.5 22.1 2.0
K (|
xi
h
x
|)
k 近邻密度估计 :
(一维的情形)
pˆn (x)
k nR(x, k)
其中R(x, k) max{| xi x |, xi是离x最近的k个观测点}
程序实现
1. 产生函数R(x,k) knear<-function(A,x,k) { na<-nrow(A) or<-1:na dis<-NULL for(i in 1:na) {dis<-c(dis,(abs(x-A[i,1])))} ra<-rank(dis) find.k<-or[ra<k+1] knear<-max(abs(A[find.k,1]-x)) return(knear) }
1
0
0
0
0
1
0
1
1
0
0
分类问题
优缺点评价: 1. 样本量较大,才能保证一定的精度; 2. 分类精度的评价; 3. 分类方法.
k-近邻估计
在核密度估计方法的基础上,让体积随样本点的密集性
发生改变。
当样本点密集处,选取体积小;
当样本点稀疏时,选取体积大。
核密度估计 :
pˆn (x)
1 nh
n i 1
exp(| u |)
以高斯核函数为例
pˆn (x)
1 nh
n i 1
1 exp( 1 ( x xi )2 )
2
2h
其中{x1, , xn}为样本序列
用S-Plus编程计算密度估计值. 1) 调用数据文件
A<-read.table("E:\\各种电子课件\\非参数统计 \\data\\newfish.txt",header=T,sep=",")
R(x,5|ω2)
1.5 1.2 0.44 0.13 0.69 0.06 0.03 0.17 1 0.2 0.39 0.16
实际类别 判断类别
1
1
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
Βιβλιοθήκη Baidu
1
1
1
0
二维情形: k-近邻估计方法分类
序号 长度 x
113 19.6 112 22.3 250 14.07 219 8.5 123 17.3 197 7.6 170 6.3 32 6.5 92 22.1 137 2.0
0
0
0.20
0
0
Z 0.15
z
z
0
0
0.10
0
0
0.05
0
0
5
10
15
20
25
x
h=0.2
0
5
10
15
20
25
x
h=1
5
10
15
20
25
x
h=2
Parzen窗函数为核函数
h=5
Parzen窗函数 1 I (| u | 1) 2
pˆn (x)
1 nh
n i 1
1I 2
xi x h
1
带宽对估计量的影响
应用密度估计对数据进行分类
1. 假设ω1——鲑鱼, ω2——鲈鱼,它们的先验概率为: p(1) p(2 ) 1/ 2 (因为两类的频数为130条)
2. 分别估计鲑鱼和鲈鱼的概率密度:
pˆ (x | 1) pˆ (x | 2 )
3. 归类原则: x 12
其中,
p(2 | x) p(1 | x) p(2 | x) p(1 | x)
程序实现
2. k-近邻密度估计 x<-seq(min(A[,1]),max(A[,1]),length=50) z<-rep(0,50) for(i in 1:50){z[i]<-5/(260*knear(A,x[i],5))} plot(x,z,type="l")
图形显示
0
0
0
0
0
z 0
z
0
0