B библиотеку
Источник: www.basegroup.ru/tasks/forecast.htm

Прогнозирование

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

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

Вне зависимости от используемого метода, необходимо решить два вопроса: что является прогнозируемой величиной и что является входными данными. В большинстве случаев прогнозируемой величиной являются значения временного ряда на интервале [T(n+1), T(n+f)], где T(n) – текущий момент времени, а f – интервал прогнозирования. Иногда возникает необходимость предсказать не значения временного ряда на заданном интервале, а вероятность того, что он будет вести себя каким-то образом (возрастать, убывать, находиться в некоторых пределах и т.д.).

Процесс прогнозирования можно описать с помощью следующей схемы:

,

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

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

Следующий шаг – построение прогностической модели. Для этого можно использовать как классические механизмы, типа линейной регрессии, так и современные алгоритмы, позволяющие строить нелинейные модели, например, нейронные сети. В случае использования для прогнозирования нейронной сети необходимо решить ряд специфических подзадач: выбор структуры нейронной сети, алгоритма обучения и прочее. На основании построенной нейросетевой либо любой другой модели и осуществляется прогнозирование. Из общеизвестных преимуществ нейросетевого подхода следует выделить одно самое привлекательное – отсутствие необходимости в строгой математической спецификации модели, что особенно ценно при анализе плохо формализуемых процессов. А большинство бизнес задач плохо формализуется. Это означает, что при наличии достаточно развитых и удобных инструментальных программных средств пользователь может при построении модели прогнозируемого процесса руководствоваться такими понятиями, как опыт и интуиция.

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

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

B начало

Предобработка и очистка данных

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

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

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

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

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

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


B начало

Источник: www.basegroup.ru/tasks/forecast.htm