- Определение предикторов, которые будут включены в модель. Необходимо выявить наиболее значимые предикторы. Для этого используется метод пошагового регрессионного анализа. При пошаговом алгоритме для критерия Фишера назначаются значения включения и исключения переменных. За счёт этого можно регулировать количество включаемых в модель предикторов.
- Функция составления системы для метода наименьших квадратов и её решения - определение коэффициентов регрессии.
- Проверка полученной схемы на «обучающей» и «независимой» выборках. Функция с помощью сохранённых параметров для преобразования линеаризует, нормализует необходимые величины и вычисляет прогностическое значение концентрации загрязняющего вещества.
- Сохранение. Функция записывает все промежуточные данные и результаты вычислений в выходной файл out.xls. Это позволяет пользователю легко анализировать результаты, строить все необходимые графики и оценки для модели средствами MS Excel, OpenOffice Calc, Statistica и другие.
Также в этом модуле программы реализованы вспомогательные функции такие как:
- Вычисление функции вероятности нормального распределения со средним 0 и ско 1.
- Вычисление обратной функции вероятности нормального распределения.
- Вычисление определителя матрицы.
- Решение системы с помощью LU-разложения.
Благодаря третьему модулю, который отвечает за визуализацию, пользователь имеет возможность, получать некоторые промежуточные результаты, в зависимости от них вводить различные параметры и корректировать работу программы.
Весь алгоритм программы можно представить в виде блок-схемы (рис.1).
Рис. 1. Блок-схема алгоритма.
Исходные данные (рис. 2) для разработки стохастической модели были предоставлены ГУ "ГГО" по станции, расположенной на ул. Пестеля (г. Санкт-Петербург). Эти данные характеризуют загрязнение атмосферного воздуха озоном за 2002 год.
В разрабатываемой стохастической модели связь межу предиктантом и предикторами описывается в виде
, где-
- предиктант, максимальная за сутки концентрация озона (мкг/м3);-
– линейная функция от n предикторов;- в качестве предикторов
используются следующие величины: - максимальная концентрация озона (мкг/м3) за предыдущие сутки; -7- концентрация оксида азота (мкг/м), измеренная в 7 часов; -7 - концентрация диоксида азота (мкг/м3), измеренная в 7 часов; - концентрация озона (мкг/м3), измеренная в 7 часов; - скорость ветра (м/с) в 6 и 12 часов; - направление ветра (дес.град) в 6 и 12 часов; - атмосферное давление (мб) в 6 и 12 часов; - температура воздуха (°С) в 6 и 12 часов; - относительная влажность воздуха (%) в 6 и 12 часов; - атмосферные явления (шифр), наблюдаемые в 6 и 12 часов.Длина массива данных составляет 273.
Рис.2. Исходные данные
Чтобы вычислить коэффициенты функции
при каждом из предикторов необходимо подготовить исходные данные. С этой целью:1. Ряд значений
максимальных за сутки концентраций озона разбивается на обучающую и независимую выборки. Далее все преобразования производятся только с обучающей выборкой.2. Осуществляется цензурирование выборки: сортируется массив данных в соответствие с ростом переменной
, где - значение за сутки до срока, на который дается прогноз. Находим значение 60%-ного квантиля функции распределения . - В рассматриваемом примере значению 60%-ного квантиля функции распределения соответствует концентрация = 63,42 мкг/м3. Делим исходные данные на две группы. В первую группу, объем которой составляет 60% от общей выборки, войдут значения , сопутствующие метеоусловия и расчетные параметры, которые наблюдались при < 63,42 мкг/м3. Для этой группы прогноз осуществляется по уравнению . Во вторую группу, объем которой составляет 40% от общей выборки, - значения , , , , сопутствующие метеоусловия и расчетные параметры, которые наблюдались при >= 63,42 мкг/м3. Для этой группы прогноз осуществляется с использованием прогностических схем.1. Линеаризация (рис.3). Исключение нелинейности связей между предиктантом
и предикторами.Рис. 3. Линеаризация предикторов
2. Для повышения эффективности модели в области высоких значений необходимо нормализовать все переменные, входящие в модель (рис. 4). Для этого каждое значение переменной сопоставляем значение обратной функции к функции распределения нормальной случайной величины со средним значением ноль и стандартным отклонением единица. Ее аргументом является значение выборочной функции распределения рассматриваемой случайной величины.
Рис. 4. Графики функции распределения предиктанта (до и после преобразования)
Подготовленные исходные данные применяются для получения коэффициентов уравнения. Применяем метод пошаговой многомерной регрессии. Устанавливаем параметры: F-включения = 2, F-удаления = 1,9. После девяти итераций получаем предикторы, которые необходимо включить в систему. Так как два предиктора, F-6 и F-12, соответствуют одному и тому же метеорологическому параметру, в систему включаем только тот, который больше коррелирует с предиктантом, то есть F-6.
Таблица 1. Оценка предикторов
F-включения | F-удаления | In/Out | Предиктор |
89,0213 | In | ||
31,3170 | In | С7 | |
3,4080 | In | F-6 | |
6,1487 | In | D-6 | |
4,7916 | In | NO2-7 | |
2,2418 | In | F12 | |
3,5270 | In | V12 | |
3,0150 | In | Т-6 | |
2,3492 | In | NO-7 | |
0,4037 | Out | Р6 | |
0,0001 | Out | Т-12 | |
0,0001 | Out | D12 | |
0,4391 | Out | V-6 | |
0,0083 | Out | АЯ-12 | |
0,9863 | Out | АЯ-6 | |
0,6304 | Out | Р12 |
После того как определены наиболее значимые предикторы, ищем коэффициенты b0 и bi. Для этого используем метод наименьших квадратов. В результате получаем прогностическое уравнение:
, (18)