cusum
Обнаружение небольших изменений в математическом ожидании с помощью кумулятивной суммы.
| Библиотека |
|
Синтаксис
Вызов функции
-
iupper,ilower = cusum(x)— возвращает первый индекс верхней и нижней кумулятивных суммx, которые отклонились более чем на пять стандартных отклонений вверх и вниз от целевого математического ожидания соответственно. Минимальное обнаруживаемое смещение математического ожидания равно одному стандартному отклонению. Функция оценивает целевое математическое ожидание и стандартные отклонения по первым25выборкамx.
-
iupper,ilower = cusum(x,climit,mshift,tmean,tdev)— определяет количество стандартных отклоненийclimit, на которое верхняя и нижняя кумулятивные суммы могут отклоняться от математического ожидания. Данный вызов также определяет минимальное обнаруживаемое смещение математического ожидания, целевое математическое ожидание и целевое стандартное отклонение.
-
iupper,ilower = cusum(___,"all")— возвращает все индексы, при которых верхняя и нижняя кумулятивные суммы превышают контрольный предел.
-
iupper,ilower,uppersum,lowersum = cusum(___)— также возвращает верхнюю и нижнюю кумулятивные суммы.
-
cusum(___)— без выходных аргументов строит верхнюю и нижнюю кумулятивные суммы, нормализованные к одному стандартному отклонению выше и ниже целевого математического ожидания.
Аргументы
Входные аргументы
#
x —
входной сигнал
вектор
Details
Входной сигнал, заданный как вектор.
#
climit —
контрольный предел
5 (по умолчанию) | вещественный скаляр
Details
Контрольный предел, заданный как вещественный скаляр, выраженный в стандартных отклонениях.
#
mshift —
минимальное смещение математического ожидания для обнаружения
1 (по умолчанию) | вещественный скаляр
Details
Минимальное смещение математического ожидания для обнаружения, заданное как вещественный скаляр, выраженный в стандартных отклонениях.
Входные аргументы «имя-значение»
#
out —
тип выходных данных
:plot (по умолчанию) | :data
Details
Тип выходных данных:
-
:plot— функция возвращает график; -
:data— функция возвращает данные.
Выходные аргументы
#
iupper, ilower —
индексы точек, выходящих за пределы контроля
целочисленные скаляры | целочисленные векторы
Details
Индексы точек, выходящих за пределы контроля, возвращаемые в виде целочисленных скаляров или векторов. Если все выборки сигнала находятся в пределах указанного допуска, функция cusum возвращает пустые аргументы iupper и ilower.
#
uppersum, lowersum —
верхняя и нижняя кумулятивные суммы
векторы
Details
Верхняя и нижняя кумулятивные суммы, возвращаемые в виде векторов.
Примеры
Значения по умолчанию для функции cusum
Details
Сгенерируем и построим график 100-выборочного случайного сигнала с линейным трендом. Для получения воспроизводимых результатов сбросим настройки генератора случайных чисел.
rnds = rand(1, 100)
trnd = range(0, 1, length=100)
fnc = rnds .+ trnd'
plot(vec(fnc))
Применим cusum к функции, используя значения входных аргументов по умолчанию.
import EngeeDSP.Functions: cusum
cusum(fnc)
Вычислим математическое ожидание и стандартное отклонение для первых 25 выборок. Применим cusum, используя эти значения в качестве целевого математического ожидания и целевого стандартного отклонения. Выделим точку, в которой кумулятивная сумма отклоняется более чем на пять стандартных отклонений от целевого математического ожидания. Установим минимальное обнаруживаемое смещение математического ожидания равным одному стандартному отклонению.
import EngeeDSP.Functions: mean, std
mfnc = mean(fnc[1:25])
sfnc = std(fnc[1:25]).S
cusum(fnc, 5.0, 1.0, mfnc, sfnc)
Повторим расчет, используя отрицательный линейный тренд.
nnc = rnds .- trnd'
cusum(nnc)
Дополнительно
Контрольная диаграмма CUSUM
Details
Контрольная диаграмма CUSUM предназначена для обнаружения небольших приращений математического ожидания процесса.
Дана последовательность с оценочным средним и оценочным стандартным отклонением . Определите верхнюю и нижнюю кумулятивные суммы процесса, используя:
-
верхнюю кумулятивную сумму
-
нижнюю сумму
Переменная , представленная в cusum аргументом mshift, — это число стандартных отклонений от целевого математического ожидания tmean, которые делают сдвиг обнаруживаемым.
Процесс нарушает CUSUM-тест в выборке , если он удовлетворяет условию или . Контрольный предел представлен в cusum аргументом climit.
По умолчанию функция возвращает первое обнаруженное нарушение. Если указан флаг "all", функция вернет все нарушения.