mgc.sims.cubic(
n,
d,
eps = 80,
ind = FALSE,
a = -1,
b = 1,
c.coef = c(-12, 48, 128),
s = 1/3
)
Arguments
n
the number of samples for the simulation.
d
the number of dimensions for the simulation setting.
eps
the noise level for the simulation. Defaults to 80.
ind
whether to sample x and y independently. Defaults to FALSE.
a
the lower limit for the range of the data matrix. Defaults to -1.
b
the upper limit for the range of the data matrix. Defaults to 1.
c.coef
the coefficients for the cubic function, where the first value is the first order coefficient, the second value the quadratic coefficient, and the third the cubic coefficient. Defaults to c(-12, 48, 128).
s
the scaling for the center of the cubic. Defaults to 1/3.
Value
a list containing the following:
X
[n, d] the data matrix with n samples in d dimensions.
Y
[n] the response array.
Details
Given: \(w_i = \frac{1}{i}\) is a weight-vector that scales with the dimensionality.
Simulates \(n\) points from \(Linear(X, Y) \in \mathbf{R}^d \times \mathbf{R}\), where:
$$X \sim {U}(a, b)^d$$
$$Y = c_3\left(w^TX - s\right)^3 + c_2\left(w^TX - s\right)^2 + c_1\left(w^TX - s\right) + \kappa \epsilon$$
and \(\kappa = 1\textrm{ if }d = 1, \textrm{ and 0 otherwise}\) controls the noise for higher dimensions.