Функции > Анализ данных > Сглаживание > Пример. Сглаживание данных X-Y
Пример. Сглаживание данных X-Y
Используйте функции ksmooth, medsmooth и supsmooth для сглаживания данных x-y. Используйте функцию movavg для сглаживания данных путем вычисления скользящего среднего с заданным окном ширины.
1. Задайте матрицу со значениями x в первом столбце и значениями y во втором.
Щелкните для копирования этого выражения
2. Сортируйте столбец 0 в порядке возрастания.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
ksmooth
Функция ksmooth возвращает вектор локальных взвешенных средних значений vy с использованием гауссова ядра с полосой пропускания b; этот же параметр управляет окном сглаживания.
Обычно полоса пропускания b задается так, чтобы она в несколько раз превышала расстояние между точками данных по оси x, в зависимости от нужной степени сглаживания. Чем больше полоса пропускания, тем более гладкой будет результирующая кривая.
1. Задайте b значение, расположенное между минимальным и максимальным значением X.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
2. Вычислите функцию ksmooth.
Щелкните для копирования этого выражения
3. Постройте график функции ksmooth.
Щелкните для копирования этого выражения
Необходимо тщательно выбирать полосу пропускания. Слишком большая ширина фронта размывает детали, усредняя значения по всему набору данных. Слишком малая ширина фронта может создать искусственные детали на сглаженных данных. Чтобы увидеть эти эффекты, попробуйте изменять вышеприведенную полосу пропускания b на числа от 0.01 до 2.
medsmooth
Функция medsmooth возвращает сглаженный вектор, заменяя каждое значение в vy медианой точек n, центрированной на данном значении.
Аргумент сглаживающего окна, n, должен быть нечетным целым числом.
1. Задайте n как нечетное целое число.
Щелкните для копирования этого выражения
2. Вычислите функцию medsmooth.
Щелкните для копирования этого выражения
3. Постройте график функции medsmooth.
Щелкните для копирования этого выражения
supsmooth
Для функции supsmooth не требуется дополнительных аргументов.
1. Вычислите функцию supsmooth.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Сравните три вышеописанных сглаженных набора данных с исходными данными.
movavg
1. Задайте ширину окна.
Щелкните для копирования этого выражения
Чем больше ширина окна, тем глаже будет результирующая кривая. Количество точек данных при расчете равнялось 100.
2. Вычислите функцию movavg.
Щелкните для копирования этого выражения
3. Постройте график функции movavg.
Щелкните для копирования этого выражения
В зависимости от изменения исходных данных, для получения нужных сглаженных данных одна из вышеописанных функций сглаживания может подходить больше других.
Было ли это полезно?