楼主: xn4928566
999 0

[问答] 请问下我这个求robust mean的程序哪里有错啊? [推广有奖]

  • 0关注
  • 0粉丝

小学生

71%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
1.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
103 点
帖子
3
精华
0
在线时间
11 小时
注册时间
2018-6-2
最后登录
2020-1-20

楼主
xn4928566 发表于 2018-6-3 15:34:04 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
#Adaptive Robust mean
rm<-function(x){
  eps <- 10^(-6)
  n <- length(x)
  z <- 1+log(n)
  est_mu1 <- mean(x)
  est_mu2 <- 0
  tau_old <- sd(x)
  tau_new <- 2*tau_old
while (abs(tau_new-tau_old)+abs(est_mu2-est_mu1)>eps) {
  est_mu2 <- est_mu1
  tau_old <- tau_new
  res_hub <- x - est_mu1
  res_square <- res_hub^2
  x_max <- sum(res_square)
  fixed_equ_value<-function(x){
    value<-sum(min(res_square,x))/(x*n) - (1+log(n))/n
    return(value)
  }
  tau2<-uniroot(fixed_equ_value,c(min(res_square), x_max))
  tau_new<-sqrt(tau2)
  mu_new <- est_mu1
  mu_old <- 2*est_mu1
  while (abs(mu_new-mu_old)>eps){
    mu_old <- mu_new
    r <- x - mu_new
    abs(r) > tau_new
    w <- (as.numeric(abs(r) > tau_new))*(abs(r)/tau_new - 1)
    mu_new <- sum(x/(w+1))/sum(1/(w+1))
  }
  est_mu1 = mu_new
}
  robust_mean <- est_mu1
  tau <- tau_new
  return(robust_mean)
  return(tau)
}


二维码

扫码加我 拉你入群

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

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


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

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