Уменьшение измерений (Пространственная статистика)

Сводка

Уменьшает количество измерений набора непрерывных переменных за счет агрегирования максимально возможной дисперсии в меньшее количество компонентов с помощью Анализа по методу главных компонент (PCA) или Линейного дискриминантного анализа с пониженным рангом (LDA). Переменные указываются как поля во входной таблице или векторном слое, а новые поля, представляющие новые переменные, сохраняются в выходной таблице или классе пространственных объектов. Количество новых полей будет меньше, чем количество исходных переменных, при этом сохранится максимально возможное отклонение от всех исходных переменных.

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

Более подробно о том, как работает инструмент Уменьшение измерений

Иллюстрация

Иллюстрация инструмента Уменьшение измерений
Восемь переменных сводятся к трем компонентам.

Использование

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

  • Есть два варианта параметра Метода Уменьшения измерений:

    • Анализ по методу главных компонент (PCA) – этот метод последовательно строит компоненты, каждый из которых фиксирует максимально возможную общую дисперсию и корреляции между исходными переменными. Параметр Масштабировать данные можно использовать, чтобы поместить каждую исходную переменную в один и тот же масштаб, чтобы каждой переменной было придано одинаковое значение в основных компонентах. Если данные не масштабируются, переменные с большими значениями будут составлять большую часть общей дисперсии и будут чрезмерно представлены в первых нескольких компонентах. Этот метод рекомендуется, если вы собираетесь выполнить анализ или метод машинного обучения, в котором компоненты используются для прогнозирования значения непрерывной переменной.
    • Линейный дискриминантный анализ с пониженным рангом (LDA) – этот метод создает компоненты, которые максимизируют разделимость переменных анализа и различных уровней категориальной переменной, предоставленной в параметре Категориальное поле. Компоненты будут поддерживать максимально возможное различие между категориями, чтобы итоговые компоненты были наиболее эффективными при классификации каждой записи в одну из категорий. Этот метод автоматически масштабирует данные и рекомендуется в том случае, если вы собираетесь выполнить анализ или метод машинного обучения, в котором компоненты используются для классификации категории категориальной переменной.

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

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

    • Если один параметр указан, а другой нет, значение указанного параметра определяет количество компонентов. Количество компонентов будет равно наименьшему количеству, необходимому для удовлетворения указанного минимума.
    • Если указаны оба параметра, используется большее из двух результирующих чисел компонентов.
    • Если ни один параметр не указан, количество компонентов определяется с использованием нескольких статистических методов, и инструмент будет использовать наибольшее количество компонентов, рекомендованное каждым из методов. Для обоих методов уменьшения измерений используются Сегментированная регрессия и Критерий Бартлетта. Для PCA проверка перестановки также выполняется, если значение параметра Число перестановок больше нуля.

    Информация о результатах каждого теста отображается в виде сообщений геообработки.

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

  • Если таблица создается параметром Выходная таблица собственных векторов, в выходной таблице создается гистограмма для визуализации каждого из собственных векторов.

  • Для получения дополнительной информации о PCA и LDA см. следующую ссылку:

    • James, G., Witten, D., Hastie, T., Tibshirani, R. (2014). "An Introduction to Statistical Learning: with Applications in R." Springer Publishing Company, Incorporated. https://doi.org/10.1007/978-1-4614-7138-7

    Дополнительную информацию о методах определения количества компонентов см. следующую ссылку:

    • Peres-Neto, P., Jackson, D., Somers, K. (2005). "How many principal components? Stopping rules for determining the number of non-trivial axes revisited." Computational Statistics & Data Analysis. 49.4: 974-997. https://doi.org/10.1016/j.csda.2004.06.015.

Синтаксис

arcpy.stats.DimensionReduction(in_table, output_data, fields, {method}, {scale}, {categorical_field}, {min_variance}, {min_components}, {append_fields}, {output_eigenvalues_table}, {output_eigenvectors_table}, {number_of_permutations})
ParameterОбъяснениеТип данных
in_table

Таблица или объекты, содержащие поля с измерением, которое будет уменьшено.

Table View
output_data

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

Table
fields
[fields,...]

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

Field
method
(Дополнительный)

Задает метод, который будет использоваться для уменьшения измерений полей анализа.

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

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

  • SCALE_DATAЗначения каждого поля анализа будут масштабированы, чтобы иметь дисперсию, равную единице. Это значение по умолчанию
  • NO_SCALE_DATAЗначения каждого поля анализа будут сдвинуты, чтобы получить нулевое среднее значение, но дисперсия не будет масштабирована.
Boolean
categorical_field
(Дополнительный)

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

Field
min_variance
(Дополнительный)

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

Long
min_components
(Дополнительный)

Минимальное количество компонентов.

Long
append_fields
(Дополнительный)

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

  • APPENDОтмечено – все поля из входной таблицы или объектов будут добавлены к выходным данным.
  • NO_APPENDВ выход будут включены только поля анализа. Это значение по умолчанию
Boolean
output_eigenvalues_table
(Дополнительный)

Выходная таблица, содержащая собственные значения каждого компонента.

Table
output_eigenvectors_table
(Дополнительный)

Выходная таблица, содержащая собственные векторы каждого компонента.

Table
number_of_permutations
(Дополнительный)

Задает количество перестановок, используемых при определении оптимального количества компонентов. Значение по умолчанию – 0, что означает, что проверка перестановки выполняться не будет. Предоставленное значение должно быть равно 0, 99, 199, 499 или 999. Если предоставлено любое другое значение, будет использоваться 0, и проверка перестановки не будет выполняться.

Long

Пример кода

DimensionReduction, пример 1 (окно Python)

В следующем скрипте Python показано, как использовать инструмент DimensionReduction.

arcpy.stats.DimensionReduction("DemographicData", 
           "DemographicData_DimensionReduction", 
           "age_group_1;age_group2;age_group_3;age_group_4;age_group_5", 
           "PCA", "NO_SCALE_DATA", None, None, 3, 
           "NO_APPEND", "EigenValueTable", None, 99)
DimensionReduction, пример 2 (автономный скрипт)

Следующий автономный скрипт Python демонстрирует, как использовать инструмент DimensionReduction для прогнозирования численности населения:

# Import system modules 
import arcpy
# Overwrite existing output, by default
arcpy.env.overwriteOutput = True
# Local variables...
arcpy.env.workspace = r"c:\projects\dimensionreduction.gdb"
# Reduce the fields of population by age group using Reduced-Rank LDA method; 
# use "State" as the categorical field; choose the eigenvector output. 
arcpy.stats.DimensionReduction("DemographicData", 
           "DemographicData_DimensionReduction", 
           "age_group_1;age_group2;age_group_3;age_group_4;age_group_5", 
           "LDA", "SCALE_DATA", "State", None, None, 
           "APPEND", None, "EigenVectorTable", 0)

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

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