mslowess

Сглаживайте сигнал с peaks с помощью непараметрического метода

Синтаксис

Yout = mslowess(X, Intensities)
mslowess(..., 'Order', OrderValue, ...)
mslowess(..., 'Span', SpanValue, ...)
mslowess(..., 'Kernel', KernelValue, ...)
mslowess(..., 'RobustIterations', RobustIterationsValue, ...)
mslowess(..., 'ShowPlot', ShowPlotValue, ...)

Аргументы

X Вектор значений единиц разделения для набора сигналов с peaks. Количество элементов в векторе равняется количеству строк в матрице Intensities. Модуль разделения может количественно определить длину волны, частоту, расстояние, время или m/z в зависимости от прибора, который генерирует данные сигнала.
Intensities Матрица значений интенсивности для набора пиков, которые имеют одну и ту же область значений единиц разделения. Каждая строка соответствует значению единицы разделения, и каждый столбец соответствует либо набору сигналов с peaks, либо времени удержания. Количество строк равняется количеству элементов в векторе X.

Описание

Совет

Используйте следующие синтаксисы с данными любого метода разделения, который производит сигнальные данные, такие как спектроскопия, ЯМР, электрофорез, хроматография или масс-спектрометрия.

Yout = mslowess(X, Intensities) сглаживает необработанные данные о сигнале с шумом, Intensities, с использованием локально взвешенного метода линейной регрессии (Lowess) с диапазоном по умолчанию 10 выборки.

Примечание

mslowess принимает вектор входа, X, может не иметь равномерно разнесенных модулей разделения. Поэтому скользящее окно для сглаживания центрируется с помощью ближайших выборок с точки зрения X значение, а не с точки зрения X индекс.

Примечание

Когда вектор входа, X, не имеет повторных значений или значений NaN, алгоритм примерно в два раза быстрее.

mslowess (X, Intensities... 'PropertyName', PropertyValue, ...) вызывает mslowess с необязательными свойствами, которые используют пары имя/значение свойства. Можно задать одно или несколько свойств в любом порядке. Каждый PropertyName должны быть заключены в одинарные кавычки и нечувствительны к регистру. Эти имена свойства/пары значения свойств следующие:

mslowess(..., 'Order', OrderValue, ...) задает порядок (OrderValue) Lowess гладкий. Введите 1 (линейная аппроксимация полиномом или Лоуэсс), 2 (квадратичная аппроксимация полиномом или Лосс), или 0 (эквивалентно взвешенной локальной средней оценке и, предположительно, быстрее, потому что выполняется только средний расчет вместо регрессии методом наименьших квадратов). Значение по умолчанию 1.

Примечание

Программное обеспечение Curve Fitting Toolbox™ также относится к Lowess сглаживанию порядка 2 как сглаживание Лесса.

mslowess(..., 'Span', SpanValue, ...) задает размер окна для сглаживающего ядра. Если SpanValue больше 1, окно равно SpanValue количество выборок, не зависящих от вектора separation-unit, X. Значение по умолчанию 10 выборки. Более высокие значения сглаживают сигнал больше за счет времени расчета. Если SpanValue меньше 1размер окна принимается за часть от числа точек в данных. Для примера, когда SpanValue является 0.005, размер окна равен 0.50% от числа точек в X.

mslowess(..., 'Kernel', KernelValue, ...) выбирает функцию, заданную как KernelValue для взвешивания наблюдаемой интенсивности. Выборки, близкие к сглаживаемому местоположению разделительной единицы, имеют наибольший вес при определении оценки. KernelValue может быть любым из следующих векторов символов (или строк):

  • 'tricubic' (по умолчанию) - (1 - (dist/dmax).^3).^3

  • 'gaussian'exp(-(2*dist/dmax).^2)

  • 'linear'1-dist/dmax

mslowess(..., 'RobustIterations', RobustIterationsValue, ...) определяет количество итераций (RobustValue) для прочной подгонки. Если RobustIterationsValue является 0 (по умолчанию), никакой устойчивой подгонки не выполняется. Для устойчивого сглаживания небольшие остаточные значения на каждом пролете перевешиваются, чтобы улучшить новую оценку. 1 или 2 устойчивые итерации обычно являются адекватными, в то время как большие значения могут быть вычислительно дорогими.

Примечание

Для X вектор, который имеет равномерно расположенные модули разделения, неробустовое сглаживание с OrderValue равно 0 эквивалентно фильтрации сигнала с помощью вектора ядра.

mslowess(..., 'ShowPlot', ShowPlotValue, ...) строит график сглаженного сигнала по исходному сигналу. Когда вы звоните mslowess без выходных аргументов сигналы строятся, если нет ShowPlotValue является false. Когда ShowPlotValue является true, только первый сигнал в Intensities нанесен на график. ShowPlotValue может также содержать индекс к одному из сигналов в Intensities.

Примеры

  1. Загрузите MAT-файл, входящий в состав программного обеспечения Bioinformatics Toolbox™, который содержит некоторые выборочные данные.

    load sample_lo_res
  2. Сглаживайте спектры и рисуйте рисунок первого спектра с исходными и сглаженными сигналами.

    YS = mslowess(MZ_lo_res,Y_lo_res,'Showplot',true);

  3. Увеличьте изображение области рисунка, чтобы увидеть различие в исходных и сглаженных сигналах.

    axis([7350 7550 0.1 1.0])

Представлено до R2006a