detrend
|
Страница в процессе разработки. |
Удаляет полиномиальный тренд.
| Библиотека |
|
Синтаксис
Вызов функции
-
D = detrend(___, Name=Value)— также использует аргументыName=Valueв дополнение к любым входным аргументам, представленным в предыдущих синтаксисах.
Аргументы
Входные аргументы
#
A —
входные данные
вектор | матрица | многомерный массив | таблица
Details
Входные данные, заданные как вектор, матрица, многомерный массив или таблица.
-
Если
A— вектор, тоdetrendвычитает тренд из элементов A. -
Если
A— матрица, тоdetrendприменяется к каждому столбцу отдельно, вычитая каждый тренд из соответствующего столбцаA. -
Если
A— многомерный массив, тоdetrendприменяется к каждому столбцу по всем измерениям, вычитая каждый тренд из соответствующего столбцаA.
| Типы данных |
|
#
n —
степень полинома
скаляр | "constant" | "linear"
Details
Степень полинома, заданная как неотрицательный целый скаляр, или как "constant" (эквивалентно 0) или "linear" (эквивалентно 1).
#
bp —
опорные точки
вектор
Details
Опорные точки определяют сегменты данных, заданные в виде вектора, который может содержать:
-
Значения отсчетов, указывающие местоположение опорных точек. Значения содержатся либо в векторе по умолчанию
[1 2 3 …], либо задаются аргументом «имя-значение»SamplePoints. -
Логические значения, где логическая
1(истина) указывает на опорную точку в соответствующем элементе входных данных. Еслиbpсодержит логические значения, то они должны иметь ту же длину, что и точки отсчета.
Опорные точки полезны, когда требуется вычислить отдельные тренды для разных сегментов данных.
| Типы данных |
|
#
nanflag —
условие отсутствия значения
"includemissing" (по умолчанию) | "includenan" | "omitmissing" | "omitnan"
Details
Условие отсутствия значения, заданное как:
-
"includemissing"или"includenan"учитывает значенияNaNвAпри вычислении тренда. Если какой-либо элемент в рабочем измерении —NaN, то соответствующие элементы вD—NaN. Значения"includemissing"и"includenan"ведут себя одинаково. -
"omitmissing"или"omitnan"игнорируют значенияNaNвAпри вычислении тренда. Если все элементы в рабочем измерении —NaN, то соответствующие элементы вD—NaN. Значения"omitmissing"и"omitnan"ведут себя одинаково.
Входные аргументы «имя-значение»
Укажите необязательные пары аргументов в формате Name=Value, где Name — имя аргумента, а Value — соответствующее значение. Аргументы типа Name=Value должны располагаться после других аргументов, но порядок пар не имеет значения.
#
Continuous —
ограничение непрерывности
"true" | "false"
Details
Ограничение непрерывности, заданное одним из следующих значений:
-
"true"— подобранный тренд должен быть непрерывным всюду. -
"false"— подобранный тренд может содержать разрывы.
#
SamplePoints —
точки отсчета
скаляр | вектор
Details
Вектор, содержащий координаты данных (точки отсчета) по оси , которые должны быть отсортированы и содержать уникальные элементы. Расстояние между точками отсчета не обязано быть одинаковым. Вектор [1 2 3 …] используется по умолчанию.
| Типы данных |
|
Выходные аргументы
#
D —
выходные данные
вектор | матрица | многомерный массив | таблица
Details
Выходные данные, возвращаемые как вектор, матрица, многомерный массив или таблица.
| Типы данных |
|
Примеры
Непрерывный линейный тренд
Details
Создадим вектор данных и удалим непрерывный линейный тренд. Построим график исходных данных, данных с исключенным трендом и линейного тренда.
import EngeeDSP.Functions: detrend
t = 0:20
A = 3 * sin.(t) .+ t
D = detrend(A)
plot(t, A, label="Input Data", linewidth=2)
plot!(t, D, label="Detrended Data", linewidth=2)
plot!(t, A - D, linestyle=:dash, color=:black, label="Trend", linewidth=2)

Советы
Функция detrend вычитает из данных среднее значение или линию наилучшего соответствия (наименьших квадратов). Если ваши данные табличные, содержат несколько столбцов данных, представляют собой таблицу или график, то detrend обрабатывает каждый столбец данных отдельно.
Удаление тренда из данных позволяет сосредоточить анализ на колебаниях данных относительно этого тренда. Линейный тренд обычно указывает на систематическое увеличение или уменьшение данных. Систематический сдвиг может быть вызван, например, дрейфом датчика. Хотя тренды могут быть значимыми, некоторые виды анализа дают более глубокое понимание после удаления трендов.
Цель удаления эффектов тренда из данных часто зависит от целей анализа.