I am simulating some draws using random numbers. Unlikely, the generated numbers are not random as I would like. In fact, I obtain that there are some linear combinations.
In details, I have the following starting data:
start_vector = c(1,10,30,40,50,100) # length equal to 6
residual_of_model = 5
n = 1000 # Number of simulations
I try to simulate n
observations from a random normal distribution for each of the start_vector
elements, assuming it as a "random noise" to add to the original value (that is the one into start_vector
):
out_vec <- matrix(NA, nrow = n, ncol = length(start_vector))
for (h_aux in 1:length(start_vector))
{
random_noise <- rnorm(n, 0, residual_of_model)
out_vec[,h_aux] <- as.numeric(start_vector[h_aux]) + random_noise
}
At this point, I obtain a matrix of size 6x1000. In theory, I assume all the columns and the rows in the matrix are linearly independent among them.
If I try to check it, using the findLinearCombos()
function from the caret
package I obtain that all the columns are indepent:
caret::findLinearCombos(out_vec)
If I try to evaluate the independence among the rows, using the following code:
caret::findLinearCombos(t(out_vec))
I obtain that all the rows from 7 to 1000 are a linear combination of the first 6 (the length of start_vector
).
It is really strange in my opinion, I would like to not observe no dependencies at all since the rows are generated adding a random number using rnorm
.
What am I missing? Is there some bug? Thanks in advance!
question from:
https://stackoverflow.com/questions/65646346/random-generated-number-are-linear-combination-among-them-even-if-not-specified