Архив WinRAR_1 / trahtengerts5
.pdf
330 Часть 2. Математическое и алгоритмическое обеспечение …
один выход и столько входов, сколько предыдущих значений мы хотим использовать для прогноза.
При анализе временного ряда порядок наблюдений существенен (они должны быть упорядочены во времени).
В простейшем случае формирование пары обучающих примеров для НС осуществляется по принципу «движущегося окна»: то есть берется некоторый отрезок временного ряда и из него выделяется несколько наблюдений, например 10; эти наблюдения и будут представлять собой входной вектор. Значением желаемого выхода в обучающем примере будет следующее по порядку наблюдение, то есть одиннадцатое. Затем движущееся окно сдвигается на одну позицию в направлении возрастания времени, и процесс формирования следующей пары обучающей выборки повторяется. Таким образом, в приведенном примере сеть, работающая в режиме прогноза, должна иметь десять входов и один выход.
С помощью обученной НС можно решить задачу прогноза следующим образом. Предположим, что необходимо прогнозировать значение рыночной цены на нефтепродукты. Обучим НС на отрезке реального временного, например предыдущего месяца (30 дней), выбрав размер окна, равным неделе (7 дней). Нейронная сеть в этом случае будет иметь 7 входов (семь предыдущих дней) и один выход (следующий день). Количество примеров в обучающей выборке рав-
но 29.
Тогда подавая на входы обученной НС значения рыночной цены за последние 7 дней предыдущего месяца, на ее выходе получим прогнозное значение цены в первый день текущего месяца.
Кроме того, можно выполнить проекцию временного ряда. Вначале сеть обучается на выделенных примерах. Затем выдается прогноз следующего значения, после чего этот полученный результат вместе с предыдущей обучающей выборкой снова подается на вход сети. Выдается очередное прогнозное значение. Такую проекцию можно повторить произвольное число раз, хотя очевидно, что в дальнейшем качество прогноза будет ухудшаться.
При выборе числа входов НС, работающей в режиме предсказания временного ряда, необходимо выбирать разумный компромисс между глубиной предсказания (число входов) и качеством обучения (размер «движущегося окна»).
Глава 9. Математическое обеспечение прогнозирования … |
331 |
В случае отсутствия реального временного ряда используется его моделирование, применяя эту модель для обучения НС. Качество моделирования временного ряда с помощью НС в этом случае во многом определяется достоверностью выбранной модели. Однако, в общем случае, применение нейронных сетей для прогнозирования временных рядов не предполагает знание (или определение) модели тренда и (или) сезонной составляющей.
Наибольшее распространение сегодня для прогнозирования временных рядов получили многослойные персептроны [9.6].
Одной из основных задач при применении НС для решения задач прогнозирования является задача определения конфигурации НС
– определение числа входов сети, числа нейронов в скрытом слое и их количества, выбор алгоритма обучения сети и др. Этим вопросам сегодня посвящена обширная литература, к сожалению, строгая методика построения таких сетей сегодня находится в стадии становления.
Для целей проектирования и реализации нейросетевых моделей, в том числе и решения задач прогнозирования, наибольшее распространение сегодня получили такие пакеты программ как: математическая система MATLAB (версия 5.2, 5.3 с инструментальным сред-
ством Networks Toolbox), STATISTICA Neural Networks, Brain Maker, OWL, представляющий собой библиотеку, содержащую большинство известных нейросетевых алгоритмов на языках С и С++, а также AI Trilogy, состоящий из трех самостоятельных приложений: NeuroShell II – средство создания, обучения и тестирования нейросетевых приложений, NeuroWindows – нейросетевая библиотека в исходных текстах, GeneHunter – система оптимизации нейросетей на основе генетических алгоритмов.
9.3. Системная динамика
Имитационные модели широко применяются для прогнозирования поведения систем, при проектировании и размещении предприятий, замене технологического оборудования и управления ими. Результаты имитации, проводимые СППР, позволяют оценить будущее поведение систем и создать тем самым основу для планирования и управления ими, то есть, в зависимости от принятых решений по по-
332 Часть 2. Математическое и алгоритмическое обеспечение …
воду параметров системы, осуществить прогнозирование последствий этих принимаемых решений.
Системная динамика [9.7, 9.8] наряду с методом статистических испытаний [9.3] также является одним из методов прогнозирования.
Она представляет собой метод моделирования и имитации сложных динамических систем, отличающихся нелинейными и сильно разветвленными структурами контуров регулирования. Этот метод, основанный на отображении в пространстве состояний, был предложен Дж. Форрестером. Основная идея Форрестера состоит в том, что социально-экономические и другие системы не поддаются исследованию чисто интуитивными методами, поскольку поведение таких систем, обладающих сложной и динамичной структурой.
Построение имитационных моделей, базирующихся на работах Дж. Форрестера, основано на том, что в качестве математического языка здесь выбран язык численного решения систем дифференциальных и конечно-разностных уравнений. При этом, как правило, в модели отсутствуют случайнее величины (не моделируются), а процесс моделирования складывается из этапов: а) установления при- чинно-следственных связей между явлениями; б) написания на основании пункта а) конечно-разностных уравнений и в) решение уравнений при различных исследуемых параметрах. В Росси этот метод реализован с помощью специализированных языков моделирования ДИНОМО и ИМИТАК.
В основе моделей Форрестера лежат общие структурные элементы, пригодные для моделирования практически для любых соци- ально-экономических систем:
Уровни – параметры системы, получаемые интегрированием соответствующих параметров потоков. Чаще всего, это параметры (факторы) системы, которые численно описывают состояние основных процессов в моделируемой системе, динамику которых мы хотим получить в результате. Закон изменения уровня во времени выражается конечно-разностным уравнением:
Y(t) Y(t t) tC(t t),
где t – время;
Δt – изменение (приращение) времени;
Y(t), Y(t-Δt)– значение уровня в моменты t и t-Δt;
Глава 9. Математическое обеспечение прогнозирования … |
333 |
C(t-Δt) – скорость изменения уровня, то есть величина его изменения за единицу времени.
Темпы- параметры потоков, служащие (как переменные состояния) входом интегрирующих звеньев. Темпы определяют скорости изменения темпов, они указывают, на сколько единиц и в какую сторону изменяется за единицу времени уровень, если остальные факторы (от которых зависит изменение значения этого уровня) остаются неизменными. Надо заметить, что темпы могут зависеть как от значения уровня, изменение которого они определяют, так и от значений других уровней, других темпов, а также вспомогательных переменных. Таким образом, темпы задают динамику моделируемой системы. Закон изменения темпа задают функциональной зависимостью:
C(t ) f( p1(t ),p2(t ),...,pk (t )),
где t – время;
C(t) – темп в момент времени t;
f – произвольная функция от k аргументов. На практике получение вида зависимостей f проводится, как правило, на основе обработки статистической информации по каждой переменной с последующей их аппроксимацией, например, по методу наименьших квадратов;
p1(t), p2(t),…., pk(t) – любые переменные (уровни, темпы, дополнительные и вспомогательные переменные), значения которых на момент времени t известны.
Вспомогательные переменные – это, обычно, такие параметры системы, получение изменения динамики которых, не является целью моделирования. Они, однако, отражают и учитывают влияние различных факторов, в том числе и внешних, по отношению к системе. Они влияют на темпы, управляющие изменением уровней модели. Уравнение для расчета вспомогательной переменной аналогично уравнению расчета темпа.
Дополнительные переменные употребляются при выводе результатов моделирования в том случае, если интересующая авторов модели величина не встречается в модели как уровень, темп, вспомогательная переменная. Уравнение для расчета дополнительной переменной также аналогично уравнению расчета темпа.
334 Часть 2. Математическое и алгоритмическое обеспечение …
Кроме того, в языке ДИНАМО всегда присутствует переменная
– время. Время – это дискретная переменная, выбор единицы измерения которой, осуществляется разработчиком модели.
Программа на языке ДИНАМО (одной из разновидностей этого языка в СССР и России является язык ИМИТАК (ИМИТационноАнализирующий Комплекс)) представляет собой совокупность ко- нечно-разностных уравнений, описывающих взаимную зависимость параметров моделируемого процесса.
Процесс выполнения такой программы заключается в вычислении по значениям величин, характеризующих динамический процесс в предыдущий момент времени, новых значений этих величин, в последующий момент времени. Другими словами, в системной динамике способ имитации основан на процессе численного интегрирования систем обыкновенных дифференциальных уравнений по схеме Эйлера, подразумевающей разбиение отрезка интегрирования (моделирования) на интервалы одинаковой длины. При этом интервал должен быть меньше любого запаздывания (задержки во времени) в моделируемой системе. Таким образом, переменный уровень аппроксимируется кусочно-линейной функцией, т.е. считается, что между соседними точками уровень изменяется по линейному закону.
Система уравнений системной динамики, которая собственно и является имитационной моделью системы, как уже говорилось выше, формируется после некоторого предварительного формализованного анализа функционирования системы (моделируемого объекта).
Этот анализ основывается на том, что факторы, определяющие поведение моделируемого объекта, порождают информацию, которая служит основой принятия решений, направленных на изменение этих факторов. Так в модели появляется замкнутый контур, реализующий информационную систему с обратной связью, который осуществляется в виде связи «уровни - темпы - уровни - темпы» и т.д.
В свою очередь это означает, что на основе механизмов обратных связей СППР может построить модель, которая будет воспроизводить эволюцию системы во времени и одновременно покажет, к чему приведет та или иная структура реальной системы, и правила используемые при принятии в ней решений.
То есть, системная динамика рассматривает структуры и поведение подсистем, состоящих из взаимодействующих контуров об-
Глава 9. Математическое обеспечение прогнозирования … |
335 |
ратной связи. До разработки уравнений системы обычно составляются диаграммы потоков и диаграммы причинных (следственных) связей. Процесс построения диаграммы причинных связей начинается с задания СППР связей между отдельными парами переменных. Если изменение одной переменной вызывает изменение в том же направлении другой переменной, то отношение между ними определяется как положительное. Если изменение одной переменной вызывает обратное изменение другой переменной, то отношение между переменными отрицательное. Таким образом, переменные в диаграмме причинных связей соединены между собой в замкнутые контуры с положительными и отрицательными обратными связями.
Врассматриваемом смысле такие диаграммы имеют сильное сходство с рассмотренными в шестой главе когнитивными картами, а также диаграммами Исикавы [9.9] и потоковыми диаграммами CASE -технологий [9.10] проектирования информационных систем. Поэтому следует считать, что наибольший эффект при построении имитационных систем и информационно-управляющих систем будет при использовании компьютерной системой комплексного применения этих методик (подходов).
Вполученной, таким образом, (после построения потоковой причинно-следственной диаграммы) имитационной модели явно или неявно присутствует величина t – время, которая на самом деле является системным временем имитационной модели и лишь моделирует (имитирует) реальное время.
Впроцессе имитации переменная t – время изменяется автоматически от заданного начального значения до конца установленного интервала моделирования. Изменение осуществляется с шагом Δt, равным длине элементарного интервала.
Пошаговый процесс имитации имеет следующую последовательность:
системное время устанавливается в начальное значение;
по уравнениям темпов, вспомогательных и дополнительных переменных на данный момент системного времени рассчитываются значения всех темпов и дополнительных переменных (значения уровней на это момент уже известны), так как значения уровней заданы начальными условиями;
336Часть 2. Математическое и алгоритмическое обеспечение …
если весь интервал моделирования пройден, то процесс заканчивается, иначе системное время увеличивается на величину элементарного интервала;
по уравнениям уровней рассчитываются значения всех уровней включают модели, в которых на данный момент системного времени (темпы за предыдущий момент уже известны), далее весь процесс повторяется, начиная со второго шага.
Таким образом, для выполнения имитационного эксперимента (решения задачи прогнозирования последствий принимаемых решений – установленных, рассчитанных параметров модели) в СППР необходимо установить параметры системного времени (начальное значение, шаг, длину интервала моделирования), а также начальные условия (значения уровней в начальный момент системного времени).
Взаключение параграфа отметим, что существуют два подхода к имитации – потоковый и событийный.
Потоковые системы имитационного моделирования включают модели, в которых имитируемые элементы непрерывны по спектру своих значений и дискретны по времени. Событийные системы моделирования дискретны как по значению своих факторов, та и по времени. При событийном подходе все непрерывные изменения в реальном процессе представляются некоторой последовательностью дискретных изменений, называемых событиями. При этом событийный подход к построению имитационных моделей ориентируется на имитацию технологических процессов. Потоковый подход, классическим вариантом которого является системная динамика, рациональнее использовать при имитации экономических механизмов предприятий, отраслей и т.п.
Событийные методы имитации ориентированы на очень сильную детализацию рассматриваемых явлений и основаны только на стохастических зависимостях. Потоковые имитационные системы отображают изучаемые объекты более укрупненно, обладают как детерминированными, так и стохастическими свойствами, например управления запасами, массового обслуживания и т.п., реализованными в системах ИМИТАК, СЛАМII.
Глава 9. Математическое обеспечение прогнозирования … |
337 |
9.4. Марковские случайные процессы и метод динамики средних
Одной из основных моделей случайных процессов, используемой в прогнозировании, является модель марковских цепей. Такими моделями, которые могут быть включены в системы поддержки принятия решений, описывается большое количество физических, биологических, экономических, технических и других явлений. Применительно к нефтяной и газовой промышленности – это процессы технического обслуживания и ремонта нефтяных и газовых скважин, объектов транспорта нефти и газа, оборудования нефте- (газо)перерабатывающих заводов; процессы планирования и организации проведения геолого-технических мероприятий и геофизических исследования скважин, управления запасами и др.
Марковские цепи применяемые для прогнозирования поведения подобного рода систем можно разделить на две группы. Цепи Маркова с дискретным временем и цепи Маркова с непрерывным временем.
Марковских случайных процессы с дискретным временем нашли применение для прогноза множества показателей, которые меняются из года в год одновременно, но непосредственно связи между ними не установлены ввиду отсутствия информации или крайней сложности этих связей. Примером может служить прогноз потребностей народного хозяйства в ресурсах [9.3]. При этом, однако, при реализации данного прогноза устанавливается на перспективу сама структура потребления ресурсов различными отраслями.
Марковский случайный процесс c дискретным временем задается графом состояний элементов системы и матрицей вероятностей переходов элементов системы из состояния в состояние [9.11].
Обычно при исследовании такого процесса интересуются вероятностями пребывания системы в j-м состоянии, которые вычисляются по следующей рекурентной формуле:
pj(k) n pi(k 1)pij)(k),
i 1
где pj(k) – вероятность пребывания элементов системы в j-м состоянии на k-м шаге (в k-й дискретный интервал времени);
338 Часть 2. Математическое и алгоритмическое обеспечение …
pij(k) – вероятности перехода системы из состояния i в состояние j на k-м шаге, образующих матрицу P(k)={pij(k)} вероятностей перехода, задаваемую соответствующим графом переходов системы из состояния в состояние.
В основе же прогноза лежит вычисление матрицы переходов, элементами которой являются вероятности перехода прогнозируемых параметров из одного состояния в другое, от одного значения к другому [9.3].
Так, если A={Ait} – матрица прогнозируемых показателей (часто она называется матрицей доходов), размерности (n x T), где Ait – значение i-го показателя в момент времени t. Тогда, если известна матрица переходов P, прогноз вычисляется как:
AT 1 PAT ; AT 2 P2AT 1; ... AT K Pk AT ,
гдемениATT.- вектор значений прогнозируемых показателей в момент вре-
Основной трудностью использования этой математической модели является трудность получения матрицы вероятностей переходов, так как в этом случае для ее определения необходимо иметь обширный статистический материал по каждому прогнозируемому показателю.
Однако, если удается такую матрицу построить, то кроме сформулированной выше задачи часто формулируется задача выбора оптимальной стратегии функционирования (поведения) системы на основе сформулированного критерия оптимальности (например, максимизация дохода за заданное количество шагов – период времени) [9.12].
В случае непрерывного времени матрица вероятностей переходов преобразуется в матрицу интенсивностей переходов элементов системы из состояния в состояние, а уравнения КолмогороваЧепмена для определения pj(k) преобразуются в дифференциальные уравнения относительно производных p’j(t):
p'j(t) ( n |
jk )pj(t) n |
kj pk (t) |
k 1 |
k 1 |
|
при нормирующем условии:
Глава 9. Математическое обеспечение прогнозирования … |
339 |
|
n |
pj (t) 1 |
|
j 1 |
|
|
и начальных условиях:
p1(0)=1; pj(0)=0, j=2,3,…..,n.
По определению интенсивность перехода (параметр λ экспоненциального закона распределения) имеет размерность 1/t, где t – среднее время перехода элемента системы из состояния в состояние.
То есть технически, марковскую модель с непрерывным временем построить проще, чем модель с дискретным временем, хотя проблема подчинения пуассоновскому закону распределения всех потоков событий, переводящих элементы системы из состояния в состояние, остается.
Марковские процессы с непрерывным временем позволяют оперировать не только с вероятностями пребывания системы в своих состояниях, но и непосредственно с самими элементами (параметрами) системы. Для этого может быть использован метод динамики средних.
Метод динамики средних, впервые подробно описанный в [9.11], а затем развитый в [9.13] метод динамики моментов позволяет описывать функционирование, а, следовательно, и прогнозирование поведения различных технических, организационных и других систем с помощью систем дифференциальных уравнений, аналогичных уравнениям Колмогорова, но записанных, не как обычно, относительно вероятностей пребывания элементов системы в своих состояниях, а относительно средних численностей состояний элементов, а также их дисперсий и корреляционных моментов (для метода динамики моментов).
Метод разработан в предположении, что все потоки событий, переводящие отдельные элементы из состояния в состояние – пуассоновские, тогда динамика поведения элемента, а, следовательно, и всей системы в целом, описывается марковским случайным процессом.
Обычно метод динамики средних применяется там, где система имеет большое количество однородных элементов и состояний. При этом под однородностью элементов понимается, прежде всего, их идентичность относительно интенсивностей переходов из состояния
