10倍交叉验证中两个随机向量之间的显着相关性

问题描述

生成两个随机向量,然后运行10倍并尝试使用另一个向量来预测一个变量,然后计算实际值与预测值之间的相关性。据我了解,尝试从随机变量中预测变量应该是不相关的,但是10倍似乎很重要,而每1倍却没有意义。

X = data.frame(y = rnorm(1000),x = rnorm(1000),fold = rep(1:10,each = 10),predicted = NA)
p_val = c()
for (fold in 1:10) {
  X_train = X[which(X$fold != fold),]
  X_test  = X[which(X$fold == fold),]
  prediction_model = coef(lm(y ~ x,X_train))
  X$predicted[which(X$fold == fold)] = prediction_model[1] + prediction_model[2] * X_test$x
  p_val=rbind(p_val,cor.test(X_test$y,X_test$x)$p.value)
}
p_val_10fold = cor.test(X$y,X$predicted)
cat('\nSeparate 10-fold:',p_val,'\n')
cat('Together 10-fold:',p_val_10fold$p.value,'\n')

为什么每个单倍的相关性p值分别不显着,而将所有样本一起使用时显着性为何?样本大小似乎不是问题,因为即使在10百万样本大小上,样本大小也相同。获得的结果的示例:

Separate 10-fold: 0.945942 0.575846 0.6427951 0.9434029 0.225132 0.811598 0.01552417 0.8120576 0.1043676 0.8656115 
Together 10-fold: 0.0001115764 

对于在哪里出错的任何想法,评论提示,我深表感谢。谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)