77205

Декомпозиция временных рядов в СУБД Oracle

Курсовая

Информатика, кибернетика и программирование

Целью данной работы являлось создание пакета процедур и функций с помощью которых можно было бы легко и эффективно манипулировать временными рядами в СУБД ORCLE. Для хранения информации о рядах создает отдельная таблица Timeseries в которой хранятся имя или идентификатор ряда...

Русский

2015-02-02

102 KB

5 чел.

Курсовая работа

Декомпозиция временных рядов в СУБД Oracle.

Подкорытов Сергей, 444гр

Научный руководитель: Графеева Н.Г.

СПбГУ

Математико-Механический факультет

2009г

Вступление.

Одним из типов информации, которую приходится обрабатывать в базах данных, являются временные ряды, то есть дискретные измерения некоторой величины. Обычно такие наблюдения проводятся через определённый фиксированный период времени (минута, час, день, месяц и т.д.). Примерами таких рядов являются потребления электроэнергии, напряжение в сети, объем пассажиропотока, курсы валют, цены на газ, нефть и т.п. К сожалению, в СУБД отсутствуют  удобные средства для хранения и исследования временных рядов.

В качестве конкретной СУБД был выбран Oracle, так как он хорош при хранении больших объемов информации, а также из-за существования языка PL\SQL, позволяющего создавать процедуры и функции.

Целью данной работы являлось создание пакета процедур и функций, с помощью которых можно было бы легко и эффективно манипулировать временными рядами в СУБД ORACLE.

Хранение данных.

Для хранения информации о рядах создает отдельная таблица Timeseries, в которой хранятся имя или идентификатор ряда, величина шага и его описание, например:

Name:

Delta:

Description:

Electro

1

Потребление электроэнергии. Шаг – 1 месяц.

Имя ряда уникально в пределах одной пользовательской схемы.

Для хранения каждого ряда, заводится отдельная таблица с двумя полями: key и value. Поле key используется для упорядочивания значений по времени, а value хранит непосредственно сами значения. Поле key также является первичным ключом таблицы, что гарантирует упорядоченность значений (нет возможности сохранить два значения с одинаковым ключом). Для первичного ключа Oracle’ом автоматически создается индекс, который также используется для быстрого упорядочивания значений при обращении к ним.

Модели сезонности.

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

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

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

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

Метод скользящего среднего используется для определения тренда. Суть метода в следующем: берем первые n элементов ряда (будем называть n – величиной окна) и вычисляем их среднее значение. Пусть первое значение соответствует моменту времени , а последнее , тогда полученное среднее значение будет соответствовать . Теперь сдвинемся на один шаг, и повторим то же самое для значений , вычислив  тем самым .

Заметим, что в случае нечетного размера окна полученные значения тренда будет соответствовать одному из исходных моментов времени , или находится между ними, если размер окна будет четным. Так как второй вариант не слишком удобен, изменим работу алгоритма, если n четное.

Для этого заметим  следующее:

Это можно обобщить следующим образом: пусть , тогда тренд будет вычисляться по формуле

где

Выделение сезонной компоненты (для рядов шагом 1 месяц).

Пусть у нас есть ряд . Предположим, что мы выделили его тренд с помощью метода скользящего среднего. Если мы вычтем тренд из исходного ряда, то получим остаток . В нем сезонная компонента искажена стохастической ошибкой. Чтобы избавится от неё, воспользуемся законом больших чисел. Согласно ему, среднеарифметическое независимых одинаково распределённых случайных величин стремится к их мат.ожиданию. Рассмотрим среднее значение ряда для каждого месяца:

Получившиеся  необязательно дают в сумме ноль, подкорректируем их следующим образом:

, где .

Полученные таким образом  являются оценками сезонных индексов,  причем

Пример

Рассмотрим потребление электроэнергии в целом по России  за период 1991 по 1999 годы. График этого ряда изображен на рисунке 1 синим цветом. Очевидно наличие четко выраженной сезонности. Желтым цветом выделен тренд оцененный методом скользящего среднего.

Рисунок

На рисунке 2 изображены оцененные сезонные индексы. На рисунке 3 синим цветом изображены исходные данные, а фиолетовым  - сумма оцененных сезонной компоненты и тренда. Видно, что оцененные значения близки к настоящим.

Рисунок

Рисунок 3

Описание процедур и функций пакета.

  •  Процедура Init()

 создает в схеме текущего пользователя таблицу Timeseries.

  •  Процедура CreateSeries(name varchar, delta number, description varchar)

Создает в схеме текущего пользователя новый ряд, то есть пользователя таблицу с именем name, и заносит в таблицу Timeseries имя и характеристики нового ряда.

  •  Процедура MovingAverage(source varchar, windowSize pls_integer, dest varchar)

Выделяет из ряда source тренд методом скользящего среднего и записывает его в таблицу dest. Параметр windowSize отвечает за размер скользящего окна. Ряды source и dest должны быть созданы заранее, с помощью процедуры CreateSeries. Если ряд dest не пуст, то результат будет дописан в конец.

  •  Процедура  Seasonal(source varchar, trend varchar, dest varchar)

Из ряда source, при помощи заранее посчитанного тренда trend, выделяет сезонную компоненту и дописывает её в таблицу dest.

  •  Процедура Kill() удаляет из базы все данные ссылки на которые хранятся в таблице Timeseries и затем её саму.
    •  Процедура AggregateSeriesByAvg(source varchar, newDelta number, dest varchar) укрупняет ряд source, беря за новые значение среднее ряда за число шагов, указанное в параметре newDelta.

Список литературы.

  1.  В. И. Суслов, Н. М. Ибрагимов, Л. П. Талышева, А. А. Цыплаков Эконометрия

Издательство: Новосибирский государственный университет, 2005 г.

2. PL/SQL User's Guide and Reference


 

А также другие работы, которые могут Вас заинтересовать

46705. Корпус ПСМ (Переключателя скважин многоходового) 1.84 MB
  Переключатель скважин многоходовой, содержит корпус с несколькими входными патрубками и одним общим выходным патрубком, крышку с патрубком для подключения к измерительному устройству, полый вал между полостями корпуса и крышки, отличающийся тем, что в корпусе выполнены каналы от каждого входного патрубка до внутренней поверхности плоского участка
46706. Objects and tasks of grammar 26.5 KB
  ech form is product of the grmmrins nlysis nd process grmmr is lso key vrint in the procces of lnguge. We think of mny wys tht grmmr is deployed in communiction. how we use it Grmmr consists of 2 fundmentl ingredients syntx rrgenments of elements nd morphology. study of grmmr revels structure nd regulrity which enble us to tlk bout the lnguge system.
46708. Оценка эффективности менеджмента 26.51 KB
  Проведенные исследования показали что привлекательность сфер российской инфраструктуры для иностранных инвесторов значительно выше чем отраслей материального производства. Проведенные исследования показали что привлекательность сфер российской инфраструктуры для иностранных инвесторов значительно выше чем отраслей материального производства. Маркетинговые исследования их содержание и методы проведения. Маркетинговые исследования их содержание и методы проведения Маркетинговые исследования комплексная систем изучения организации...
46709. Финансы и финансовая система государства. Публичные (общественные) финансы 29.07 KB
  Расходы на производство и реализацию продукции определяющие себестоимость состоят из стоимости используемых в производстве продукции природных ресурсов сырья основных и вспомогательных материалов топлива энергии основных фондов трудовых ресурсов и прочих расходов по эксплуатации а также внепроизводственных затрат. Расходы на производство и реализацию объединяются в 4 гр: Материальные расходы включают покупные сырье и материалы входящие в состав производимой продукции: основные и вспомогательные материалы комплектующие изделия и...
46710. Классификация ЧС 26.88 KB
  Антропогенные ЧС это аварии и катастрофы на химических биологически и радиационноопасных объектах соответственно ХОО БОО и РОО крушения поездов и аварии на транспорте интенсивные загрязнения воды почв и воздуха. К I категории относят: СБ охватывающие территории превышающие административные границы района города и причинившие народнохозяйственный ущерб; аварии приводящие к полной или частичной остановка производства с большим материальным ущербом и гибелью производственного персонала; аварии с возможным выбросом в ОС РВ и...
46712. Загальновживані слова. Свідоме й критичне використання жаргонізмів і діалектизмів у різних комунікативних сферах 27 KB
  Загальновживані слова. За сферою вживання слова в українській мові поділяють на загальновживані й незагальновживані. Загальновживані слова це слова уживання яких не обмежене ні діалектними ні професійними межами; вони вживаються всіма носіями мови. Незагальновживані слова це слова уживання яких обмежене сферою спілкування та поширенням.
46713. Розробка проекту модернізації локальної комп’ютерної мережі для Васловіського Навчально-Виховного Комплексу 1.31 MB
  Метою даної дипломної роботи є розробка проекту модернізації локальної комп’ютерної мережі для Васловіського Навчально-Виховного Комплексу, що дозволить покращити роботу таких ланок як «приймальня директора...