1626434812-e667f6b6e7e69d3a0798830a58e9075b (844135), страница 37
Текст из файла (страница 37)
Мы воспользуемся именно послсдним форматом — он наиболее универсален, ведь текстовый редактор входит в состав любой операционной системы. В любом редакторе, например, в 1'1о1ерас1, создайте текстовый файл, состоящий из разделенных пробелами четырех столбцов. В первом столбце запишите годы, для которых производятся измерения, в остальных- соответствующие этим годам значения среднегодовой температуры в Мюнхене (МАТ), приведенной среднегодовой температуры поверхностного слоя атмосферы Земли (КААТ) и числа Вольфа (%1Ч) (см.
таблицу 7 4.3). В первой строке запишем наименования столбцов. Важно, чтобы данные за разные годы располагались последовательно, иначе у нас не получиться проследить историю процесса изменения температуры Если все сделано правильно, то должна получиться таблица, подобная приведенной ниже. Таблица 7.4.3 1'ЕАК МАТ ЙААТ 192б -0.10 1927 63,9 0.13 1928 -0.01 1929 0.0б 1930 -0.17 1931 Базы данных. Интеллектуальная обработка информации Для последующего использования файл нужно сохранить под любым допустимым в операционной системе именем, например, "таМа$".
На следующем этапе необходимо сформировать базу примеров и создать нейронную сеть. Эти функции в пакете Вга1пМа1ег выполняет специальный модуль — Ие!МаЕег. С возможностями этой программы нам предстоит ознакомиться, Запускается Хе!Ма1ег так же, как и любое другое приложение Мпдою~ з.
В меню."Старт" %!пс!оюз 95 необходимо найти папку "Вга!пМа1сег РгоГезз1опа!" и выбрать в ней иконку с надписью Хс!МаЕег. Для запуска Ие!МаЕег по%!пдошла 3.1 надо в Ргоугат Мапаяег выбрать группу "Вга1пМа1сег Рго!езяопа!" и щелкнуть 2 раза на иконке ХетМа1сг. Рис. 7.4.1. Главное меню №~МаАег. Считаем подготовленные нами данные. В главном меню Ие!Ма1сег (см. рис.
7.4.1) выберите пункт "Кеад 1п Ра!а Не" (считать данные). В появившемся окне выберите созданный ранее файл с исходными данными. Выберите пункт меню "Мап1рц!асе Оа!а" (обработка данных). Представление данных в Ие!МаЕег напоминает электронную таблицу (см. рис. 7.4.2). При необходимости ее можно редактировать, не выходя из программы. Обратите внимание, что Ые1Ма1сег автоматически распознал, что первая строка файла исходных данных — не значения, а названия параметров. Для того чтобы наглядно увидеть, как изменяются значения МАТ во времени, построим график этой величины. В меню "Орега!е" (операции) выполните команду "бгарЬ Со! шппз" (представить столбцы графически). Выберите столбец МАТ. Для этого щелкните мышью на его заголовке (серой кнопке с надписью МАТ). В строке "Тгасе 1" диалоговой панели появятся номер и название столбца МАТ (см.
рис. 7.4.3). Глава 7. Нейросетевые системы Рис. 7.4.2. Иредстакчекие данных в Фе~Маl~ег. Рис. 7.4.3. Пакель диалога "Ыес~ Со1итпз То СгарЬ ". 19б Базы Данных. Интеллектуальнан обработка информации Нажмите кнопку "Ма!се бгарЬ" (создать график). В появившейся диалоговой панели выберите "Сгеа!с Р!оги (нарисовать график). Полученный график прсдставлен на рис. 7.4.4. Рис. 7.4.4.
График МАТ. Наша задача — предсказать значение среднегодовой температуры в Мюнхене на год вперед, поэтому каждый пример для обучения нейросети должен включать значение МАТ будущего года. Это означает, что каждому входному вектору надо поставить в соответствие будущее значение МАТ. Хе1Ма1сег предполагает, что в каждой строке таблицы находится один пример для обучения сети. Поэтому, чтобы включить значение МАТ будущего года во все примеры, мы должны добавить к исходным данным столбец, который содержал бы те же значения, что и колонка МАТ, но был бы смещен на 1 ячейку вверх. В меню "Со! цгпп" (операции со столбцами) выполните команду "Яий Со! шпп (3р" (сдвинуть столбец вверх). Выберите мышью столбец МАТ и введите "1" в ответ на вопрос о количестве ячеек, на которое он сдвигается.
Система попросит задать название нового столбца. Введите, например, "МАТ+1". Обратите внимание, что значению МАТ за год и в новом столбце соответствует значение температуры в Мюнхене за год н+1. Последняя ячейка столбца МАТ+1 содержит некорректное значение. Программе не было известно значение МАТ за 198б год, поэтому ей пришлось поместить туда данные! 985 года. Эту строку нельзя Глава 7. Нейросетевые системы будет использовать при создании базы примеров — сети должны обучаться на действительных данных, Мы удалим все подобные строки позднее. Данные входного вектора должны содержать несколько предыдущих значений прогнозируемой величины. Ограничимся одним — прошлогодним значением температуры в Мюнхене. По аналогии с будущим значением для помещения его во входной вектор мы должны создать новый столбец, но сдвинуть его надо не вверх, а на ячейку вниз.
В меню "Со!шпп" (операции со столбцами) выполните команду "ЯЫй Со!шпп 0оюп" (сдвинуть столбец вниз). Выберите мышью столбец МАТ. В ответ на запрос о количестве ячеек, на которое он сдвигается, введите "1". Определите имя нового столбца, например, "МАТ-1". При прогнозировании часто используют процедуру сглаживания исходного временного ряда. Это позволяет выделить тренд — регулярную составляющую временного ряда. При проведении этой процедуры полезным может оказаться знание периода исходного временного ряда, если он, конечно, наблюдается. Попытаемся определить наиболее вероятный период изменения МАТ. В меню "Орега!е" выполните команду "Сус!!с Апа1уз!з" (анализ периодичности).
Щелкните мышью на столбце МАТ. В появившемся окне диалога нажмите кнопку "Апа!ухе" (анализ) — значения, предлагаемые программой по умолчанию, нас устроят. Выберите "Сгеа!е Р!о1" (нарисовать график) в следующей диалоговой панели. Периодограмма, построенная Ме1Ма1сег, представлена иа рис. 7.4.5. Рис. 7,4.5. График е результатами аиализа периодичности. Базы данных Интеллектуальная обработка информации По горизонтальной оси графика отложены значения Егеоиепсу (частоты). Значение Ггепцепсу в Хе1Ма1сг здесь определяется так: РОТ Хтедиепсу = Т где Т вЂ” значение периода в терминах исходных данных (в нашем случае это период изменения МАТ в годах), а РОТ вЂ” это минимальная степень двойки, большая, чем количество примеров.
Для нас РОТ будет равно 64 (2' = 64 > 61). Ясно, что нужный нам период может быть найден следующим образом: РОТ В едиепсу Вертикальная ось графика отображает значения Ягепдй (сила). Строго говоря, это — относительная спектральная оценка МАТ. Исходный ряд значений МАТ может быть представлен в виде суммы гармонических составляющих. Периодограмма на рис. 7.4.5 показывает распределение мощности гармонических составляющих в исходном временном ряде по частотам. На этой периодограмме наиболее вероятному значению периода соответствует наибольшее значение 31геп8ш. Следует отметить, что явного периода в данных мы не обнаружили — отсутствуют яркие "пики" на графике.
значения 31гспфЬ невелики. Но мы все жс попытаемся использовать результаты проведенного анализа. Найдем значение "Гтеоцепсу", соответствующее максимальному значению 81геп8Й. Для этого переместим указатель мыши в точку, где Ягещй максимально. Значение Ггеоцепсу в этой точке близко к 8. Исходя из приведенного выше соотношения период будет равен 8 годам (641 8 = 8). Проведем сглаживание исходного ряда значений МАТ методом скользящего среднего.
В меню "Орега~е" выберите "Мочп8 Ачегаде" (скользящее среднее), затем в появившемся подменю — пункт "Бппр!е" (обычный метод). Щелкните мышью на столбце МАТ. Система запрашивает число уровней ряда, по которым производится сглаживание. Введем половинное значение длительности найденного ранее периода — 4 (8/2). Сглаженный временной ряд будет помещен в новый столбец. Система запросит имя этого столбца. Введем "Ма~'гп" в ответ на запрос. Иногда спектральный анализ не позволяет выявить период изменения прогнозируемой величины, например, если объем исходных данных невслик. В этом случае число уровней ряда, по которым производится сглаживание, выбирается в зависимости от природы значений ряда и от степени предполагаемой его зашумленности помехой.
Обычно это число лежит в интервале от 3 до 7. 199 Глава 7. Нейросетевые системы Теперь попробуем воспользоваться данными о приведенной среднегодовой температуре поверхностного слоя атмосферы Земли ~столбец ДААТ) и числами Вольфа ~столбец %1К). Проведем корреляционный анализ временных рядов, который позволит установить, связаны ли эти величины с прогнозируемым значением. В процессе корреляционного анализа определяется, согласованы ли два временных ряда. Проверяется, уменьшается ли один ряд с увеличением другого, изменяются ли они синхронно.
В меню "Орега1е" выполните команду "Оа1а Согге!а1ог" (анализ зависимости столбцов). Хе~Ма1ег предложит выбрать два временных ряда для анализа. Щелкните мышью сначала на столбце %И, а затем на столбце МАТ+1. Выберите "Согге1а1е" в появившейся диалоговой панели. В следующем окне нажмите кнопку "Сгеа~е Р1о1" (нарисовать график). График, построенный системой, показан на рис. 7.4.6. Рис. 7.4.6. График с результата.ии коррвляциоииого аиализа столбцов И'М и МАТ+1.
На графике по его горизонтальной оси отложены значения 1 ая (лаг, отставание), по вертикальной оси — ЯгепфЬ 1сила корреляции). График строится следующим образом. Вычисляется оценка согласованности исходных рядов. Затем второй ряд сдвигается по времени на некоторое число интервалов наблюдения и производится оценка связи исходного и модифицированного ряда. Значение сдвига второго ряда откладывается по оси Еад. Для сдвигов назад по времени значения 1.ад отрицатсльныс, для сдвигов вперед — положительные, для несмещенных рядов значение 1.ад равно О. По оси 31гепцй наносятся оцен- Базы данных.