Each omic layer is X_i = signal * outer(u_shared, v_true)
+ signal_spec * outer(u_spec_i, v_spec_i) + noise.
Both u and v vectors are unit-norm, so signal is the true singular
value of the shared component. The BBP detectability threshold at this
scale is (n*p)^(1/4).
Usage
synthetic_control(
n = 40L,
p = 5000L,
K = 2L,
signal = 25,
signal_spec = 8,
noise_sd = 1,
seed = 42L
)Arguments
- n
integer number of samples (columns in the omic matrix convention)
- p
integer number of features / genes per omic layer
- K
integer number of omic layers (>= 1)
- signal
numeric singular value of the shared component (must be > 0)
- signal_spec
numeric singular value of each omic-layer-specific component
- noise_sd
numeric standard deviation of the additive i.i.d. Gaussian noise
- seed
integer RNG seed for reproducibility