Create linear model data Y = X * beta + epsilon
with
X as a n * p
matrix of multivariate normal distributed
rows with covariance matrix
1 rho rho^2 rho^3 ... rho^p
rho 1 rho rho^2 ... rho^(p-1)
rho^2 rho 1 rho ... rho^(p-2)
...
rho^p ...
epsilon
is standard normally distributed and
beta[i] = beta0 * q ^ (i - 1)
for i = 1,..., p
.
If permute == TRUE
, columns of X
as well as beta
are permuted before
the linear model equation is evaluated to generate Y
. These permuted
values are also the ones returned in the result.
$orig.features
are the features with beta > 1 / sqrt(n)
.
create.linear.data(n, p, q = exp(-1), beta0 = 1, rho = 0, permute = TRUE)
list(X=[Matrix], Y=[vector], beta = [vector], orig.features = logical)
[integer(1)]
number of rows to generate.
[integer(1)]
number of columns to generate.
[numeric(1)]
attenuation factor for beta coefficients.
[numeric(1)]
size of first coefficient.
[numeric(1)]
parameter for correlation matrix.
[logical(1)]
whether to permute columns of X
and coefficient
vector (beta
).
Other Artificial Datasets:
clonetask()
,
create.hypersphere.data()
,
create.linear.toy.data()
,
create.regr.task()
,
task.add.permuted.cols()
,
task.add.random.cols()