gpt4 book ai didi

r - 高维设置中的主协变量回归 (PCovR)

转载 作者:行者123 更新时间:2023-11-30 08:37:13 24 4
gpt4 key购买 nike

我想在高维设置中使用主协变量回归,其中我的解释变量 (J) 多于观测值 (N)。我遇到了 R 包“PCovR”(请参阅​​ CRAN-R 包 here 和 Journal of Statistical Software 文章 here)。该包在低维设置中表现出色。

但是,该包在高维设置中失败。要遇到高维问题,您可以运行以下(最小可行示例)代码:

# Load package
library(PCovR)

# Fix random number generator
set.seed(1)

# Generate X: random standard normal matrix with J=200 explanatory variables and N=100 observations
x <- matrix(nrom(n=20000, mean=0, sd=1), nrow=100, ncol=200); dim(x)

# Generate Y: random standard normal vector with N=100 observations
y <- rnorm(n=100, mean=0, sd=1)

# Run PCovR
pcovr.fit <- pcovr(X=x, Y=y, modsel="seq")

这会出现以下错误,

R> Error in Vminc[k] = which.min(A[, k]) : replacement has length zero 

为了调整参数R(分量数量)和alpha(加权参数),该软件包附带了基于最大似然的快速顺序模型估计选项(“modsel=seq")和基于网格搜索交叉验证的计算要求较高的同时估计("modsel=sim")。

高维问题的根源在于,当在 ErrorRatio 函数中执行线性回归时,显然无法再确定比率参数(如果“modsel=seq”,则默认使用 ErrorRatio 函数计算)。一个可行但次优的解决方案是使用预先指定比率参数的同步过程(因为它不会在同步过程中使用),

pcovr.fit <- pcovr(X=x, Y=y, modsel="sim", ratio=1)

但这对计算的要求极高。对于如何在高维设置中运行 PCovR 有任何想法、提示或建议吗?

最佳答案

本周早些时候,CRAN 上发布了该软件包的更新(版本 2.7)。在此较新版本中,高维设置中参数“ratio”默认等于 1。当然,也可以要求其他比率,但只有在标准化数据具有 200 个预测变量 (J) 且只有 1 个标准 (K ),因为最大似然 alpha 是通过以下公式获得的(对于标准化数据):

alpha <- J/(J+K*ratio)

另一种方法可能是搜索数据误差方差的另一个代理,但在这种特定情况下,无论如何,您最终可能会得到 0.99 左右的 alpha 值。不过,研究选择另一个 alpha 值对获得的解决方案的影响可能会很有趣。

关于r - 高维设置中的主协变量回归 (PCovR),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42972978/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com