Смекни!
smekni.com

Стохастическое моделирование и прогноз загрязнения атмосферы с использованием нелинейной регрессии (стр. 3 из 5)

При достаточно больших M погрешность в значениях F(Xk), вычисляемых по формуле(11) становится мала. При этом F(X) нигде не обращается в ноль или M, а значит [Xk] принимают только конечные значения.

Вместо функции, обратной к функции распределения нормальной случайной величины, Ф-1 можно использовать её аппроксимацию (погрешность e-16).

3. Пошаговая регрессия.

Имеется набор независимых переменных X1…Xn, которые являются кандидатами на роль предикторов СМАХ, и случайная выборка объема М. Рассмотрим стандартную пошаговую процедуру (F-метод), которая состоит из правила включения переменных и правила исключения. Включение и удаление переменных осуществляются с помощью критерия, который имеет F-распределение, и называется либо F-включения, либо F-удаления.

Более точно, предположим, что в набор с уже включено k переменных, k = 0, 1… M-1. Тогда значение F-включения для переменной X (не входящей в с) вычисляется по формуле:

, (12)

где rСмахX– множественный коэффициент корреляции.Величина F служит статистикой критерия для проверки гипотезы о том, что предсказание СМАХ значимо не улучшается при включении X в набор с. Аналогично, величина F-удаления для какой-либо переменной X из с служит статистикой критерия для проверки гипотезы о том, что набор с' получающийся из с при удалении X и содержащий k'=k-1 переменных, предсказывает СМАХ так же хорошо как и набор с.

, (13)

Правило остановки, обычно используемое в стандартной процедуре, основано на задании допустимого минимума F-включения. По умолча­нию предполагается, что минимум F-включения равен 4. Для удаляемых переменных также выбирается допустимый минимум. F-удаления величина должна быть меньше минимума F-включения. По умолчанию принимается, что ми­нимум F-удаления равен 3,9. Рассмотрим теперь подробно шаги стандартной процедуры.

Шаг 0. Вычисляются величины F-включения для i = 1…n. Статистика критерия дается выражением

, (14)

которое получается из формулы (?) подстановкой k=0.

Шаг 1. Переменная Xi1, которой отвечает наибольшее значение F-включения (или, что эквивалентно, наибольшая величина квадрата коэффициента корреляции с СМАХ), выбирается как наилуч­ший предиктор. Величина F-удаления для Xi1 в этом случае совпадает с величиной F-включе­ния. Далее вычисляются значение F-включения и F-удаления.

Если все вычисленные значения F-включения меньше установленного минимума, то далее выполняется шаг S.В противном случае происходит переход на шаг 2.

Шаг 2. Переменная Хi2, имеющая наибольшее значение F-вклю­чения (или, что эквивалентно, наибольший квадрат частного коэффициента корреляции с СМАХ при фиксированном значении Xi1), выбирается как наилучший предиктор для СМАХ при условии, что уже выбрана переменная Xi1. Если все значения F-включения меньше установленного минимума, то далее выполняется шаг S. В противном случае происходит переход на шаг 3.

Шаг 3. а) Пусть L обозначает набор из l независимых перемен­ных, которые включены в уравнение регрессии. Если какое-либо из значений F-удаления для переменных из L меньше, чем соответ­ствующий минимум, то переменная, которой соответствует наи­меньшее значение F-удаления, удаляется из набора и выполняется шаг Зb с заменой l на l-1. Если для всех переменных, не входя­щих в L, значение F-включения меньше установленного минимума, то выполняется шаг S. В противном случае в набор L добавляется переменная, которой соответствует максимальное значение F-включения, и l заменяется на l + 1. b) Вычисляются значения F-удаления между СМАХ и переменной Хi из L при заданных остальных l-1 переменных из L и значение F-включения между СМАХ и каждой переменной Xi, не входящей в L, при данных переменных из L.

Шаги 4, 5... Рекуррентно повторяется шаг 3. шаг S выполняется а) если F-включения для всех переменных, не входящих в L, меньше установленного минимума, b) если для всех переменных из L значение F-удаления больше установленного минимума или с) число включенных переменных равно р.

Шаг S. Вывод результатов.

4. Метод наименьших квадратов. Метод наименьших квадратов - простой и быстрый способ получить неизвестные параметры в функциональной зависимости (

) и оценить их погрешности. Минимизируется сумма квадратов отклонений реально наблюдаемых CMAX от их оценок CMAXПРОГ (имеются в виду оценки с помощью прямой линии, претендующей на то, чтобы представлять искомую регрессионную зависимость):

, (15)

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

, (16)

Условие минимума функции невязки – равенство нулю всех частых производных, то есть:

, (17)

Полученная система является системой I+1 линейных уравнений с I+1 неизвестными b0...bI. Так как матрица системы уравнений является симметричной, то система решается методом LU-разложения.

5. Сортировка. Сортировка массивов осуществляется методом разделения (Quicksort). Шаги алгоритма таковы:

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

2. Операция разделения массива: реорганизуем массив таким образом, чтобы все элементы, меньшие или равные опорному элементу, оказались слева от него, а все элементы, большие опорного — справа от него. Обычный алгоритм операции:

- два индекса — l и r, приравниваются к минимальному и максимальному индексу разделяемого массива соответственно;

- вычисляется опорный элемент m;

- индекс l последовательно увеличивается до m или до тех пор, пока l-й элемент не превысит опорный;

- индекс r последовательно уменьшается до m или до тех пор, пока r-й элемент не окажется меньше опорного;

- если r = l — найдена середина массива — операция разделения закончена, оба индекса указывают на опорный элемент;

- если l < r — найденную пару элементов нужно обменять местами и продолжить операцию разделения с тех значений l и r, которые были достигнуты. Следует учесть, что если какая-либо граница (l или r) дошла до опорного элемента, то при обмене значение m изменяется на r или l соответственно.

3. Рекурсивно упорядочиваем подмассивы, лежащие слева и справа от опорного элемента.

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

Алгоритм называется быстрой сортировкой, поскольку для него оценкой числа сравнений и обменов является O(n*lg n).

2.4 Программа

Для автоматизации расчёта по описанной модели была составлена прикладная программа. Она была написана на языке C++ в среде разработки Microsoft Visual Studio 2005, и её объём составляет несколько тысяч операторов. Программа состоит из трёх основных модулей: управляющая часть, блок с функциями, реализующими логику всех необходимых методов, и модулем, который отвечает за взаимодействие программы с пользователем. Таким образом, программа составлена в соответствии с шаблоном проектирования модель-вид-контроллер (model-view-controller).

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

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

Основные функции, реализованные во втором модуле программы:

- Считывание данных из файла. Для удобства пользователя исходные данные читаются из файла в формате xls.

- Деление выборки на зависимую и независимую части. В «обучающую» выборку попадают первые две недели из каждых трёх, а в независимую – каждая третья неделя. Отсчёт начинается от первого понедельника года.

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

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

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