0

我是 PLSR 的新手,并且正在自学。

我目前拥有一种生物标志物的 6 种浓度的光谱数据,以 1015 个频率测量。这对于每个浓度水平重复四次。我通过对每个频率的重复数据取平均强度来汇总每个浓度的数据。

所以我的数据有

  • 结果中有 6 个观察结果,并且,
  • 具有 6 行(对应于结果中的值)和 1015 列的预测矩阵。

从这个线程中获取假数据模拟代码,一个模拟示例将是:

obs_no <- 6
col_no <- 1015
datasetpH <- data.frame(pH=rnorm(obs_no,5,1),
                        ref=I( matrix(data=rnorm(obs_no*col_no),nrow = obs_no, ncol = col_no) )
                        )
pls::plsr(pH ~ ref, ncomp = 10, data=datasetpH, method="kernelpls")

这给了我以下错误:

Error in pls::mvr(pH ~ ref, ncomp = 10, data = datasetpH, method = "kernelpls") : 
  Invalid number of components, ncomp

如果我在模拟示例中更改为 ncomp=5,则模型运行。

  • 为什么在上面的模拟示例中 ncomp 限制为 5?
  • 对于重复,是否应该对每个浓度和频率值的数据进行平均?或者,我可以在数据中保留重复数据并在结果中有 6*4 = 24 个浓度观察值(具有重复值)和一个对应的 24 行和 1015 列的预测矩阵?

我非常感谢您对上述内容的任何建议/指导 - 谢谢!

4

0 回答 0