此图片来自Shao和Deng的paper。
我想根据这些说明重现数据集。这是我编写的R
代码。
sigma = 10
n = 30 # 100 200
p = 100 # 500 2000 # increasing n/p
Sigma = matrix(0.75, p, p); diag(Sigma) = 1
beta = c(1 + 0.1*(1:20), rep(0, p - 20))
epsilon = rnorm(n, 0, sigma)
X = MASS::mvrnorm(n, rep(0, p), Sigma)
y = X%*%beta + epsilon
Q = svd(X)$v
theta = Q%*%t(Q)%*%beta
thetasq.sort = sort(theta^2)
L2.cpp = cumsum(thetasq.sort)/sum(theta^2)
plot(L2.cpp)
这些是情节:1(我的情节)2(摘自论文)
造成差异的原因是什么?