Множественное вменение в r с использованием missForest для категориальных переменных

У меня есть набор данных обзора с НП в нескольких столбцах. Поэтому я решил выполнить множественное вменение с использованием пакета «missForest» для вменения пропущенных значений. Это не было проблемой, однако после проверки данных я заметил, что многие из вмененных значений являются числовыми с десятичными значениями в столбцах, которые ранее были факторами.

Я предполагаю, что missForest требует, чтобы столбцы были числовыми (для этого требуется data.matrix для x) для выполнения вменения.

NRMSE довольно хорош, и средние значения столбцов с вмененными значениями аналогичны столбцам с NA.

Я планирую использовать набор данных с вмененными значениями для многоуровневой линейной регрессии и в любом случае преобразовал бы столбцы факторов в числовые.

Должны ли эти условно исчисленные значения, являющиеся числовыми с десятичными знаками, представлять проблему?

finalmatrix <- data.matrix(final)
set.seed(666)
impforest <- missForest(finalmatrix, variablewise = TRUE, parallelize = 
"forests")

person Hamson    schedule 23.01.2019    source источник


Ответы (1)


Я не знаю ни ваших данных, ни вашего кода, но missForest определенно может работать с данными смешанного типа. (и не преобразует их автоматически)

Это пример из руководства по missForest:

## Nonparametric missing value imputation on mixed-type data:
## Take a look at iris definitely has a variable that is a factor 
library(missForest)
data(iris)
summary(iris)

## The data contains four continuous and one categorical variable.
## Artificially produce missing values using the 'prodNA' function:
set.seed(81)
iris.mis <- prodNA(iris, noNA = 0.2)
summary(iris.mis)

## Impute missing values providing the complete matrix for
## illustration. Use 'verbose' to see what happens between iterations:
iris.imp <- missForest(iris.mis, xtrue = iris, verbose = TRUE)


## Here are the final results
iris.imp

##As can be seen here it still has the factor column
str(iris.imp$ximp)
person Steffen Moritz    schedule 25.01.2019