加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

R中的Bootstrap多项式回归

发布时间:2020-12-17 20:41:47 所属栏目:安全 来源:网络整理
导读:我试图在R中引导一个简单的多项式回归,我收到一个错误: Error in is.data.frame(data) : object ‘d’ not found 真正奇怪的是,我使用相同的代码(调整到这个特定的问题),就像在启动包at Quick-R的教程中一样,当我使用不同的函数(如lm())时,相同的代码也有效
我试图在R中引导一个简单的多项式回归,我收到一个错误:

Error in is.data.frame(data) : object ‘d’ not found

真正奇怪的是,我使用相同的代码(调整到这个特定的问题),就像在启动包at Quick-R的教程中一样,当我使用不同的函数(如lm())时,相同的代码也有效.当然,我做了一些愚蠢的事情,但我看不出是什么.如果有人可以提供帮助,我会非常感激.

这是一个例子:

require(foreign)
require(nnet)
require(boot)

# an example for multinomial logistic regression
ml = read.dta('http://www.ats.ucla.edu/stat/data/hsbdemo.dta')
ml = ml[,c(5,7,3)]

bs <- function(formula,data,indices) {
    d = data[indices,] # allows boot to select sample
    fit = multinom(formula,data=d)
    s = summary(fit)
    return(list(fit$coefficients,fit$standard.errors))
}

# 5 replications
results = list()
results <- boot(
    data=ml,statistic=bs,R=5,parallel='multicore',formula=prog~write
)

解决方法

错误发生在summary()部分,multinom()返回的对象也没有系数和standard.errors.似乎,summary.multinom()依次计算你的数据中的hessian d,由于某种原因(可能是一个范围问题)无法找到.快速解决方法是添加Hess = TRUE:

bs <- function(formula,indices) {
  d = data[indices,] # allows boot to select sample
  fit = multinom(formula,data=d,Hess = TRUE)
  s = summary(fit)
  return( cbind(s$coefficients,s$standard.errors) )
}

# 5 replications
results = list()
results <- boot(
  data=ml,formula=prog~write
)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读