воскресенье, 26 октября 2014 г.

Регрессия. Часть 1. MS Office Excel

Представим, что имеется некоторая база данных в которых одна часть наблюдения (пробы) имееют все результаты анализов, а другая часть - не все. Для того, что бы заполнить пробелы существует регрессионный анализ.

Регрессия бывает парной – между двумя переменными, а бывает множественная, где есть одна зависимая и множество независимых переменных.

Так же, множество видов регрессионного анализа можно разделить на три группы: линейные методы, нелинейные, непараметрические.

Линейная регрессия означает, что ищется зависимость определяемая линейной функций вида y = ax + b, где:

  • y – зависимая переменная (например, содержание серебра в руде),
  • a – коэффициент, который задает наклон прямой на графике (например, если коэффициент отрицательный, то чем меньше будет компонента x, то тем больше будет компонента y.)
  • x – независимая переменная (например, содержание золота в руде)
  • b – константа, некоторое число. Оно определяет высоту прямой. Например, константа определит сколько будет серебра в руде, если содержание золота равно нулю.

Нелинейные методы определяются функциями всевозможного вида: логарифмическими (y = ln(x)), и полиномиальными, и другими.

Непараметрические методы тоже определяют зависимость между переменными, но не могут выдать её в качестве функции.

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

В первой части хочется остановится на самом простом способе – использовании регрессионного анализа в MS Excel. Рассмотрим на примере определение закономерностей между плотностью горной породы и содержанием полезных компонентов в ней. Используем парную и множественную регрессию. Линейные и нелинейные методы.

image

Шаг 1. Составим базу данных. В данном случае имеем: группирующую переменную “Порода”, зависимую “Плотность”, независимые “М1-М8”.

image

Шаг 2. Включим надстройку “Анализ данных” для Excel. Для этого правой клавишей мышки щелкаем в любом месте на ленте и открываем вкладку “Настройка ленты”

image

В открывшемся окне переходим во вкладку “Надстройки”. Внизу в строке “Управление” выбираем “Надстройки Excel” - “Перейти”.

image

В новом окне выбираем “Пакет анализа” и активируем кнопкой ОК. Надстройку “Анализ данных” можно будет найти на ленте во вкладке “Данные”.

image

Шаг 3. Определим вид распределения данных. Для линейных методов необходимо, чтобы данные были распределены нормально. То есть имелось среднее значение от котого равновероятно отходят остальные значения.

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

Стоит отметить, что для каждой популяции необходимо строить свою гистрограмму. Например, роговики отдельно от массивных сульфидных руд.

Так же, как правило, в геологогии редкие и благородные металлы имеют логнормальное распределение. Вы так же, вряд ли ошибетесь выбрав логнормальное распределение, если значения переменнной изменяются на два порядка.

image

Выбираем данные, ставим галочки (кроме Парето) и жмём ОК.

image

Шаг 4. Анализуем гистограммы.

Массивные руды показывают моду на классе 4.38, но из-за хвоста слева, идёт снижение среднего до 4.30. Такой вид гистограммы называется правоскошенным. В роговиках было отобрано значительно меньше проб, но тем не менее среднее находится на уроне 3.2-3.5. Разница серьезная. Более того, исследователь, опробовавший километры керна, знает, что плотность 2.72 (как и 3.16) не характерна для массивных руд. Даже теоретически. Следовательно, на лицо наличие прослоев немассивных руд в выборке.

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

Шаг 5. Проводим корреляционный анализ, чтобы определить самые значимые переменные. Предварительно, логарифмируем наши редкие и благородные металлы. Переменную Плотность оставляем как есть.

image

Используем формулу =log10(), что бы получить десятичные логарифмы независимых переменных. Они у нас являются логнормальными величинами априори. Все отсутствующие значения вместо логарифма будут иметь значение #ЧИСЛО!, а значит их необходимо предварительно очистить. Данную операцию легко сделать через инструмент Фильтр.

В надстройке Анализ данных выбираем строку Корреляция.

image

Инструмент запросил непрерывную область данных, поэтому пришлось переместить столбец Плотность.

image

Рассмотрим полученную таблицу и отметим, что Плотность тесно коррелирует с тремя переменными: М1, М3 и М4.

Важное замечание. В Excel с помощью Анализа данных мы получим таблицу линейных коэффициентов корреляции (r-Пирсона), а они будут отличатся от нелинейных. Но этого будет достаточно, что бы выделить наиболее значимые элементы.

Шаг 6. Построим точечные графики распределения.

image

Выделим зависимую Плотность и первый элемент М1 – на вкладке “Вставка” выберем “Точечная”.

image

К сожалению, в построенном графике место зависимой переменной занимает М1, а не Плотность. Необходимо поменять их местами. Щёлкаем мышкой на саму диаграму, и в ленте открываем панель “Выбрать данные”image

Находим кнопку “Изменить данные” и в открывшемся окне, просто меняем X и Y местами с помощью вырезать-вставить.

image 

Теперь получен правильный график. В глаза явно бросаются пять значений-выбросов. К сожеланию опять, в Excel нельзя выбрать пробы прямо на графике и исключить их из анализа. Поэтому с помощью фильтра ищем эти значения и удаляем.

image

Шаг 8. Один раз щёлкаем левой клавишей мышки на любую точку на графике, нажимаем правую клавишу и в новом меню выбираем “Добавить линию тренда”. Повторяя операцию можно добавлять другие линии тренда.

image

На данном графике построено две линии тренда. Черная – линейная, красная – полиномиальная. Еще можно построить Экспоненциальную. И всё. Как видите, возможности Excel сильно ограничены.

Главное, что на графике показаны уравнения зависимости и коэффициенты детерминации R2. Если взять квадратный корень из R2, то получите коэффициент корреляции R.

Можно заметить, что R для линейной модели составляет 0.77, в то же время корреляционный анализ выше выдавал значение 0.72. Разница в 5% произошла по причине исключения выбросов после построения графика. Поэтому данные всегда стоит проверять на графиках.

Получив уравнения на графиках, мы применили составили парную регрессию между Плотностью и М1. В дополнение хочется отметить, что возможно стоит проверить кусочно-линейные функции – разбить данные на еще две субвыборки по значению log10(M1) = 0.2 и составить уравнения для разных элементов.

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

imageШаг 9. Произведем рассчет множественной линейной регресии с помощью инструмента Регрессия в пакете Анализ данных. Множественная нелинейная регрессия не реализована в надстройке Анализ данных. Предварительно необходимо удалить все пробы с отсутствующими значениями. Функция множетственной корреляции в Excel не умеет автоматически исключать такие пробы.

image   На что обратить внимание в сухой таблице?

Начнём по порядку.

  • Множественный R – коэффициент корреляции, равен 0.77. Простая парная рассмотренная выше регрессия выдала такой же результат;
  • Нормированный R-квадрат – доля объяснённой дисперсии. 0.60 – означает 60%, что в общем, маловато;
  • Стандартная ошибка. Это мера дисперсии остатков, или как предсказанные значения отклоняются от среднего. Много это или мало? Для этого надо определить Относительную Стандартную ошибку. Среднее значение плотности в выборке составляет 4.23. Поделив 0.206 на 4.23 мы получим 0.05 или 5%. Таким образом, в среднем плотность определена нами с погрешностью 5% (50% данных с погрешностью +/-5%, еще 17% с погрешностью +/-10%, а 99,5% всех данных определены с погрешностью +/- 15%). Для сравнения, стандартная ошибка полиномиальной модели в парной регресии выше (расчёт не показан) составила 0.198. Близкое значение;
  • Дисперсионный анализ показывает Значимость F сильно меньше 0.001, что является высокозначимым результатом – Регрессия состоялась и она значима. Не так что бы можно было медаль вешать, а просто статистически это говорит, что результат наврядли является случайностью;
  • Коэффициенты – это и есть параметры уравнения вида y = ax + b. Выглядит оно так: Плотность = 3.6132 + 1.4403* log10(M1)… на этом моэно остановится, потому что коэффициенты M3 и M4 по сути равны нулю и не значимы. Их P-значение сильно выше 0.05;
  • Вывод остатка. Для интересующихся, можно рассмотреть каждое отдельное значение.

image

Дополнительно в опциях инструмента Регрессии было выбрано построение графиков остатков. Выберем один график с М1.

В данном случае, наглядно показано, что остатки концентрируются плотным пучком с центром в середине. То есть при высоком значении М1 могут быть ошибки одинаковые по модулю ошибки, но разные по знаку. Это плюс. Значит, систематической ошибки нет. Фиолетовым обведен тот самый “Хвост”, то есть уравнение регрессии говорит, что при таких низких содержаниях М1, не может быть высокой плотности, а поскольку функция линейная, то и расположение точек этих остатков выглядит линейно.

Подводя итог, хочется вспомнить слова Эйнштейна: “Всё относительно”. Велика или мала относительная стандартная ошибка в 5%, должно быть определено экономическими факторами. В данном случае мы констатируем факт наблюдения.

В остальном, я надеюсь эта статья покажет путь начинающим исследователям.

пятница, 10 октября 2014 г.

Построение карт ранговой дисперсии геохимического поля

 

Данный пост основан на статье Григория Юрьевича Боярко из сборника прикладной геохимии:

Боярко Г.Ю. Построение карт ранговой дисперсии геохимического поля // Прикладная геохимия. Вып. 3. Прогноз и поиск. М.: ИМГРЭ, 2002. С. 107–115.

Так же рассматриваемый метод вкратце рассмотрен в статье Ворошилова Валерия Гавриловича.

Основа данного метода – уравнивание дисперсии всех элементов с помощью непараметрической статистики, и выявление наиболее согласованных аномалий. То есть, имея редкие элементы с чрезвычайно высокой дисперсией (как например, Au), мы упускаем из виду элементы с меньшей дисперсией. Хотя вклад по металлу в геохимическое поле у первых значительно меньше.

Моя цель – показать вам как использовать данный метод с помощью Excel.

рис1

Шаг 1. Берем базу данных геохимического опробования.

В данном примере использована реальная база опробования по 549 точкам. Переменные НЕ требуют никакого преобразования. Главное иметь столбец с уникальным номером для каждой пробы. Его мы будем часто использовать. В моём случае это третий столбец. Так же, в моей базе все переменные нормализованы и имеют измененные имена с целью обезличивания. Столбцы А1-А20 – металлы.

рис2

Шаг 2. Копируем на отдельный лист одну переменную металла (A1) и столбец Nomer.

2.1. Сортируем значения А1 от минимального к максимальному. Для этого на ленте на вкладке “Главная” находим справа значок “Сортировка и фильтр”.

2.2. Создаем дополнительные столбцы как на рисунке выше.

2.3. В столбце i присваем условный ранг от 1 до 549 (столько у нас проб). Так мы переходим к равномерному распределению. На практике, редкие металлы распределены логнормально или иначе. Замечу, что в данном столбце должны быть именно числовые значения, а не формулы или текст.

2.4. Теперь необходимо перейти к нормальному распределению. Для этого в столбец bi в ячейку E2 вставляем формулу:

=((C2-1)/(СЧЁТЗ($C$2:$C$550)-1))-0.5

и копируем её до конца. Так в ячейке E2 будет значение –0.5, а в последней ячейке E550 будет +0.5.

2.5. В столбце Φ (xi) рассчитываем значение по формуле: bi + 0.5

Так, мы получим значения интергральной функции от 0 до 1. В принципе, можно сразу 0.5 в столблец bi, но я повторяю методику автора по шагам.

2.6. В столбце G рассчитываем квантили для интегральной функции. Для этого в ячейку G3, именно G3 вставляем формулу:

=НОРМ.ОБР(D3;0;1)

Копируем её до предпоследней пробы.

Ячейке G2 присваиваем значение –5, а последней ячейке G550 присваиваем +5. Всё это потому что, в столбце Φ (xi) мы присвоили значения вероятностей от [0;1]. А функция НОРМ.ОБР работает только в пределах (0;1). То есть при вероятности 0 и 1 она выдаст ошибку.

2.7. В приципе, этого достаточно, потому что самое важное в столбце xi. Но автор еще рассчитывает функцию плотности распределения в каждой пробе. Для этого копируем в ячейку F2 формулу:

=НОРМ.СТ.РАСП(G2;ЛОЖЬ)

Копируем её до конца.

2.8. Проделываем шаги 1-2 для всех остальных металлов оставляя промежутки в 5 столбцов.

2.9. В промежутки копируем столбцы C-G. Так все рассчёты выше автоматически произведутся для каждого элемента.

2.10. Сортируем столбцы рассчётов для каждого элемента.

рис3

Шаг 3. Составляем сводную таблицу элементов по значениям xi.

3.1. Создаём дополнительную переменную Cj. Она представляет собой комплексный показатель согласованности элементов.

Для этого необходимо взять модуль каждой переменной (для каждой пробы), сложить и поделить на количество элементов. Таким образом, даже если происходил вынос одних элементов и привнос других мы получим высокое значение. А если проба характеризует фоновые процессы, то её значение будет на уровне 0.

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

image

Шаг 4. Строим карту ранговой дисперсии геохимического поля

Тут важно отметить, что поскольку мы перешли от эмпирического распределения к равномерному, а затем к нормальному. То количество аномальных точек всегда будет порядка 3%. То есть не стоит искать тут структуру. Эти карты показывают лишь самые-самые перспективные точки.

На карте выше, я бы отметил, что аномалии (цветные полигоны) концентрируются преимущественно в двух областях: южной и северной. Собственно геолого-геохимическая интерпретация покажет, что вероятно, часть точек относятся к ландшафтным аномалиям, и тем не менеее заслуживают внимания. А другая часть точек может служить основой для выбора участка детализации или даже бурения.

 

Дополнительно, в своей статье Григой Юрьевич рассматривает построение аналогичных карт по данным спектрального полуколичественного анализа и сопоставление результатов съемок разных лет. Но об этом в следующих раз.