非参数模型采用GCV选择带宽的核估计核局部多项式估计

文章详细介绍了使用GCV(GeneralizedCrossValidation)方法在局部多项式和核估计中选择带宽的过程,包括gcvhLL和gcvbandLL函数用于多项式,以及gcvhNW和gcvbandNW函数用于核估计。文中给出了具体的计算步骤和示例,展示了如何通过比较不同带宽下模型性能来确定最优带宽值。

gcv选择局部多项式的带宽

K <- function(x) {
0.75 * (1 - x^2) * (abs(x) <= 1)
}
gcvhLL <- function(h,x,y) {
n <- length(x)
S <- matrix(NA,nrow = n,ncol = n)
GCVh <- 0
for (ii in 1:n) {
u=x-x[ii]
Kh=K(u/h)
s1=t(Kh)%%u
s2=t(Kh)%
%(u^2)
if(s2 < 0) s2=s2+0.0002
s=sum(Kh*(s2-s1u))
if(s<0.0001) s=s+0.001
weight=as.vector(Kh
(s2-s1u)/s)
GCVh=GCVh+(y[ii]-weight%
%y)^2
S[ii, ]=weight
}
I=diag(n)
S1=I-S
trace=0
for (j in 1:n) trace=trace + S1[j, j]
GCVh=(GCVh/n)/(trace/n)^2
return(GCVh)
}

选择带宽的函数

gcvbandLL <- function(x,y,c=1.1) {
x <- as.vector(x)
y <- as.matrix(y)
n <- dim(y)[1]
tmp <- range(x)
hmin <- 2*(tmp[2] - tmp[1])/n
hmax <- 0.5*(tmp[2]-tmp[1])
h <- hmin
IUP <- 0
H <- vector()
H[0]

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值