【问题标题】:lda from MASS-package with more predictors than observations来自 MASS-package 的 lda 具有比观察更多的预测变量
【发布时间】:2021-10-04 05:45:51
【问题描述】:

我对多元统计相当陌生,在 R 的帮助部分中找不到答案,也无法在 MASS 包的源代码中找到答案,所以也许你可以帮助我。

我的数据有很多预测变量 (450),而只有很少的观察值 (~200)。我读到由于方差矩阵的必要反转,计算 lda 是不可能的。但只是在知道这表明它有效并且给出了不错的结果之前尝试它。怎么解释? lda正手选择分离影响最大的变量吗?

我正在使用 caret 包添加 5 折 cv 并预先分离到 train(0.8) 和 test(0.2) 数据中。

Validierung <- trainControl(method = "cv", number = 5)
ldaFit1 <- train(`Species` ~., data= train,
             method= "lda",
             trControl = Validierung,
             metric = "Accuracy")  

【问题讨论】:

    标签: r lda mass


    【解决方案1】:

    LDA 有一种内部机制可以将特征数量减少为几个重要的潜在变量:

    与 PCA 一样,LDA 使用预测变量的线性组合来创建用于最终分类的新轴。 与 PCA 不同,它试图最大化组之间的差异,而 PCA 不关心标签,而是最大化总方差。

    此外,如果变量的方差低于容差阈值(MASSS::lda 中的选项 tol),系数将设置为常数。

    通过将原始数据与scaling 系数矩阵相乘来对特征进行加权,以获得 LDA 转换空间中的数据。 Sepal.Length 是区分物种最有用的特征(缩放矩阵中 LD1 的最高绝对值),第二个 LDA 轴几乎根本不重要(轨迹比例):

    library(MASS)
    
    model <- lda(Species ~ ., iris)
    model
    #> Call:
    #> lda(Species ~ ., data = iris)
    #> 
    #> Prior probabilities of groups:
    #>     setosa versicolor  virginica 
    #>  0.3333333  0.3333333  0.3333333 
    #> 
    #> Group means:
    #>            Sepal.Length Sepal.Width Petal.Length Petal.Width
    #> setosa            5.006       3.428        1.462       0.246
    #> versicolor        5.936       2.770        4.260       1.326
    #> virginica         6.588       2.974        5.552       2.026
    #> 
    #> Coefficients of linear discriminants:
    #>                     LD1         LD2
    #> Sepal.Length  0.8293776  0.02410215
    #> Sepal.Width   1.5344731  2.16452123
    #> Petal.Length -2.2012117 -0.93192121
    #> Petal.Width  -2.8104603  2.83918785
    #> 
    #> Proportion of trace:
    #>    LD1    LD2 
    #> 0.9912 0.0088
    model$scaling
    #>                     LD1         LD2
    #> Sepal.Length  0.8293776  0.02410215
    #> Sepal.Width   1.5344731  2.16452123
    #> Petal.Length -2.2012117 -0.93192121
    #> Petal.Width  -2.8104603  2.83918785
    

    reprex package 创建于 2021-10-04 (v2.0.1)

    【讨论】:

    • 谢谢!这很有帮助,你有参考吗?
    • 阈值是 Mass 文档的一部分。 LDA 是一种通用方法。所以这里我们不必引用论文
    • 我同意!但我想更多地了解“将特征数量减少为几个潜在变量的内部机制”。先感谢您! :)
    • LDA 被解释为例如在youtube.com/watch?v=azXCzI57Yfc
    • @bienexo 我修改了我的答案。
    猜你喜欢
    • 2022-11-23
    • 2016-02-07
    • 1970-01-01
    • 2016-02-13
    • 2014-06-28
    • 2013-12-03
    • 1970-01-01
    • 1970-01-01
    • 2019-08-27
    相关资源
    最近更新 更多