Проблема: Сокращение набора данных, используемого в регрессии, до нескольких меньших наборов, где переменные зависят внутри матрицы, но не зависят друг от друга.
У меня большой набор данных с 1000 фиктивных переменных, но только несколько «положительных» для каждой строки, и память ограничивает мою способность строить разные модели.
Поэтому я пытаюсь разбить набор данных на наборы, в которых существует линейная зависимость между переменными в наборе, но нет зависимости от других наборов.
Маленький пример:
M1 <- c(1L,0L,0L,0L,1L,1L,0L,0L,0L,0L,1L,1L,0L,0L,1L,0L)
dim(M1) <- c(4,4)
Здесь M1 можно разбить на две независимые матрицы:
M2 <- c(1,0,1,1)
M3 <- c(1,1,1,0)
Но меняя M1 на
M1[3,2] <- 1
Делает все строки зависимыми, поэтому разделение невозможно.
В идеале мне бы хотелось, чтобы вектор длины (nr строк) определял, к какому подмножеству относится строка, чтобы регрессии могли применяться к каждому подмножеству.
Таким образом, результатом в исходном случае будет вектор:
R <- c(1,1,2,2)
Проблема связана с рангом, но все ответы, которые мне удалось найти, касаются уменьшения яркости матрицы, а не подстановки матрицы в независимые части.