Можно ли установить correlation = 1
с использованием холесковой техники разложения?Могу ли я генерировать двумерные нормальные случайные величины с корреляцией 1 с использованием факторизации Холецкого?
set.seed(88)
mu<- 0
sigma<-1
x<-rnorm(10000, mu, sigma)
y<-rnorm(10000, mu, sigma)
MAT<-cbind(x,y)
cor(MAT[,1],MAT[,2])
#this doesn't work because 1 makes it NOT positive-definite. any number 0 to .99 works
correlationMAT<- matrix(1,nrow = 2,ncol = 2)
U<-chol(correlationMAT)
newMAT<- MAT %*% U
cor(newMAT[,1], newMAT[,2]) #.....but I want to make this cor = 1
Любые идеи?
Если вы хотите создать переменные с 'cor' 1, это довольно просто ...' x <- rnorm (10000) ',' y <- constant * x' где 'constant' - это все, что вы хотите, это больше, чем 0. Но если есть шум, то корреляция будет меньше 1. – Gregor
@ Грегор. Но я хочу превратиться в использование хола или чего-то подобного. – user3022875
@ user3022875 Почему это имеет значение, как вы это сделали? 1 - патологический случай, но он тривиальный. –