Канонический корреляционный анализ в R

Я использую R (и пакет CCA) и пытаюсь выполнить регуляризированный канонический корреляционный анализ с двумя наборами переменных (видовое изобилие и пищевое изобилие, хранящиеся в виде двух матриц Y и X, соответственно), в которых число единиц (N=15) меньше числа переменных в матрицах, которое составляет >400 (большинство из них являются потенциальными "объясняющими" переменными, и только 12-13 "ответных" переменных). Gonzalez et al. (2008, http://www.jstatsoft.org/v23/i12/paper) отмечают, что пакет "включает регуляризованную версию CCA для работы с наборами данных, в которых больше переменных, чем единиц", что, конечно, является тем, что у меня есть, только с 15 "единицами". Таким образом, я пытаюсь выполнить регуляризированный канонический корреляционный анализ с помощью пакета CCA, чтобы посмотреть на взаимосвязи в моих наборах переменных. Я следовал процессу, который Гонсалес и др. (2008) описали в своей работе. Однако я получаю сообщение об ошибке Error in chol.default(Bmat) : the leading minor of order 12 is not positive definite, и я не знаю, что это значит и что с этим делать. Вот код, и любые идеи или знания по этому вопросу будут приняты с благодарностью.

library(CCA)
correl <- matcor(X, Y)
img.matcor(correl, type = 2)
res.regul <- estim.regul(X, Y, plt = TRUE,
    grid1 = seq(0.0001, 0.2, l=51),
    grid2 = seq(0, 0.2, l=51))

Error in chol.default(Bmat) : the leading minor of order 12 is not positive definite

(Примечание: estim.regul() требует много времени (~30-40 мин) для завершения, когда вы используете пример данных nutrimouse из CCA).

Любой совет? Кто-нибудь знает, что делать с этой ошибкой? Может ли это быть из-за того, что в некоторых моих столбцах есть NA? Может ли это быть из-за столбцов со слишком большим количеством 0? Заранее спасибо за любую помощь, которую вы можете предложить этому новичку в статистике и R.

11
задан Lance Roberts 17 February 2013 в 04:08
поделиться