楼主: guluzhe
5194 27

有偿求助!!请修改一下我写的程序。。 [推广有奖]

  • 0关注
  • 0粉丝

高中生

45%

还不是VIP/贵宾

-

威望
0
论坛币
89 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
538 点
帖子
24
精华
0
在线时间
12 小时
注册时间
2008-12-28
最后登录
2010-8-2

楼主
guluzhe 发表于 2010-4-26 15:03:17 |AI写论文
50论坛币
R编写的局部多项式回归程序,刚接触R,不知道如何修改。。
麻烦大家帮我修改一下。。谢谢!!!!!

LPR=function(n,c,p)
{
    e=rnorm(n,0,0.25)
    x<-seq(0,1,length=n)     
    y=sin(2*pi*x)+e
    z=sin(2*pi*x)
    plot(x,y)
    lines(x,z,lwd=2)
    h=c*n^(-1/5)
    mx=rep(0,n)
    for(i in 1:n)
     {
         mx=sum(((y-qx(x,x,p)%*%(solve(t(X(x,x,n,p))%*%W(x,x,h,c)%*%X(x,x,n,p))%*%t(X(x,x,n,p))%*%W(x,x,h,c)%*%y))^2)*K(x,x,h))         
     }
    lines(x,mx)
}
##########################################################
qx=function(t.val,t,p)
{
    qx=rep(1,p+1)  
           for(i in 2:p+1)
             qx=qx*((t.val-t)^(i-1))
         
}
##########################################################
X=function(t.val,t,n,p)
{
   X=matrix(1,nrow=n,ncol=p+1)
            for(i in 1:n)
              for(j in 2:p+1)
                 X[i,j]=X[i,j]*((t.val-t)^(j-1))
         
}
##########################################################
W=function(t.val,t,h,c)
{
    h.d=c*n^(-1/5)
           h.s=1/h.d
           diag=matrix(0,n,n)
           for(i in 1:n)
              diag[i,i]=h.s*K(t.val,t,h)
           
           
}
############################################
K=function(t.val,t,h)
{
    return(kernel((t.val-t)/h))
}
############################################
kernel<-function(x)
{
    return ((15/16)*(1-x^2)*(abs(x)<=1))
}

关键词:有偿求助 function 局部多项式回归 局部多项式 Norm 求助 程序

沙发
ostrich 发表于 2010-6-2 22:36:07
先关注一个,对此不是很了解,等有时间了,好好研究一下。

藤椅
chinachun 发表于 2010-6-2 23:22:02
好多错误,例如第一个循环没有i 呢?如果你需要局部多项式回归的R  code ,我可以
帮助你。

板凳
楚韵荆风 学生认证  发表于 2010-6-3 14:35:40
这个我毕业论文刚做过。
共享是一种彼此的快乐

报纸
楚韵荆风 学生认证  发表于 2010-6-3 14:37:44
你的程序问题确实挺多的。很多细节语法没注意
共享是一种彼此的快乐

地板
楚韵荆风 学生认证  发表于 2010-6-3 14:50:11
比如,你的循环for(i in 2:p+1)应该改成for(2  in 2:(p+1))
另外你的t.val是向量还是单个数值?如果是向量,那么你的编写的核函数肯定运行出错。分段函数不允许整个向量直接计算。

LPR.txt
下载链接: https://bbs.pinggu.org/a-654361.html

639 Bytes

需要: 20 个论坛币  [购买]

已有 1 人评分学术水平 热心指数 收起 理由
起个好名字 + 1 + 1 厉害啊 前段时间刚刚帮过我的

总评分: 学术水平 + 1  热心指数 + 1   查看全部评分

7
guluzhe 发表于 2010-7-7 09:42:55
6# 楚韵荆风
谢谢了,我还是个初学者,请问如果想深入学习R软件应该看哪本书?

8
guluzhe 发表于 2010-7-7 09:55:15
错误于solve.default(t(X) %*% W %*% X) :
Lapack例行程序dgesv: 系统正好是奇异的
怎么会这样??

9
guluzhe 发表于 2010-7-7 16:30:06
6# 楚韵荆风

你的这个程序有错!!

10
chinachun 发表于 2010-7-9 00:26:53
他的肯定有问题,他说你的循环for(i in 2:p+1)应该改成for(2  in 2:(p+1))
后者明显就是错的,你的是对的,我已经给你发了这个CODE,你是想做哪类模型?
一般非参数?变系数?还是单指标模型?或是偏线性模型?

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 03:48