Data generation function for examples.

Share:

Description

This function generates a few types of data with different correlation structures. The generated data can be used in the examples provided in other functions such as the calculation of the functional canonical correlation analysis and the functional least angle regression.

Usage

1
2
data_generation(seed,nsamples=80,hyper=NULL,var_type=c('f','m'),
                cor_type=1:6,uncorr=TRUE,nVar=8)

Arguments

seed

Set the seed for random numbers.

nsamples

Sample size of the data to generate.

hyper

Hyper parameters used in the Gaussian process (GP). GP is used for building the covariance structure of the functional variables.

var_type

Two choices of the variable types. See details for more information.

cor_type

Correlation structures. See details for more information.

uncorr

Whether the variables are built based on linearly uncorrelated variables. See details for more information.

nVar

Number of base variables to generate. Note that this is not the exact number of variables generated at the end.

Details

var_type could be either 'f' or 'm'. If var_type='f', only functional variables will be generated. If var_type='m', both functional variables and scalar variables will be generated.

When uncorr is TRUE, a few linearly uncorrelated variables will be generated. This is to better control the correlation structure of the variables using cor_type. If you want to generated a large number of variables, uncorr should be FALSE.

cor_type are numbers from 1 to 6 or from 1 to 4 depending on the choices of var_type. This is ONLY useful when we use the defaul number of variables, i.e., nVar=8 and the initial variables are linearly uncorrelated, i.e., uncorr=TRUE. Bigger value of cor_type means more complicated correlation structures.

If no correlation restriction is required for the variables, we can use cor_type=1.

nVar is the number of the base variables generated. It is recommaned that users can modify the function to get their own data set. The other way is to use this function repeatedly to get enough both functional and scalar variables. The response variable can be re-generated by the user. Increasing the value of this argument may give NaN for the response variables.

Value

x

List of covariates.

y

Response variable.

BetaT

True shape of the functional coefficients and true values of the scalar variables.

bConst

Normalizing constants of the functional coefficients. True functional coefficients are the shape times the corresponding normalizing constant.

noise

Random noise.

mu

True intercept.

Examples

1
2
3
library(flars)
dataL=data_generation(seed = 1,uncorr = TRUE,nVar = 8,nsamples = 120,
      var_type = 'f',cor_type = 1)