【问题标题】:PLS coefficients with r带有 r 的 PLS 系数
【发布时间】:2013-11-15 20:37:20
【问题描述】:

我正在使用包“pls”和“ChemometricswithR”制作 PLS 模型。我能够执行该模型,但我有一个问题。我做了一个留一法验证,如果我询问系数,我只能看到一个方程(我想是在留一法验证中开发的所有方程的平均值)。

有没有办法查看所有带有所有斜率系数的“n”方程(其中 n 是我的矩阵中的观察数)?

这是我使用的模型:mod2

【问题讨论】:

    标签: r


    【解决方案1】:

    如果您提供更多信息,您如何调用函数等,这将更容易回答?根据您所说的,我假设您正在使用包“pls”和“ChemometricswithR”中的函数crossval()PCA()。我不熟悉这些函数,但文档说明了系数 "(仅当 jackknife 是 TRUE) 一个带有 jackknifed 回归系数的数组。维度分别对应于预测变量、响应、组件数量和段"。所以我想说确保 jackknife=TRUE 并且您正在指定crossval() 中的段数正确。如果您使用不同的功能,您应该编辑您的问题并添加相关信息。

    【讨论】:

    • 我使用了这个函数 mod2
    • 好的,查看这些功能似乎有一些重叠。 crossval 状态的描述 mvr 对象的“独立”交叉验证函数,它们为 crossval yarn.cv <- crossval(yarn.pcr, segments = 10) 提供了这个示例,其中yarn.pcr <- pcr(density ~ msc(NIR), 6, data = yarn)。所以也许可以试试crossval(mod2, segments=206, jackknife=TRUE) 并继续查看文档,可能会有更好的方法来做你想做的事。
    • 好的,我试过了。我用过:crossval(mod2,segments=206,jackknife=TRUE) 并且出现了这个错误:dimnames(cvCoef)
    • 不确定,但可能段 # 是错误的。确保所有输入都正确。
    • 好的,我找到了解决方案(我希望)。 mod2
    【解决方案2】:

    好的,我找到了解决方案。

    我使用的模型是:

    mod2<plsr(SH_uve~matrix_uve,ncomp=11,data=dataset_uve,validation="LOO",jackknife = TRUE) 
    

    系数矩阵在 mod2 数组内。我用命令调用了矩阵:

    coefficients&lt;-mod2$validation$coefficients[,,11,] 我得到了用于留一法交叉验证的所有方程的系数矩阵。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-02
      • 1970-01-01
      • 2019-07-30
      • 1970-01-01
      • 2016-08-14
      • 1970-01-01
      • 2019-05-29
      • 1970-01-01
      相关资源
      最近更新 更多