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

Много наборов данных имеют одно или несколько отсутствующих значений. Для отсутствующих значений кода как 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, range, 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 и возвращает сумму остающихся значений в столбце.