我同意如果在训练数据上使用缩放,它也应该在测试数据上使用。
但是,从我在pcr
文档中看到的功能中没有scale
选项。这似乎可以通过运行文档中示例中的代码来确认:
pcr: Prinicpal component regression transfer function models
> library(analogue)
> data(ImbrieKipp)
> data(SumSST)
> pcr(ImbrieKipp, SumSST, tranFun = Hellinger, scale = TRUE)
Principal Component Regression Model
Call:
pcr(x = ImbrieKipp, y = SumSST, tranFun = Hellinger, scale = TRUE)
No. of Components: 27
RMSE (Apparent):
PC1 PC2 PC3 PC4 PC5 PC6 PC7 PC8 PC9 PC10 PC11
2.381215 1.707588 1.680896 1.679774 1.608903 1.535145 1.507995 1.496939 1.496908 1.432142 1.426444
PC12 PC13 PC14 PC15 PC16 PC17 PC18 PC19 PC20 PC21 PC22
1.405155 1.391348 1.349172 1.349172 1.315284 1.313187 1.311801 1.291201 1.206484 1.188438 1.187503
PC23 PC24 PC25 PC26 PC27
1.171215 1.170947 1.170380 1.162497 1.162355
> pcr(ImbrieKipp, SumSST, tranFun = Hellinger, scale = FALSE)
Principal Component Regression Model
Call:
pcr(x = ImbrieKipp, y = SumSST, tranFun = Hellinger, scale = FALSE)
No. of Components: 27
RMSE (Apparent):
PC1 PC2 PC3 PC4 PC5 PC6 PC7 PC8 PC9 PC10 PC11
2.381215 1.707588 1.680896 1.679774 1.608903 1.535145 1.507995 1.496939 1.496908 1.432142 1.426444
PC12 PC13 PC14 PC15 PC16 PC17 PC18 PC19 PC20 PC21 PC22
1.405155 1.391348 1.349172 1.349172 1.315284 1.313187 1.311801 1.291201 1.206484 1.188438 1.187503
PC23 PC24 PC25 PC26 PC27
1.171215 1.170947 1.170380 1.162497 1.162355
我确实检查了数据不是从一开始就标准化的!
所以在你的情况下,我会scale()
在运行之前简单地使用数据pcr
编辑以解决评论中提出的观点。在 pcr 函数中,如果您使用完全虚构的变量,则不会出现警告或错误:
> pcr(ImbrieKipp, SumSST, tranFun = Hellinger, SomethingIjustMadeUp = TRUE)
Principal Component Regression Model
Call:
pcr(x = ImbrieKipp, y = SumSST, tranFun = Hellinger, SomethingIjustMadeUp = TRUE)
No. of Components: 27
RMSE (Apparent):
PC1 PC2 PC3 PC4 PC5 PC6 PC7 PC8 PC9 PC10 PC11
2.381215 1.707588 1.680896 1.679774 1.608903 1.535145 1.507995 1.496939 1.496908 1.432142 1.426444
PC12 PC13 PC14 PC15 PC16 PC17 PC18 PC19 PC20 PC21 PC22
1.405155 1.391348 1.349172 1.349172 1.315284 1.313187 1.311801 1.291201 1.206484 1.188438 1.187503
PC23 PC24 PC25 PC26 PC27
1.171215 1.170947 1.170380 1.162497 1.162355
没有警告或错误