从 r 包 PMA 中的权重获取规范载荷(即分数)

机器算法验证 r 正则化 典型相关
2022-03-24 08:39:58

我想在两个矩阵之间执行正则化的规范相关,其中的变量比观察值多(相同的主题),其中一个非常大(~18000 列)。唯一可以处理矩阵维度的 r 包是 PMA(尝试过 mixOmics、RGCCA ...)。

问题是函数 CCA 的输出只给出了规范变量和相关性,以及规范权重。为了更好地解释结果,规范分数是必要的,但这(奇怪地)不是由 CCA 功能提供的。我对矩阵代数(以及一般的统计数据)不是很精通,我不确定如何计算它。

包文档中的示例:

### create matrices
> u <- matrix(c(rep(1,25),rep(0,75)),ncol=1)
> v1 <- matrix(c(rep(1,50),rep(0,450)),ncol=1)
> v2 <- matrix(c(rep(0,50),rep(1,50),rep(0,900)),ncol=1)
> x <- u%*%t(v1) + matrix(rnorm(100*500),ncol=500)
> z <- u%*%t(v2) + matrix(rnorm(100*1000),ncol=1000)
### perform canonical correlation (3 canonical variates)    
> out <- CCA(x,z,typex="standard",typez="standard",K=3)

> print(out,verbose=TRUE)
Call: CCA(x = x, z = z, typex = "standard", typez = "standard", K = 3)

Num non-zeros u's:  59 88 75 
Num non-zeros v's:  180 154 164 
Type of x:  standard 
Type of z:  standard 
Penalty for x: L1 bound is  0.3 
Penalty for z: L1 bound is  0.3 
Cor(Xu,Zv):  0.9578624 0.93371 0.9418701

Component  1 :

Row Feature Name Row Feature Weight
1                 1              0.112
2                 2              0.080
3                 3              0.124   
4                 4              0.165
5                 5              0.087
........
........            
Column Feature Name Column Feature Weight
1                    10                 0.006
2                    15                -0.027
3                    25                -0.025
4                    28                 0.030
5                    35                 0.035
........
........

组件 2 和 3 类似。

另一个疑问是关于结果的重要性:给定的非零变量是否已经计算为“与 0 显着不同”?虽然没有询问显着性阈值。

0个回答
没有发现任何回复~