ПОИСК Статьи Рисунки Таблицы Линейная регрессия общего вида из "Компьютеры Применение в химии" Если в различные моменты времени t измерены концентрации вещества Р и известны константы скорости реакции А , тл кто задача сводится к поиску параметров линейной регрессии общего вида, в которой концентрация вешества Р линейна относительно трех функций независимой переменной t. Определяемыми параметрами являются начальные концентрации трех веществ [Р](,, [А] и (В]о. [c.186] При выводе формул для вычисления параметров регрессии ограничимся пока уравнением регрессии, включающим две функции общего вида. Потом по аналогии мы обобщим полученные формулы для уравнений регрессии с произвольным количеством функций. [c.186] Необходимо найти такие значения параметров а и 6, чтобы оту -ма квадратов разностей заданных и вычисленных по уравнению регрессии значений у была минимальна. [c.187] Таким образом, задача свелась к рещению системы из двух уравнений с двумя неизвестными. Рещение систем линейных уравнений рассмотрено в предыдущей главе и не представляет трудностей. [c.187] Если этот подход применить к уравнению регрессии, в которое входят т различных функций переменной х, то возникает следующая задача. [c.187] Эту систему уравнений можно решить методом Гаусса — Жордана (см. программу Г — Ж ), Программа для вычисления параметров линейной регрессии общего вида вместе с числовым примером приведена ниже. [c.188] Вторая часть программы (строки 5(Х)00—63999) представляет собой программу Г—Ж для решения системы линейных уравнений произвольного порядка. Программа Г—Ж оформлена как подпрограмма. Для этого в ней надо лишь заменить последний оператор программы END на оператор RETURN. Программа ОБЩ-РЕГР иллюстрирует блочный принцип построения больших программ. Эта программа включает в себя всю программу Г—Ж , даже те ее части, которые не используются в регрессионном анализе. Небольшое отличие от программы Г—Ж состоит в том, что в начале соответствующей подпрограммы в строке 5(ХХЮ стоит оператор REM. Описание массива, соответствующего расширенной матрице системы, вынесено из подпрограммы в основную программу. [c.191] Три функции, которые используются в этом примере, заданы в подпрограмме в строках 40СХЮ—42000. В этой подпрограмме для каждого значения Х(1) вычисляются значения N функций, которые присваиваются переменным F(l), F(2) и F(3). [c.191] Основная программа очень короткая она состоит из комментария (краткого изложения содержания программы), описания массивов X и У (одномерные, соответствуют исходным данным), F и К (соответствуют значениям функций и параметрам регрессии), А (двумерный, соответствует расширенной матрице системы) и обращений к трем подпрограммам. Сначала вызывается подпрограмма для ввода данных, потом подпрограмма для расчета параметров регрессии и, наконец, подпрограмма для вывода выходной информации. Основная программа заканчивается оператором END. После выполнения этого оператора записанные ниже подпрограммы не транслируются и поэтому не выполняются. [c.191] Подпрограмма для ввода данных со строки 10000 до строки 10900 запрашивает у пользователя число функций в уравнении регрессии и присваивает это число переменной N. Потом запрашивается число пар значений измеряемых величин хну, которое присваивается переменной N1. Далее с помощью цикла вводится N1 пар значений х иу. [c.191] После окончания этих трех циклов в подпрограмме остаются невыполненными еще два оператора. Это оператор вызова подпрограммы Г—Ж для решения системы линейных уравнений, которая записана в виде матрицы А (оператор GOSUB 50900 передает управление строке, с которой непосредственно начинается решение системы уравнений), и оператор RETURN для возвращения в основную программу. [c.192] В строке 3000 основной программы оператор GOSUB 30000 вызывает подпрограмму для формирования и вывода выходных данных. Поскольку корни системы линейных уравнений при использовании метода Гаусса — Жордана стоят в (N 1)-м столбце преобразованной матрицы, в подпрограмме вывода данных элементы этого столбца выводятся на экран в качестве параметров регрессии. Это происходит в строках 30000—30700. [c.192] В приведенных числовых примерах отклонения экспериментальных значений от теоретических малы. Об этом свидетельствует очень малое значение суммы квадратов отклонений. [c.193] Задание 102. Организуйте ввод данных в программу ОБЩ-РЕГР так, чтобы была возможность корректировать введенные данные. Дополните участок ввода данных и подпрограмму, рассчитывающую параметры регрессии, для обработки экспериментальных данных с учетом весовых коэффициентов. [c.193] Задание 103. Возьмите в качестве входных данных координаты 20 точек, лежащих на синусоиде, и попытайтесь аппроксимировать эту зависимость (по 20 точкам) различными полиномами (начиная с полинома третьей степени). Для этой задачи на-пищите подпрограмму, формирующую выходные данные в виде таблицы, в которой сопоставлялись бы экспериментальные и теоретические значения у. [c.193] Для уксусной кислоты при 25 °С получены следующие экспериментальные данные (см. табл.). По этим данным с помощью программы ОБЩ-РЕГР рассчитайте константу равновесия и эквивалентную электропроводность при бесконечном разбавлении Л . [c.193] Уравнениями такого типа часто аппроксимируют в ограниченной области сложные зависимости или их используют для чисто эмпирического описания сложных процессов. Следующий пример иллюстрирует использование таких соотнощений. [c.194] Рассчитайте по приведенным выше данным с помощью программы для многофакторного регрессионного анализа коэффиш1енты а,Ь и 1. [c.194] Задание 106. Даны три набора экспериментальных точек, через которые необходимо провести три параллельные прямые. Надо рассчитать длину трех отрезков, отсекаемых этими прямыми на оси ординат, и тангенс угла наклона так, чтобы сумма квадратов отклонений была минимальна. Для решения этой задачи напишите аналитическое выражение для суммы квадратов отклонений и минимизируйте эту сумму по четырем параметрам. Задачу можно рассматривать также как частный случай многофакторной регрессии, которая была рассмотрена в предыдущем задании. [c.194] Вернуться к основной статье