Data Generators¶
Warning
This section may be subject of larger changes and/or redesigns. For example it is planned to absorb joshday/DataGenerator.jl
Noisy Function¶
-
noisy_function
(fun, x; noise, f_rand) → Tuple¶ Generates a noisy response
y
for the given functionfun
by addingnoise .* f_randn(length(x))
to the result offun(x)
.Parameters: - fun (Function) – The function for which one wants to
generate some noisy response variables. Can be any
univariate function accepting a
Float64
. - x (Vector) – The feature vector of numbers that should be used
as input for
fun(x)
. This variable will also be returned by the function for consistency with other generators. - noise (Float64) – The scaling factor for the noise. This
number will be multiplied to the output of
f_rand
. - f_rand (Function) – The function creating the random
numbers to be added as noise to the result of
fun
.
Returns: A tuple of two vectors. The first vector
x
denotes the independent variable (feature) and the second vectory
represents a noisy estimate of the given functionfun
, which is “simulated” by adding some rescaled random numbers to its output.x, y = noisy_function(fun, x; noise = 0.01, f_rand = randn)
- fun (Function) – The function for which one wants to
generate some noisy response variables. Can be any
univariate function accepting a
Noisy Sin¶
-
noisy_sin
(n, start, stop; noise, f_rand)¶ Generates
n
noisy equally spaced samples of a sinus fromstart
tostop
by addingnoise .* f_randn(length(x))
to the result offun(x)
.Parameters: - n (Int) – Number of observations to generate.
- start (Int) – The lowest value used as input for
sin
- stop (Int) – The largest value used as input for
sin
- noise (Float64) – The scaling factor for the noise. This
number will be multiplied to the output of
f_rand
. - f_rand (Function) – The function creating the random
numbers to be added as noise to the result of
sin
.
Returns: A tuple of two vectors. The first vector
x
denotes the independent variable (feature) and the second vectory
represents a noisy estimate ofsin
, which is “simulated” by adding some rescaled random numbers to its output.x, y = noisy_sin(n, start, stop; noise = 0.3, f_rand = randn)
Noisy Polynome¶
-
noisy_poly
(coef, x; noise, f_rand)¶ Generates a noisy response for a polynomial of degree
length(coef)
using the vectorx
as input and addingnoise .* f_randn(length(x))
to the result.Parameters: - coef (Vector) – Contains the coefficients for the terms of the polynome. The first element denotes the coefficient for the term with the highest degree, while the last element denotes the intercept.
- x (Vector) – The feature vector of numbers that should be used as the data for the polynome. This variable will also be returned by the function for consistency with other generators.
- noise (Float64) – The scaling factor for the noise. This
number will be multiplied to the output of
f_rand
. - f_rand (Function) – The function creating the random numbers to be added as noise to the result of the polynome.
Returns: A tuple of two vectors. The first vector
x
denotes the independent variable (feature) and the second vectory
represents a noisy estimate of the given polynome, which is “simulated” by adding some rescaled random numbers to its output.x, y = noisy_poly(coef, x; noise = 0.01, f_rand = randn)