楼主: 清粥小菜yww
2256 1

[问答] 求助R语言NW核回归,CV选带宽,程序出错! [推广有奖]

  • 0关注
  • 0粉丝

初中生

4%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
116 点
帖子
5
精华
0
在线时间
11 小时
注册时间
2015-4-15
最后登录
2017-9-23

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
> source("D:\\cvbandNW.R")
> K=function(x)
+ 0.75*(1-x^2)*(abs(x)<=1)
>  m=function(X)
+  0.5*exp(X^2)
>  k=20
>  grid=rep(0,k)
>  a=-1;b=1
>  for(i in 1:k)
+ grid=a+(i-1)*(b-a)/(k-1)
>  Mestimated.NWE1=rep(0,k)
>  n=100
>  M=500
>  rmse1=rep(0,M);
>  for(j in 1:M){
+  X=runif(n,min=a,max=b)
+  e=rep(0,n)
+  for(i in 1:n)
+  e=rnorm(1,0,2*abs(X))
+  Y=m(X)+e
+  h1=cvbandNW(X,Y)$h
+  estimated.NWE1=rep(0,k)
+ for(i in 1:k){
+  X1=X[abs(X-grid)<=h1]
+  Y1=Y[abs(X-grid)<=h1]
+  Kvec=K((X1-grid))/h1)
错误: 意外的')' in:
" Y1=Y[abs(X-grid)<=h1]
Kvec=K((X1-grid))/h1)"
> lengh(Y1)=length(Kvec)
错误: 找不到对象'Kvec'
> S=sum(Kvec)
错误: 找不到对象'Kvec'
> if(S==0) S=S+0.001
错误: 找不到对象'S'
> estimated.NWE1=sum(Kvec*Y1)/s
错误: 找不到对象'Kvec'
> }
错误: 意外的'}' in "}"
> lengh(Y1)=length(Kvec)
错误: 找不到对象'Kvec'
> S=sum(Kvec)
错误: 找不到对象'Kvec'
> if(S==0) S=S+0.0001
错误: 找不到对象'S'
> estimated.NWE1=sum(Kvec*Y1)/S
错误: 找不到对象'Kvec'
> }
错误: 意外的'}' in "}"
> Mestimated.NWE1= Mestimated.NWE1+ estimated.NWE1
错误: 找不到对象'estimated.NWE1'
> rmse1[j]=sqrt(mean((estimated.NWE1-m(grid))^2))
Error in mean((estimated.NWE1 - m(grid))^2) : 找不到对象'estimated.NWE1'
> Estimated.NWE1=Mestimated.NWE1/M
>


整个代码这样

source("d:/R脚本/cvbandNW.R")

K=function(x)

0.75*(1-x^2)*(abs(x)<=1)

m=function(X)

0.5*exp(X^2)

k=20

grid=rep(0,k)

a=-1;b=1

for(i in 1:k)

grid=a+(i-1)*(b-a)/(k-1)

Mestimated.NWE1=rep(0,k)

n=100

M=500

rmse1=rep(0,M)

for(j in 1:M){

X=runif(n,min=a,max=b)

e=rep(0,n)

for(i in 1:n)

e=rnorm(1,0,2*abs(X))

Y=m(X)+e

h1=cvbandNW(X,Y)$h

estimated.NWE1=rep(0,k)

for(i in 1:k){

X1=X[abs(X-grid)<=h1]

Y1=Y[abs(X-grid)<=h1]

Kvec=K((X1-grid))/h1)

lengh(Y1)=length(Kvec)

S=sum(Kvec)

if(S==0) S=S+0.0001

estimated.NWE1=sum(Kvec*Y1)/S

}

Mestimated.NWE1= Mestimated.NWE1+ estimated.NWE1

rmse1[j]=sqrt(mean((estimated.NWE1-m(grid))^2))

Estimated.NWE1=Mestimated.NWE1/M

op=par(mfrow=c(2,2))

plot(grid,m(grid),type=”l”,xlab=”x”,ylab=”m(x)”),xlim=(-1,1),ylim=(.4,1.4))

lines(grid,estimated.NWE1,lty=2,col=2)

title(sub=”(a)”)

boxplot(remse1,xlab=””,ylab=”RMSEs”,range=3.5,names=”expression(REMSE[1])”)

title(sub=”(b)”)



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:求助R语言 R语言 estimated estimate function 程序 带宽

沙发
清粥小菜yww 发表于 2016-4-18 16:55:41 |只看作者 |坛友微信交流群
我知道了

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-6-19 01:43