Ошибка glmnet (nulldev == 0) stop («y - постоянная; gaussian glmnet завершается ошибкой на этапе стандартизации») - PullRequest
0 голосов
/ 19 февраля 2019

Я использую следующий (усеченный) код с использованием glmnet в R

# do a lot of things to create the design matrix called x.design

> glmnet(x.design, y, thresh=1e-11)

, где x.design - это матрица nxp , где n> p и y - вектор ответов nx 1 , полученный с помощью оценки плотности ядра.И x.design , и y содержат реальные записи.Когда я запускаю свой код, я получаю следующее сообщение об ошибке:

Error in if (nulldev == 0) stop("y is constant; gaussian glmnet fails at 
standardization step") : missing value where TRUE/FALSE needed 

Я посетил и прочитал

Запуск пакета glmnet в R, ошибка "пропущено значение, где TRUE / FALSEНужно ", может быть, из-за пропущенных значений?

Однако я не смог найти способ исправить мою проблему.

Может кто-нибудь предложить решение, пожалуйста?

1 Ответ

0 голосов
/ 22 февраля 2019

Кажется, что ваш вектор ответа y постоянен.GLMNET пытается стандартизировать его (возможно, вычесть среднее значение, а затем разделить на текущее значение stddev), и не может, потому что значение stddev равно 0. Выведите y и его дисперсию, чтобы быть уверенным.

Вам также следует выполнить процедуру оценки ядра.

...