问题描述
我生成两个随机向量,然后运行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 (将#修改为@)