
- •В.Ю. Третьяков, в.П. Кулеш автоматизированная обработка экологической информации
- •Введение
- •Типовые задачи геоэкологических исследований
- •Проверка данных на однородность Параметры геосистем как случайные величины
- •Законы распределения случайных величин
- •Проверка выборки на соответствие нормальному распределению при помощи экспресс-метода
- •Построение гистограммы частотного распределения
- •Критерии согласия
- •Проверка соответствия распределения выборки нормальному закону по критерию Крамера-Мизеса-Смирнова(nω2)
- •Критерий хи-квадрат (Пирсона)
- •Критерий Колмогорова
- •Проверка соответствия распределения выборки нормальному закону по критерию Колмогорова
- •Построение совмещенной гистограммы распределений двух выборок
- •Параметрические критерии
- •Критерий Стьюдента
- •Проверка однородности двух групп данных по критерию Стьюдента
- •Критерий Фишера
- •Проверка однородности двух групп данных по критерию Фишера
- •Непараметрические критерии
- •Рангово-сумарный критерий Уилкоксона-Манна-Уитни
- •Проверка однородности двух групп данных по критерию Уилкоксона-Манна-Уитни
- •Ранговый критерий рассеяния Зигеля-Тьюки
- •Проверка однородности двух групп данных по критерию Зигеля-Тьюки
- •Интерполяция и фильтрация данных
- •Линейная интерполяция
- •Сплайновые интерполяции
- •Фильтрация и сглаживание
- •Запись данных в файл
- •Зависимость между параметрами
- •Расчет коэффициента парной корреляции
- •Регрессия
- •Заключение
- •Рекомендованная литература
- •Содержание
- •Автоматизированная обработка экологической информации
- •199061, С.-Петербург, Средний пр., 41.
Расчет коэффициента парной корреляции
Определим коэффициент парной корреляции между концентрацией растворённого минерального фосфора и биомассой диатомового фитопланктона. Эти числовые ряды являются результатом численного эксперимента с компьютерной имитационной моделью водной экосистемы. Эта модель является детерминированной, все её зависимости являются функциональными. Концентрация минерального фосфора влияет на интенсивность первичного биосинтеза в соответствии с зависимостью Михаэлиса-Ментен-Моно: f(P) = P/(KSP+P), где f(P) - коэффициент снижения интенсивность биосинтеза из-за дефицита фосфора, KSP – константа полунасыщения, т.е. концентрация биогенного элемента, при которой интенсивность биосинтеза равна половине максимально возможной. Эта зависимость не линейна, а S-образна. Скорость биосинтеза в данной модели, кроме того зависит от величины солнечной радиации, прозрачности воды, температуры воды, содержания растворённого азота аммонийного, нитритного и нитратного. Биомасса фитопланктона снижается из-за трат на обмен, естественной смертности и выедания зоопланктоном, рыбами и бентосом.
po4
diatomea
correl:=corr(po4,diatomea) correl = -0.452
Как видим, мы получили низкую величину коэффициента парной корреляции, причём обратную зависимость: увеличение концентрации растворённого фосфора приводит к снижению биомассы фитопланктона. Разумеется, это противоречит законам геоэкологии и объясняется тем, что при высоких концентрациях фитопланктон потребляет много растворенного минерального фосфора и, следовательно, сильно снижает его концентрацию. Данный пример не следует рассматривать как агитацию против использования коэффициента парной корреляции, но как довод к некоторой доле скептицизма при интерпретации результатов. В этом примере векторы импортированы из отдельных файлов, но для исключения ошибок лучше импортировать данные из таблицы в матрицу, а затем создавать векторы X и Y из её столбцов.
Регрессия
Если все сомнения в правильности и применимости выявленной зависимости отпали, то определяем параметры коэффициентов уравнения линейной регрессии. Для примера воспользуемся модельными данными о годовом ходе минеральной и органической взвеси.
vzvmin
vzvorg
correl:=corr(vzvmin, vzvorg) correl = 0.984
Мы хотим получить коэффициенты линейной зависимости a и b:
vzvorg = a·vzvmin + b
В пакете Маткад возможно определить значения коэффициентов a (тангенса угла наклона прямой) и b (свободного члена) двумя эквивалентными способами – 1) при помощи функций slope и intercept:
a:=slope(vzvmin,vzvorg) b:=intercept(vzvmin,vzvorg) a=1.574 b=0.014;
2) с помощью функции line, которая возвращает вектор из двух коэффициентов b и a: Vcoeff_line:=line(vzvmin,vzvorg), Vcoeff_line0=0.014,
Vcoeff_line1=1.574.
Оба эти способа определяют параметры прямой регрессии с помощью метода наименьших квадратов. В этом случае значения коэффициентов a и b подбираются таким образом, чтобы сумма квадратов расстояний между точками пар измеренных значений xi, yi и точками f(xi) на прямой регрессии была минимальна.
Возможен и другой критерий для определения параметров регрессионной прямой: вместо минимизации суммы квадратов достигается минимизация сумма модулей отклонений Σ|yi - f(xi)|. Этот критерий называется медианным, в пакете Маткад в соответствии с ним работает функция medfit(x,y). Vcoeff_med:=medfit(vzvmin,vzvorg),
Vcoeff_med0=0.009, Vcoeff_med1=1.638.
Как видно, смена критерия подбора прямой привела к изменению параметров последней.
Несмотря на сходство, интерполяция и регрессия применяются для различных целей. Интерполяционные задачи в геоэкологических исследованиях решаются тогда, когда на основании дискретных значений необходимо определить временной ход данного параметра, или его пространственное распределение. Здесь нас интересуют значения параметра во всей рассматриваемой области пространства и в период времени. Мы не знаем заранее вида интерполирующей функции и, в общем, она не является нашей целью. Для нас важно другое – чтобы были соблюдены предъявляемые к интерполирующей функции требования, например, условие её прохождения через узлы или гладкости (существования во всей её области производной определенного порядка).
В случае же поиска регрессионной функции для нас важны не числа, а сама полученная зависимость. При этом мы знаем или хотя бы предполагаем класс функций, среди которых мы будем искать регрессионную зависимость. Например, фотоколориметрический метод определения концентраций растворенных веществ базируется на том, что в соответствии с законом светопоглощения Бугера-Ламберта-Бера существует линейная зависимость между концентрацией растворённого вещества и оптической плотностью раствора. Мы должны лишь определить коэффициенты этой линейной зависимости. Благодаря этой зависимости значительно упрощается определение содержания растворенных веществ. Другой пример: определение подводной освещенности дело очень трудоемкое. Однако, получив взаимосвязь между прозрачностью по белому диску (Секки) и коэффициентом ослабления света, мы можем определять важные геоэкологические параметры: мощность слоя фотосинтеза, влияние световых условий на интенсивность первичного биосинтеза.
Но как быть, если мы знаем, что зависимость является нелинейной? Например, интенсивность фотосинтетически активной солнечной радиации (ФАР) в сомкнутом растительном покрове (РП) зависит от коэффициента ослабления света, определяемого суммарным листовым индексом расположенной выше части РП. При этом нам известно, что ослабление света происходит по экспоненциальному закону. В этом случае можно провести линеаризацию зависимости: превратить её из нелинейной в линейную. Благодаря этому мы сможем использовать важный показатель тесноты связи – коэффициент детерминации. Если зависимость является экспоненциальной y = c·eax, то следует рассматривать зависимость ln(y)=ax + ln(c), т.е. вместо переменной y работаем с параметром ln(y). В случае степенной зависимости y = c·xa переходим к зависимости ln(y) = a ln(x) + ln(c). Кроме того, в пакете Маткад реализованы функции нелинейных регрессий: expfit(x,y,g) – регрессия экспонентой f(x)=a·ebx + c; lgsfit(x,y,g) – регрессия логистической функцией
f(x)=a/(1 + b·ecx ); sinfit(x,y,g) – регрессия синусоидой f(x)=a·sin(x+b)+c;
pwfit(x,y,g) – регрессия степенной функцией f(x)=a·xb+c; logfit(x,y,g) – регрессия логарифмической функцией f(x)=a·ln(x+b)+c. Здесь x и y – векторы аргумента и зависимой переменной, g – вектор из трёх элементов, задающий начальные значения коэффициентов a, b, c. Можно использовать также функцию lnfit(x,y) – регрессию двухпараметрической логарифмической функцией f(x)=a·ln(x)+b.
Ещё в пакете Маткад есть возможность построения полиномиальной регрессии одним полиномом или отрезками нескольких полиномов. Этот вид регрессии означает аппроксимацию зависимости полиномом k-ой степени f(x) = a + bx + cx2 + dx3 + … + hxk. При k=1 полином является прямой, при k=2 – параболой, при k=3 – кубической параболой и т.д. Как правило, на практике применяются k<5. Для построения регрессии полиномом k-ой степени необходимо наличие по крайней мере k+1 точки данных. Полиномиальная регрессия осуществляется комбинацией функции regress(x,y,k) и полиномиальной интерполяции функцией interp(s,x,y,t). s = regress(x,y,k) – вектор коэффициентов для построения полиномиальной регрессии, k – степень полинома регрессии. Можно выполнить аппроксимацию соединением участков нескольких полиномов. Для этого применяется функция loess(x,y,span), возвращающая вектор коэффициентов для построения регрессии отрезками полиномов. Непосредственно интерполяцию здесь также выполняет функция interp(s,x,y,t), параметр s для которой определяется функцией loess. Параметр span задает степень сглаженности данных и определяет размер отрезков полиномов. При больших значениях этого параметра регрессия практически не отличается от регрессии одним полиномом: при span=2 линия регрессии мало отличается от параболы. Хорошие результаты дает значение span=0.75.
Также можно осуществить регрессию в виде линейной комбинации произведений определяемых коэффициентов и любых функций, и даже более того – когда пользователь сам задаёт комбинацию функций и искомых коэффициентов (регрессия общего вида). При этом применяются соответственно функции linfit и genfit.
Однако применение полиномиальной регрессии и регрессии общего вида мало что дает. Полученные зависимости хорошо работают только для данного конкретного случая и чаще всего не могут быть использованы в качестве обобщений. Фактически мы переходим от регрессии к интерполяции данных.