Множественное вложение с отсутствующими данными в R с использованием функции Amelia error: inv_sympd (): матрица является единственной или не является положительно определенной - PullRequest
0 голосов
/ 19 апреля 2020

Я пытаюсь сделать несколько вменений с помощью функции Амелия. Сначала это сработало, но потом я решил, что не хочу использовать все столбцы, поэтому удалил некоторые полностью независимые столбцы из набора данных. Затем я получил эту ошибку, и она также не работала снова с исходным набором данных. Это первая ошибка, которую я получил:

In amcheck(x = x, m = m, idvars = numopts$idvars, priors = priors,  :
  The variables (or variable with levels) PAD0, STROKE0, LIVER10 are perfectly collinear with another variable in the data.

in combination with this one: error: inv_sympd(): matrix is singular or not positive definite

Для первой ошибки я попытался выяснить, была ли какая-либо коллинеарность в наборе данных, но ее не было. (только что проверил с точечными графиками и корреляцией), а затем я попытался запустить его снова без этих 3 столбцов, но затем я все еще получил вторую ошибку, которая печатается много раз. Вторая ошибка связана с матрицей, но входные данные должны быть в виде фрейма данных, а также в виде фрейма данных (я проверил и попытался с помощью функции as.matrix использовать набор данных в качестве матрицы в этой функции, но все равно получаю ту же ошибку). Я также проверил выходные данные функций is.singular.matrix (вывод: ошибка в is.singular.matrix (Kromen): аргумент x не является квадратной матрицей) & is.positive.definite (вывод: ошибка в is.positive. определенное ((Kromen)): аргумент x не является квадратной матрицей) после того, как я преобразовал кадр данных в матрицу.

Вот как я использую функцию:

multipleImputation <- function(data){
  amelia(data, m=5, parallel = "multicore")
}

Любые идеи кого-либо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...