全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
644 1
2019-11-02
请问各位,以下程序到底哪里出了问题,函数ln1 可以计算,但是最优化的时候就会出问题

ln1=function(lam1,h,data,beta){
  x1=data$x1; y1=data$y1; n1=length(y1)
  
  x2=data$x2; y2=data$y2; n2=length(y2)
  
  theta=n1/(n1+n2)
  
  z1=x1*as.vector(dnorm(y1,x1%*%beta,h)*(y1-x1%*%beta))
  
  part=1+z1%*%lam1/theta
  
  index=which(1+z1%*%lam1/theta<=1/n1)
  part[index]=-log(n1)-1.5+2*n1*part[index]-(n1*part[index])^2/2
  
  nln=-2*sum(log(part+1e-50))
  
  if( is.na(nln)|is.nan(nln)|is.infinite(nln)|nln>1e10) nln=1e10
  
  nln  
}


x1=as.matrix(rnorm(100,0,1)); x2=as.matrix(rnorm(100,0,1))
x1=cbind(1,x1); x2=cbind(1,x2)
y1=rnorm(100,0,1); y2=rnorm(100,0,1)
data=list(x1=x1,x2=x2,y1=y1,y2=y2)
beta=c(1,2); h=1; lam1=c(0.1,0.1)
ln1(lam1,h,data,beta)
lam=c(0,0)
nlminb(start=lam,ln1,h=h,data=data,beta=beta)

二维码

扫码加我 拉你入群

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

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

全部回复
2019-11-2 15:51:20
现在的论坛怎么老出现乱码或者特殊符号发不出来
二维码

扫码加我 拉你入群

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

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

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群