楼主: 杨心蕙
591 2

[程序分享] R语言 函数优化问题 [推广有奖]

  • 0关注
  • 0粉丝

小学生

35%

还不是VIP/贵宾

-

威望
0
论坛币
500 个
通用积分
38.8665
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
66 点
帖子
3
精华
0
在线时间
9 小时
注册时间
2021-4-14
最后登录
2022-6-5

楼主
杨心蕙 发表于 2021-12-6 21:26:04 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
optim函数优化时一直报错  S4类的无法转化成向量类型
程序如下
希望各位R语言大神 帮忙解决一下 跪谢
代码报错
二维码

扫码加我 拉你入群

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

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

关键词:函数优化 R语言 Optim OPT Tim

沙发
s609078902 发表于 2021-12-7 10:14:21
l 和 g 是什么类型的数据

藤椅
杨心蕙 发表于 2021-12-7 18:42:19
s609078902 发表于 2021-12-7 10:14
l 和 g 是什么类型的数据
###################################################fy的估计
R=function(fy,N,x){
  corr=matrix(0,N,N)
  for(m in 1:N){
    for(n in 1:N){
      corr[m,n]=exp(-(fy[1]*(x[m,1]-x[n,1])^2+fy[2]*(x[m,2]-x[n,2])^2+fy[3]*(x[m,3]-x[n,3])^2+fy[4]*(x[m,4]-x[n,4])^2))
    }
  }
  return(corr)
}
Rh=R(fy,n1,xh)
Rl=R(fy,n2,xl)

beta_h_hat=function(fy){
  solve(t(Fh)%*%solve(R(fy,n1,xh))%*%Fh)%*%(t(Fh)%*%solve(R(fy,n1,xh))%*%yh)
}
beta_l_hat=function(fy){
  solve(t(Fl)%*%solve(R(fy,n2,xl))%*%Fl)%*%(t(Fl)%*%solve(R(fy,n2,xl))%*%yl1)
}
sigma_h_hat=function(fy){
  (1/n1)*t(yh-Fh%*%beta_h_hat(fy))%*%solve(R(fy,n1,xh))%*%(yh-Fh%*%beta_h_hat(fy))
}
sigma_l_hat=function(fy){
  (1/n2)*t(yl1-Fl%*%beta_l_hat(fy))%*%solve(R(fy,n2,xl))%*%(yl1-Fl%*%beta_l_hat(fy))
}
#fy的似然函数
fun_fy=function(fy){
  n1*log(sigma_h_hat(fy))+n2*log(sigma_l_hat(fy))+log(det(R(fy,n1,xh)))+log(det(R(fy,n2,xl)))
}
#梯度函数
fun_fy_dao=function(fy){
  deriv(fun_fy(fy))
}

fy=optim(par=c(0.5,0.2,0.4,0.6),fun_fy,method="L-BFGS-B",hessian = T)
fy




optim的第一个参数是  1,是设置的需要估计的参数fy的初始值
应该将初始值设置为一个向量的
g是需要优化的函数,最后需要返回一个向量



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

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