Создание файлов сигнатур, классов и кластерного анализа

Доступно с лицензией Spatial Analyst.

С помощью дополнительного модуля ArcGIS Spatial Analyst extension вы можете создать классификацию, группируя ячейки растра в классы или кластеры. Класс обычно является известной категорией, например, лесов, жилых районов или водных массивов, в то время, как кластеры – это группа ячеек на основе статистики их атрибутов. Сигнатура – это поднабор ячеек, которые являются представлением класса или кластера. Статистика сигнатур хранится в файле сигнатур, который будет использоваться для классификации всех ячеек в пересечении входных каналов.

Что такое класс?

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

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

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

Определение классов для классификации с обучением

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

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

Создание кластеров в классификации без обучения

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

Инструмент выводит файл сигнатур, содержащий многомерную статистику для поднабора ячеек для идентифицированных кластеров. Результирующие вычисления определяет, какие ячейки принадлежат какому кластеру, среднее значение для кластера и ковариационную матрицу. Эта информация хранится в ASCII-файле сигнатур. Файл сигнатур необходим при кластеризации и классификации оставшихся ячеек (не опорных).

Хранение статистики классов или кластеров: файл сигнатур

Файл сигнатур – это ASCII-файл, в котором хранится многомерная статистика для всех исследуемых классов. Файл включает среднее для каждого класса или кластера, количество ячеек в классе или кластере и ковариационную матрицу для класса или кластера.

Файл сигнатур можно отобразить любым текстовым редактором.

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

Как определяются кластеры для классификации без обучения

Имя алгоритма, используемого для создания кластеров в классификации без обучения, – Изокластер (Iso Cluster). Префикс ИЗО (ISO), используемый в названии алгоритма классификации 'изодата', – поддерживает метод итеративной самоорганизации, метод выполнения кластеризации. Кластеры вычисляются с помощью поднабора ячеек в исследуемой области. Все кластерные расчеты выполняются на значениях ячеек в многомерном атрибутивном пространстве и не основаны на каких-либо пространственных характеристиках. Т.е. среднее значение получается из значений атрибутов для разных входных каналов. Значения дисперсии и ковариации вычисляются из разницы в каналах и между ними.

В следующем примере используется подход K-среднее или ISO-кластеризация. Двухканальный растр будет использоваться для теоретического обоснования. Те же методы работают для всех введенных растров или в n-мерном пространстве. Следующее обсуждение является концептуальным для обеспечения лучшего понимания подхода ИЗО-кластеризации.

  • Создается пустая диаграмма с диапазоном значений в первом канале, из которого построен график на оси x, и диапазоном значений во втором канале, из которого построен график на оси y.
  • Линия в 45 градусов прорисовывается и делится на заданное вами число классов. Центральной точкой каждого из этих линейных сегментов является начальное среднее значение для классов.

Определяются средние значения для классов
Определяются средние значения для классов.

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

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

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

Расстояние вычисляется для всех опорных точек.
Расстояние вычисляется для всех опорных точек.

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

Вычисляются новые средние центральные точки для каждого класса.
Вычисляются новые средние центральные точки для каждого класса.

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

Кластеризация чувствительна к диапазону значений каждого канала. Этот диапазон значений определяет значения но осях x и y, от которых вычисляются Евклидовы расстояния между средними и опорными точками. Чтобы атрибуты всех каналов считались равными, должен быть один диапазон значений для всех каналов, независимо от того, выполняется ли классификация с обучением или без. Если диапазон значений одного канала мал относительно других каналов, Евклидово расстояние в многомерном пространстве может быть таким маленьким, что это может привести к тому, что кластеры будут иметь нулевую среднюю точку. Если какой-либо кластер имеет нулевую среднюю точку, может не работать финальная классификация и другие инструменты многомерности, которые зависят от файла сигнатур. В идеале, все каналы должны быть нормализованы до одного диапазона значений.

Связанные разделы