permutation test(置换检验)
1:先用原始的data-labels进行SVR训练和预测(k-fold或LOOCV)。经过一次训练和预测会得到一组预测标签,通过计算预测标签和原始标签之间的相关,得到r值和p值,r值记为预测准确率。
2:随机打乱原始labels得到per_labels,分配给data,使用data-per_labels再进行一遍训练和预测(此处的模型要与1相同)。预测后,再次计算per_predict_labels与labels之间的相关系数per_r。
3:重复1000次步骤2。(一般是1000,5000,10000)
4:计算permutation test 的P值。
(例:1000个per_r中有3个大于r,则p值等于3+1/1000+1)
意义:为了确保步骤1的得到的预测结果不是偶然。
注:在使用k-fold进行模型训练预测时,一般要进行1000次以上,如果每次k-fold都进行permutation test的话,计算成本会增加1000倍以上。需要根据自己数据的情况进行合理选择。