首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R中随机森林回归模型的corr.bias参数

R中随机森林回归模型的corr.bias参数
EN

Stack Overflow用户
提问于 2013-07-24 18:23:05
回答 1查看 1.6K关注 0票数 3

我在R中使用随机森林的回归模型,我发现参数corr.bias根据手册是“实验性的”,我的数据是非线性的,我只是想知道将这个参数设置为true是否可以增强结果,另外我不知道它对非线性数据是如何工作的,所以如果有人能解释一下这个校正偏差在随机森林包中是如何工作的,以及它是否可以增强我的回归模型,我真的很感激。

EN

回答 1

Stack Overflow用户

发布于 2013-07-24 22:17:35

简单的答案是,它基于对实际值和拟合值的线性回归来执行简单的校正。

来自regrf.c

代码语言:javascript
复制
/* Do simple linear regression of y on yhat for bias correction. */
if (*biasCorr) simpleLinReg(nsample, yptr, y, coef, &errb, nout);

该函数的前几行很简单:

代码语言:javascript
复制
void simpleLinReg(int nsample, double *x, double *y, double *coef,
          double *mse, int *hasPred) {
/* Compute simple linear regression of y on x, returning the coefficients,
   the average squared residual, and the predicted values (overwriting y). */

因此,当您使用corr.bias = TRUE拟合回归随机森林时,返回的模型对象将包含一个coef元素,该元素将只是来自线性回归的两个系数。

然后,当您调用predict.randomForest时,就会发生这种情况:

代码语言:javascript
复制
## Apply bias correction if needed.
yhat <- rep(NA, length(rn))
names(yhat) <- rn
if (!is.null(object$coefs)) {
   yhat[keep] <- object$coefs[1] + object$coefs[2] * ans$ypred
}

您的数据的非线性性质可能不一定相关,但如果拟合的值和实际值之间的关系远远不是线性的,那么偏差校正可能会非常差。

您可以始终对模型进行拟合,然后自己绘制拟合的vs实际值,并查看基于线性回归的校正是否有用。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17831267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档