MOLUSCE - анализ изменений ландшафтного покрова: различия между версиями

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
мНет описания правки
 
(не показано 20 промежуточных версий 4 участников)
Строка 1: Строка 1:
{{Статья|Опубликована|molusce-intro-ru}}
{{NextGIS}}
{{NextGIS}}
Разработано NextGIS по заказу и в сотрудничестве с Asia Air Survey, Япония.
Разработано NextGIS по заказу и в сотрудничестве с [http://www.asiaairsurvey.com/ Asia Air Survey], Япония.


= Модуль анализа изменения ландшафтного покрова (MOLUSCE) =
= Модуль анализа изменения ландшафтного покрова (MOLUSCE) =
MOLUSCE, акроним от Modules for Land Use Change Simulations, представляет собой расширение (plug-in) для геоинформационной системы QGIS, предназначенное для анализа динамики состояния территорий.
MOLUSCE, акроним от Modules for Land Use Change Simulations, представляет собой расширение (plug-in) для геоинформационной системы QGIS, предназначенное для анализа динамики состояния территорий.
== Замечания по установке ==
Расширение доступно из [http://plugins.qgis.org/plugins/plugins.xml официального репозитория].
MOLUSCE разработан для QGIS версии 2.0.0 и старше. Для работы требует установленного пакета scipy. В случае, если пакет scipy отсутствует в системе, работа с модулем возможна, но построение моделей на базе логистической регрессии будет недоступно.


Расширение доступно для установки из менеджера плагинов QGIS или со [http://plugins.qgis.org/plugins/molusce/ страницы расширения на plugins.qgis.org].
Расширение доступно для установки из менеджера плагинов QGIS или со [http://plugins.qgis.org/plugins/molusce/ страницы расширения на plugins.qgis.org].


== Общая характеристика расширения ==
Исходный код модуля можно получить через [https://github.com/nextgis/molusce репозиторий на GitHub] или выполнив команду
 
<pre>git clone git@github.com:nextgis/molusce.git</pre>
 
== Задача ==
Предположим, что имеется серия карт/дешифрированных снимков/... за различные периоды времени, на которых отображено текущее состояние территории. Исследователь, анализирующий динамику состояния территории, сталкивается со следующими вопросами:
Предположим, что имеется серия карт/дешифрированных снимков/... за различные периоды времени, на которых отображено текущее состояние территории. Исследователь, анализирующий динамику состояния территории, сталкивается со следующими вопросами:
* ''Какие'' изменения произошли и ''где'' они произошли?
* ''Какие'' изменения произошли и ''где'' они произошли?
Строка 17: Строка 28:


== Упрощенная схема работы расширения ==
== Упрощенная схема работы расширения ==
На рисунке представлена упрощенная схема работы расширения.
На рисунке представлена упрощенная схема работы расширения.
<gallery>
 
Файл:ModelWorkflows.png | Упрощенная схема работы расширения
[[Файл:ModelWorkflows.png|700px|Упрощенная схема работы расширения]]
</gallery>


В качестве входных данных расширению требутся:
В качестве входных данных расширению требутся:
Строка 35: Строка 46:
# Оценка качества модели/прогноза.
# Оценка качества модели/прогноза.


Данная схема является обобщенной. Например, некоторые методы моделирования (нейронные сети, логистическая регрессия) объединяют пункты 2-4 в один этап, другие же методы (метод Саати, метод значимости признака), наоборот, требуют выделения их в отдельные этапы.
Данная схема является обобщенной. Например, некоторые методы моделирования (нейронные сети, логистическая регрессия) объединяют пункты 2-4 в один этап, другие же методы (метод многокритериальной оценки, метод значимости признака), наоборот, требуют выделения их в отдельные этапы.


Ниже приводится описание каждого из этапов.
Ниже приводится описание каждого из этапов.
Строка 47: Строка 58:


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


В расширении заложена возможность использования следующих моделей:
В расширении заложена возможность использования следующих моделей:
* Нейронные сети (многослойный перцептрон).
* Нейронные сети ([http://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%BE%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D0%BE%D0%B3%D0%BE_%D1%80%D0%B0%D1%81%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8 многослойный перцептрон, обучающийся методом обратного распространения ошибки]).
* Логистическая регрессия.
* [http://ru.wikipedia.org/wiki/%D0%9B%D0%BE%D0%B3%D0%B8%D1%81%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%80%D0%B5%D0%B3%D1%80%D0%B5%D1%81%D1%81%D0%B8%D1%8F Логистическая регрессия].
* Метод весомости признака (wight of evidence).
* Метод весомости признака ([http://www.ige.unicamp.br/wofe/documentation/wofeintr.htm Weights of Evidence]).
* Метод иерархий Саати.
* Метод многокритериальной оценки, основанный на методе [http://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0_%D0%B8%D0%B5%D1%80%D0%B0%D1%80%D1%85%D0%B8%D0%B9 анализа иерархий Саати].
Все методы широко известны и активно используются в ГИС, поэтому ссылки даются в основном на энциклопедические источники.


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


=== Ввод начальных данных ===
=== Ввод начальных данных ===
<gallery>
[[Файл:molusce-Inputs.png|700px|center|Окно ввода начальных данных]]
Файл:molusce-Inputs.png|Окно ввода начальных данных.
</gallery>
При загрузке расширения открывается окно, в котором пользователь должен ввести информацию о том, какой растровый слой в каком качестве должен использоватся. Пользователь указывает карты начальных и конечных состояний, карты факторов.
При загрузке расширения открывается окно, в котором пользователь должен ввести информацию о том, какой растровый слой в каком качестве должен использоватся. Пользователь указывает карты начальных и конечных состояний, карты факторов.


Строка 85: Строка 95:


=== Оценка корреляционной зависимости ===
=== Оценка корреляционной зависимости ===
<gallery>
[[Файл:molusce-Correlation.png|700px|center|Окно проверки корреляционных зависимостей входных данных]]
Файл:molusce-Correlation.png| Окно проверки корреляционных зависимостей входных данных.
</gallery>
Некоторые методы (например, логистическая регрессия и метод значимости признака) очень чувствительны к взаимной зависимости входных данных. Для того, чтобы оценить зависимость входных переменных пользователю предоставляется возможность рассчитать силу связей между ними. Для непрерывных величин пользователь может рассчитать коэффициент корреляции, а для номинальных -- коэффициент Крамера или коэффициент JIU  (joint information uncertainty).
Некоторые методы (например, логистическая регрессия и метод значимости признака) очень чувствительны к взаимной зависимости входных данных. Для того, чтобы оценить зависимость входных переменных пользователю предоставляется возможность рассчитать силу связей между ними. Для непрерывных величин пользователь может рассчитать коэффициент корреляции, а для номинальных -- коэффициент Крамера или коэффициент JIU  (joint information uncertainty).


=== Построение карты изменений ===
=== Построение карты изменений ===
<gallery>
[[Файл:molusce-Changes.png|700px|center|Окно построения карты изменений]]
Файл:molusce-Changes.png| Окно построения карты изменений.
</gallery>
Для построения карты изменений отведена отдельная вкладка. При нажатии на кнопку создания карты изменений, она будет рассчитана и загружена в текущий проект. Каждый тип изменения на карте будет помечен определенным цветом.
Для построения карты изменений отведена отдельная вкладка. При нажатии на кнопку создания карты изменений, она будет рассчитана и загружена в текущий проект. Каждый тип изменения на карте будет помечен определенным цветом.


Строка 99: Строка 105:


=== Настройка модели ===
=== Настройка модели ===
<gallery>
[[Файл:molusce-ANN.png|700px|center|Окно моделирования (обучение нейронной сети)]]
Файл:molusce-ANN.png|Окно моделирования (обучение нейронной сети).
</gallery>


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


=== Прогнозирование ===
=== Прогнозирование ===
<gallery>
[[Файл:molusce-Simulation.png|700px|center|Окно построения карты прогноза]]
Файл:molusce-Simulation.png|Окно построения карты прогноза.
 
</gallery>
После обучения модели пользователь может применить для построения прогноза. Для этого полученная модель применяется к карте конечных состояний, в результате получается прогноз на один период вперед. При желании пользователь может указать количество периодов прогноза в строке ввода количества итераций, в этом случае будет произведено последовательное прогнозирование.
После обучения модели пользователь может применить для построения прогноза.  


Основным выходным значением является карта-результат прогноза, но помимо нее на этапе прогнозирования расширение формирует несколько вспомогательных карт, которые также могут быть сохранены на диске:
Основным выходным значением является карта-результат прогноза, но помимо нее на этапе прогнозирования расширение формирует несколько вспомогательных карт, которые также могут быть сохранены на диске:
Строка 115: Строка 118:
* Карты потенциалов. Для каждого возможного типа трансформации (например лес->застройка) строится карта потенциалов: чем больше потенциал для данного участка, тем более значимо воздействуют факторы на возможность появления данного типа транформации.
* Карты потенциалов. Для каждого возможного типа трансформации (например лес->застройка) строится карта потенциалов: чем больше потенциал для данного участка, тем более значимо воздействуют факторы на возможность появления данного типа транформации.
* Карта уверенности в прогнозе, которая измеряется в процентах: 100 = полная уверенность, другие альтернативы прогноза незначимы, 0 = полная неуверенность, есть по крайней мере еще одна альтернатива с такой же вероятностью реализации.
* Карта уверенности в прогнозе, которая измеряется в процентах: 100 = полная уверенность, другие альтернативы прогноза незначимы, 0 = полная неуверенность, есть по крайней мере еще одна альтернатива с такой же вероятностью реализации.
* Суммарная карта потенциальных переходов. Строится на основе карт потенциалов следующим образом: просматривается каждый пиксель и маркируется тем состоянием, переход в которое наиболее вероятен. Отличается от карты-прогноза тем, что для карты-прогноза производится трансформация только определенного числа пикселей, определяемого таблицей переходов.
* Суммарная карта потенциальных переходов. Строится на основе карт потенциалов следующим образом: просматривается каждый пиксель и маркируется тем состоянием, переход в которое наиболее вероятен. Отличается от карты-прогноза тем, что для карты-прогноза производится трансформация не всех, а только определенного числа пикселей, определяемого статистики изменений (см. вкладку построения карты изменений).


=== Валидация ===
=== Валидация ===
<gallery>
[[Файл:molusce-Validation.png|700px|center|Оценка качества прогноза]]
Файл:molusce-Validation.png|Оценка качества прогноза.
 
</gallery>
После получения прогноза пользователь получает возможность оценить его качество на основе различных оценок сходства между прогнозом и истинным состоянием территории.
 
== Ссылки ==
* [http://plugins.qgis.org/plugins/molusce/ Страница расширения на plugins.qgis.org]
* [http://wiki.gis-lab.info/w/Molusce Описание расширения, содержащее информацию об устройстве расширения (англ.)]

Текущая версия от 09:09, 5 сентября 2015

Эта страница опубликована в основном списке статей сайта
по адресу http://gis-lab.info/qa/molusce-intro-ru.html


Создано в Nextgis.png Веб ГИС для вашей организации по доступной цене

Разработано NextGIS по заказу и в сотрудничестве с Asia Air Survey, Япония.

Модуль анализа изменения ландшафтного покрова (MOLUSCE)

MOLUSCE, акроним от Modules for Land Use Change Simulations, представляет собой расширение (plug-in) для геоинформационной системы QGIS, предназначенное для анализа динамики состояния территорий.

Замечания по установке

Расширение доступно из официального репозитория.

MOLUSCE разработан для QGIS версии 2.0.0 и старше. Для работы требует установленного пакета scipy. В случае, если пакет scipy отсутствует в системе, работа с модулем возможна, но построение моделей на базе логистической регрессии будет недоступно.

Расширение доступно для установки из менеджера плагинов QGIS или со страницы расширения на plugins.qgis.org.

Исходный код модуля можно получить через репозиторий на GitHub или выполнив команду

git clone git@github.com:nextgis/molusce.git

Задача

Предположим, что имеется серия карт/дешифрированных снимков/... за различные периоды времени, на которых отображено текущее состояние территории. Исследователь, анализирующий динамику состояния территории, сталкивается со следующими вопросами:

  • Какие изменения произошли и где они произошли?
  • Какие факторы связаны с изменениями и как сильно они связаны?
  • Какие изменения ожидаются в будущем и где именно?

Если ответ на первый вопрос можно получить путем визуальной оценки карт, но для ответа на последующие вопросы исследователь должен выдвигать те или иные гипотезы, проверять их адекватность, выводить следствия из гипотез и смотреть, насколько они согласуются с действительностью.

MOLUSCE представляет собой собой расширение, предназначенное для частичной автоматизации данного процесса.

Упрощенная схема работы расширения

На рисунке представлена упрощенная схема работы расширения.

Упрощенная схема работы расширения

В качестве входных данных расширению требутся:

  • Карты начальных и конечных состояний территории. Это растровые изображения, в пикселях которых закодированы номера состояний территории (например, 1=лес, 2=поле, 3=городская застройка и т.п.). Расширению требуется как минимум две такие карты -- одна для исходного состояния (Начальная_дата), вторая для конечного состояния (Начальная_дата+N). Однако, для оценки качества построенной модели прогноза рекомендуется использование еще третьей карты (Начальная_дата + 2N), с которой будет сравниваться прогнозное значение. Здесь число N -- глубина прогноза, которая измеряется в зависимости от задачи в днях, неделях, месяцах, годах и т.д.
  • Карты факторов, влияющих на изменение территории. Исследователь строит гипотезы о том, какие факторы могли повлиять на наблюдаемые изменения, и предоставляет расширению карты интенсивностей данных факторов. Например, если исследователь работает над проблемой изчезновения лесов, такими факторами могут быть: карта почв (каждый тип почвы закодирован своим числом), карта расстояний от дорог (пиксели карты содержат число -- кратчайшее расстояние от точки, связанной с данным пикселем, до дороги), карта плотности населения и т.п.

Процесс анализа происходит в несколько этапов:

  1. Поиск изменений.
  2. Построение модели для оценки вклада отдельных факторов на вероятность появления изменений.
  3. Построение карты значимости вклада фактора.
  4. Построение интегральной карты вклада всех факторов.
  5. Прогноз.
  6. Оценка качества модели/прогноза.

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

Ниже приводится описание каждого из этапов.

Поиск изменений

На данном этапе используются карты начальных и конечных состояний, на основе которых производится поиск мест, в которых произошли изменения и количественная оценка размера территорий, подвегнувшихся изменениям.

Выходными значениями данного этапа будут:

  • Карта изменений.
  • Матрица переходов: матрица вероятностей того, что взятый наугдад пиксель будет подвергнут тому или иному изменению (отдельно по каждому типу изменений, например, лес->поле, поле->городская застройка, поле->лес и т.п.).

Построение модели для оценки вклада отдельных факторов на вероятность появления изменений

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

В расширении заложена возможность использования следующих моделей:

Все методы широко известны и активно используются в ГИС, поэтому ссылки даются в основном на энциклопедические источники.

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

Построение карты влияния фактора

Входными данными для этого шага являются веса и карты интенсивности факторов. Выходным значением будет карта влияния факторов.

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

Построение интегральной карты вкладов

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

Прогноз

Входными данными являются интегральная карта и вероятности переходов, а выходным параметром является карта-прогноз изменений.

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

Оценка качества модели/прогноза

Последний этап состоит в сравнении карты-прогноза с известной картой состояния территории. Пользователь может рассчитать различные каппа-статистики, расчитать карту ошибок а также визуализировать график, основанный на методе Error Budget.

Интерфейс пользователя

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

Ввод начальных данных

Окно ввода начальных данных

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

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

Оценка корреляционной зависимости

Окно проверки корреляционных зависимостей входных данных

Некоторые методы (например, логистическая регрессия и метод значимости признака) очень чувствительны к взаимной зависимости входных данных. Для того, чтобы оценить зависимость входных переменных пользователю предоставляется возможность рассчитать силу связей между ними. Для непрерывных величин пользователь может рассчитать коэффициент корреляции, а для номинальных -- коэффициент Крамера или коэффициент JIU (joint information uncertainty).

Построение карты изменений

Окно построения карты изменений

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

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

Настройка модели

Окно моделирования (обучение нейронной сети)

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

Прогнозирование

Окно построения карты прогноза

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

Основным выходным значением является карта-результат прогноза, но помимо нее на этапе прогнозирования расширение формирует несколько вспомогательных карт, которые также могут быть сохранены на диске:

  • Карты потенциалов. Для каждого возможного типа трансформации (например лес->застройка) строится карта потенциалов: чем больше потенциал для данного участка, тем более значимо воздействуют факторы на возможность появления данного типа транформации.
  • Карта уверенности в прогнозе, которая измеряется в процентах: 100 = полная уверенность, другие альтернативы прогноза незначимы, 0 = полная неуверенность, есть по крайней мере еще одна альтернатива с такой же вероятностью реализации.
  • Суммарная карта потенциальных переходов. Строится на основе карт потенциалов следующим образом: просматривается каждый пиксель и маркируется тем состоянием, переход в которое наиболее вероятен. Отличается от карты-прогноза тем, что для карты-прогноза производится трансформация не всех, а только определенного числа пикселей, определяемого статистики изменений (см. вкладку построения карты изменений).

Валидация

Оценка качества прогноза

После получения прогноза пользователь получает возможность оценить его качество на основе различных оценок сходства между прогнозом и истинным состоянием территории.

Ссылки