Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лаба 2 / Praktika_2_7501_Kiryanova

.docx
Скачиваний:
9
Добавлен:
08.04.2022
Размер:
478.98 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра биотехнических систем

отчет

по практическому занятию №2

по дисциплине «Моделирование биологических процессов и систем»

Тема: Анализ временных рядов

Вариант 8

Студентка гр. 7501

Кирьянова А.М.

Преподаватель

Скоробогатова А.И.

Санкт-Петербург

2020

Цель работы: написать программу для анализа одномерного временного ряда.

Основные теоретические положения

Анализ временных рядов (time-series analysis) – совокупность статистических методов для выявления составляющих временного ряда и его прогнозирования.

Временной ряд – последовательность статистических данных, собранных в разные моменты времени, о значении каких-либо параметров исследуемого процесса.

Временные ряды, как правило, возникают в результате измерения некоторого показателя, а основной целью их анализа является построение прогноза значений ряда на будущие периоды. Основные задачи анализа временного ряда – понять, под воздействием каких компонент формируется значение временного ряда, и построить математическую модель для каждой компоненты или их совокупности.

В данной работе используются два метода анализа временного ряда:

  • Метод скользящего среднего;

  • Экспоненциальное сглаживание.

Метод скользящего среднего

Сглаживание всегда включает некоторый способ локального усреднения данных, при котором несистематические компоненты взаимно погашают друг друга. Самый общий метод сглаживания - скользящее среднее, в котором каждый член ряда заменяется простым или взвешенным средним n соседних членов, где n - ширина "окна". Вместо среднего можно использовать медиану значений, попавших в окно. Основное преимущество медианного сглаживания, в сравнении со сглаживанием, скользящим средним, состоит в том, что результаты становятся более устойчивыми к выбросам (имеющимся внутри окна). Таким образом, если в данных имеются выбросы (связанные, например, с ошибками измерений), то сглаживание медианой обычно приводит к более гладким или, по крайней мере, более "надежным" кривым, по сравнению со скользящим средним с тем же самым окном. Основной недостаток медианного сглаживания в том, что при отсутствии явных выбросов, он приводит к более "зубчатым" кривым, чем сглаживание скользящим средним.

Экспоненциальное сглаживание

Простая и прагматически ясная модель временного ряда имеет следующий вид:

b – константа и   – случайная ошибка. Константа относительно стабильна на каждом временном интервале, но может также медленно изменяться со временем. Один из интуитивно ясных способов выделения b состоит в том, чтобы использовать сглаживание скользящим средним, в котором последним наблюдениям приписываются большие веса, чем предпоследним, предпоследним большие веса, чем пред-предпоследним и т.д. Простое экспоненциальное именно так и устроено: здесь более старым наблюдениям приписываются экспоненциально убывающие веса, при этом, в отличие от скользящего среднего, учитываются все предшествующие наблюдения ряда, а не те, что попали в определенное окно. Точная формула простого экспоненциального сглаживания имеет следующий вид:

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

Когда эта формула применяется рекурсивно, то каждое новое сглаженное значение, которое является также прогнозом, вычисляется как взвешенное среднее текущего наблюдения и сглаженного ряда. Очевидно, результат сглаживания зависит от параметра  . Если  , то предыдущие наблюдения полностью игнорируются. Если  то игнорируются текущие наблюдения. Значения   между 0 и 1 дают промежуточные результаты.

Код программы

clc

clear

close all

%% Загрузка данных

num = xlsread('timeline.xlsx','Лист1','H1:H600');

%% Построить временной ряд

figure

limeline = timeseries(num(:,1), 1:600,'name', 'testing');

plot(limeline,'Color','#0072BD','LineWidth',0.7)

title('Временной ряд')

xlabel('Временные отсчеты')

ylabel('Сигнал')

%% Расчет скользящего среднего

figure

smoothedData = smoothdata(num,'movmean',10);

plot(num,'Color','#0072BD','LineWidth',0.7)

hold on

plot(smoothedData,'Color','#A2142F','LineWidth',1.1)

title('Реализован расчет скользящего среднего в окне w')

xlabel('Временные отсчеты')

ylabel('Сигнал')

%% Экспоненциальное сглаживание

figure

smoothDataExp = smoothdata(num,'SmoothingFactor',0.5);

plot(num,'Color','#0072BD','LineWidth',0.7)

hold on

plot(smoothDataExp,'Color','#A2142F','LineWidth',1.1)

title('Реализовано экспоненциальное сглаживание')

xlabel('Временные отсчеты')

ylabel('Сигнал')

Обработка результатов эксперимента

Рисунок 1 – Построение временного ряда

Метод скользящего среднего

Рисунок 2 – Построение скользящего среднего с шириной окна 5

Рисунок 3 – Построение скользящего среднего с шириной окна 50

Рисунок 4 – Построение скользящего среднего с шириной окна 200

Рисунок 5 – Построение скользящего среднего с шириной окна 601 (максимальное значение параметра)

Экспоненциальное сглаживание

Рисунок 6 – Построение экспоненциального сглаживания с

Рисунок 7 – Построение экспоненциального сглаживания с

Рисунок 8 – Построение экспоненциального сглаживания с

Рисунок 9 – Построение экспоненциального сглаживания с (максимальное значение параметра)

Вывод

В ходе данной практической работы был произведен анализ тенденции временного ряда с помощью двух методов: скользящего среднего и экспоненциального сглаживания. Методы отличаются между собой осуществляемыми алгоритмами, однако дают примерно одинаковый результат с помощью подбора коэффициентов, что видно по рисункам 2-5 (метод скользящего среднего) и 6-9 (метод экспоненциального сглаживания).

Соседние файлы в папке Лаба 2