Данные с отсутствующими значениями

Много наборов данных имеют одно или несколько отсутствующих значений. Это удобно для отсутствующих значений кода как NaN (Не Номер), чтобы сохранить структуру наборов данных через несколько переменных и наблюдений.

Нормальные арифметические операции MATLAB® дают к NaN значения, когда операндами является NaN. Удаление NaN значения уничтожили бы матричную структуру. Удаление строк, содержащих NaN значения отбросили бы данные. Функции Statistics and Machine Learning Toolbox™ в следующей таблице удаляют NaN значения только в целях расчета.

ФункцияОписание
nancov

Ковариационная матрица, игнорируя NaN значения

nanmax

Максимум, игнорируя NaN значения

nanmean

Среднее значение, игнорируя NaN значения

nanmedian

Медиана, игнорируя NaN значения

nanmin

Минимум, игнорируя NaN значения

nanstd

Стандартное отклонение, игнорируя NaN значения

nansum

Суммируйте, игнорируя NaN значения

nanvar

Отклонение, игнорируя NaN значения

Другие функции Statistics and Machine Learning Toolbox также игнорируют NaN значения. Они включают iqr, kurtosis, mad, prctileОбласть значений, skewness, и trimmean.

Работа с данными с отсутствующими значениями

Создайте 3х3 матрицу выборочных данных. Удалите два значения данных, заменив их на NaN.

X = magic(3);
X([1 5]) = [NaN NaN]
X = 3×3

   NaN     1     6
     3   NaN     7
     4     9     2

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

s1 = sum(X)
s1 = 1×3

   NaN   NaN    15

Если столбец содержит NaN значение, затем sum функция возвратит NaN как сумма данных в том столбце.

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

s2 = nansum(X)
s2 = 1×3

     7    10    15

Если столбец содержит NaN значение, затем nansum функция игнорирует NaN значение и возвращает сумму остающихся значений в столбце.