非参数回归

一元非参数回归

给定一组样本观测值 ( Y 1 , X 1 ) , ( Y 2 , X 2 ) , ⋯   , ( Y n , X n ) , (Y_1,X_1),(Y_2,X_2),\cdots,(Y_n,X_n), (Y1,X1),(Y2,X2),,(Yn,Xn), X i X_i Xi Y i Y_i Yi之间的任意函数模型表示为
Y i = m ( X i ) + ε i , i = 1 , 2 , ⋯   , n . Y_i=m(X_i)+\varepsilon_i,i=1,2,\cdots,n. Yi=m(Xi)+εi,i=1,2,,n.
其中 m ( ⋅ ) = E ( Y ∣ X ) , ε m(\cdot)=E(Y|X),\varepsilon m()=E(YX),ε为随机误差项,一般假定 E ( ε ∣ X = x ) = 0 E(\varepsilon|X=x)=0 E(εX=x)=0, v a r ( ε ∣ X = x ) = σ 2 \rm{var}(\varepsilon|X=x)=\sigma^2 var(εX=x)=σ2,不必是常数。

核回归光滑模型

参考上篇文章讲到的核密度估计法,相当于求 x x x附件的平均点数,平均点数的求法是对可能影响到 x x x的样本点,按照距离 x x x的远近作距离加权平均.核回归光滑的基本思路之类似,在此不是求平均点数,而是估计点 x x x y y y的取值,仍然按照距离 x x x的远近对样本观测值 y i y_i yi加权,这一思想被称为 N a d a r a y a − W a t s o n \rm{Nadaraya-Watson} NadarayaWatson核回归.

  • 选择核函数 K ( ⋅ ) K(\cdot) K()以及窗宽 h n > 0 h_n>0 hn>0,
    inf ⁡ K ( u ) d u = 1. \inf K(u)\rm{d}u=1. infK(u)du=1.
  • 定义加权平均核为
    ω i ( x ) = K h n ( X i − x ) ∑ j = 1 n K h n ( X j − x ) , i = 1 , 2 , ⋯   , n , \omega_i(x)=\frac{K_{h_n}(X_i-x)}{\sum_{j=1}^n K_{h_n}(X_j-x)}, i=1,2,\cdots,n, ωi(x)=j=1nKhn(Xjx)Khn(Xix),i=1,2,,n,
    其中 K h n ( u ) = h n − 1 K ( u h n − 1 ) K_{h_n}(u)=h_n^{-1}K(uh_n^{-1}) Khn(u)=hn1K(uhn1)是一个概率密度函数.则N-W估计的定义为:
    m n ( x ) = ∑ i = 1 n ^ ω i ( x ) Y i . \hat{m_n(x)=\sum_{i=1}^n}\omega_i(x)Y_i. mn(x)=i=1n^ωi(x)Yi.
    注意一点:
    θ ^ = min ⁡ θ ∑ i = 1 n ω i ( x ) ( Y i − θ ) 2 = ∑ i = 1 n ω i Y i ∑ i = 1 n ω i , \hat{\theta}=\min_\theta \sum_{i=1}^n \omega_i(x)(Y_i-\theta)^2=\sum_{i=1}^n \frac{\omega_iY_i}{\sum_{i=1}^n\omega_i}, θ^=θmini=1nωi(x)(Yiθ)2=i=1ni=1nωiωiYi,
    因此,核估计等价于局部加权最小二乘估计.权重 ω i = K ( X i − x ) \omega_i=K(X_i-x) ωi=K(Xix).常用核函数已经在上篇文章介绍.核密度回归还有另外一种写法:
    E ( Y ∣ X = x ) = ∫ y f ( y ∣ x ) d y = ∫ y f ( x , y ) f X ( x ) d y = m ( x ) , E(Y|X=x)=\int yf(y|x)dy=\int y \frac{f(x,y)}{f_X(x)}dy=m(x), E(YX=x)=yf(yx)dy=yfX(x)f(x,y)dy=m(x),
    其中 f ( y ∣ x ) f(y|x) f(yx)是给定 X = x X=x X=x Y Y Y的条件pdf, f X ( x ) f_X(x) fX(x) X X X的边际pdf.上式对 y y y积分所以可以进一步写为:
    m ( x ) = E ( Y ∣ X = x ) = ∫ y f ( x , y ) d y f X ( x ) . m(x)=E(Y|X=x)=\frac{\int y f(x,y)dy}{f_X(x)}. m(x)=E(YX=x)=fX(x)yf(x,y)dy.
    给定样本观测值为 { X i , Y i } , i = 1 , … , n \{X_i,Y_i\},i=1,\dots,n {Xi,Yi},i=1,,n.此时的未知量是 f ( x , y ) f(x,y) f(x,y) f X ( x ) f_X(x) fX(x),我们可以通过多元核密度估计来得到,此时有:
    f ^ h , g ( x , y ) = 1 n ∑ i = 1 n K h ( x − X i h ) K g ( y − Y i g ) \hat{f}_{h,g}(x,y)=\frac{1}{n}\sum_{i=1}^n K_h \left( \frac{x-X_i}{h} \right)K_g \left( \frac{y-Y_i}{g} \right) f^h,g(x,y)=n1i=1nKh(hxXi)Kg(gyYi)
    ( y − Y i ) g = s \frac{(y-Y_i)}{g}=s g(yYi)=s:
    ∫ y f ^ h , g ( x , y ) d y = 1 n ∑ i = 1 n 1 h K ( x − X i h ) ∫ y g K g ( y − Y i g ) d y = 1 n ∑ i = 1 n K h ( x − X i ) ∫ ( s g + Y i ) K ( s ) d s = 1 n K h ( x − X i ) { g ∫ s K ( s ) d s + Y i ∫ K ( s ) d s } = 1 n K h ( x − X i ) Y i \begin{aligned} \int y\hat{f}_{h,g}(x,y)dy &=\frac{1}{n}\sum_{i=1}^n \frac{1}{h}K\left( \frac{x-X_i}{h} \right)\int\frac{y}{g}K_g\left( \frac{y-Y_i}{g} \right)dy\\ &=\frac{1}{n}\sum_{i=1}^nK_h(x-X_i)\int(sg+Y_i)K(s)ds\\ &= \frac{1}{n}K_h(x-X_i) \left\{g\int sK(s)ds+Y_i\int K(s)ds \right\} \\ &=\frac{1}{n}K_h(x-X_i)Y_i \end{aligned} yf^h,g(x,y)dy=n1i=1nh1K(hxXi)gyKg(gyYi)dy=n1i=1nKh(xXi)(sg+Yi)K(s)ds=n1Kh(xXi){gsK(s)ds+YiK(s)ds}=n1Kh(xXi)Yi
    其中由核函数的性质得到: ∫ s K ( s ) d s = E ( s ) = 0 \int sK(s)ds=E(s)=0 sK(s)ds=E(s)=0, ∫ K ( s ) d s = 1 \int K(s)ds=1 K(s)ds=1则Nadaraya-Watson估计量还可以写为:
    m ^ h ( x ) = n − 1 ∑ i = 1 n K h ( x − X i ) Y i n − 1 ∑ j = 1 n K h ( x − X j ) \hat{m}_h(x)=\frac{n^{-1}\sum_{i=1}^nK_h(x-X_i)Y_i}{n^{-1}\sum_{j=1}^{n}K_h(x-X_j)} m^h(x)=n1j=1nKh(xXj)n1i=1nKh(xXi)Yi
    举个例子:
    鱼的体长和光泽度的散点图
    我们通过一元核回归模型来拟合这个数据集,采用 N a d a r a y a − W a t s o n Nadaraya-Watson NadarayaWatson核回归,同时比较不同窗宽 h h h对回归曲线的影响,首先复习一下上节的二元核密度估计:
    二维核密度估计等高线图
    再看看另一个角度:

在这里插入图片描述
代码如下

file = "D:\REF\fish.txt"
data<-read.table(file="D:\\REF\\fish.txt",header = T)
x <- cbind(data$length,data$luminous)

est <- bkde2D(x=x)
contour(est$x1, est$x2, est$fhat,xlab = 'length',ylab='luminous',main='KDE')
persp(est$fhat,xlab = 'f(x)',main = 'KDE')

再进行核回归,这里分别取 h = 0.1 , 0.5 , 1.5 , 3.0 h=0.1,0.5,1.5,3.0 h=0.1,0.5,1.5,3.0.
在这里插入图片描述
R语言代码如下

file = "D:\REF\fish.txt"
data<-read.table(file="D:\\REF\\fish.txt",header = T)
x <- cbind(data$length,data$luminous)

par(mfrow=c(2,2))
fit1 <- ksmooth(x=data$length,y=data$luminous,kernel='normal',bandwidth = 0.1,range.x = range(data$length),n.points = length(x))
fit2 <- ksmooth(x=data$length,y=data$luminous,kernel='normal',bandwidth = 0.5,range.x = range(data$length),n.points = length(x))
fit3 <- ksmooth(x=data$length,y=data$luminous,kernel='normal',bandwidth = 1.5,range.x = range(data$length),n.points = length(x))
fit4 <- ksmooth(x=data$length,y=data$luminous,kernel='normal',bandwidth = 3.0,range.x = range(data$length),n.points = length(x))
plot(x1,x2,xlab = 'length' ,ylab = 'luminous' ,main='bandwidth=0.1')
lines(fit1,lwd=1.0,col='blue')
plot(x1,x2,xlab = 'length' ,ylab = 'luminous' ,main='bandwidth=0.5')
lines(fit2,lwd=1.0,col='blue')
plot(x1,x2,xlab = 'length' ,ylab = 'luminous' ,main='bandwidth=1.5')
lines(fit3,lwd=1.0,col='blue')
plot(x1,x2,xlab = 'length' ,ylab = 'luminous' ,main='bandwidth=3.0')
lines(fit4,lwd=1.0,col='blue')
  • 16
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Infinity343

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值