Транспонирование (Transpose) Скачать в PDF
Разделы: Алгоритмы
Loginom: Куб (визуализатор), Свертка столбцов (обработчик), Кросс-таблица (обработчик)
Транспонирование — в линейной алгебре это операция над матрицами в результате которой матрица поворачивается относительно своей главной диагонали. При этом столбцы исходной матрицы становятся строками результирующей.
Операция транспонирования обозначается символом «T», указываемом после обозначения матрицы в верхнем регистре, например .
Очевидно, что если исходная матрица имела размер , то транспонированная матрица будет размером . Матрица-строка в результате транспонирования преобразуется в матрицу-столбец и наоборот. Несложно увидеть, что . Например
Таким образом, для получения транспонированной матрицы достаточно каждую строку исходной матрицы записать в виде столбца результирующей, соблюдая порядок следования элементов. Впервые, операция транспонирования была введена британским математиком Артуром Кейли в 1858 году.
В линейной алгебре операция транспонирование является промежуточным действием, которое делает удобнее выполнение более сложных матричных преобразования, обладающие собственной логикой.
В анализе данных операция транспонирования применяется к таблицам с данными, в результате чего столбцы таблицы становятся строками, а строки — столбцами. Такое преобразование обычно преследует две цели:
- сделать более удобным визуальный анализ таблиц. Если текущее представление таблицы не соответствует логике анализа, то, возможно, транспонирование поможет улучшить это соответствие.
- преобразовать набор данных для дальнейшего анализа. Обучающие наборы данных и статистические выборки, использующиеся для построения аналитических моделей (нейронных сетей, деревьев решений, регрессии и т.д.), в столбцах содержат переменные, а в строках — наблюдения. Поэтому если из источниках данных таблица поступает «в перевернутом» виде, то для нее необходимо использовать трансформацию в виде транспонирования.
Например, исходная таблица может иметь вид:
Дата | Товар | Кол-во продаж |
---|---|---|
05.02.2019 | Обои | 75 |
05.02.2019 | Затирка | 54 |
07.02.2019 | Обои | 21 |
09.02.2019 | Герметик | 35 |
Тогда результатом транспонирования будет таблица вида:
Дата | Обои | Затирка | Герметик |
---|---|---|---|
05.02.2019 | 75 | ||
05.02.2019 | 54 | ||
07.02.2019 | 21 | ||
09.02.2019 | 35 |
Несложно увидеть, что результат транспонирования для таблиц несколько отличается от результатов транспонирования матрицы. Это связано с тем, что между таблицей данных и матрицей в алгебре строгое соответствие вообще говоря, отсутствует: таблица, в отличие от матрицы, не математический объект, а средство визуализации.
Поэтому для таблицы результаты транспонирования можно определить так: данные, изначально отображавшиеся в столбцах, будут отображаться в строках, и наоборот. При этом столбцы, где содержатся, скажем, идентификаторы записей или даты, вообще могут не менять своего положения (что в случае транспонирования в алгебре совершенно некорректно).
Кроме этого транспонирование является одной из операций, используемых в оперативной аналитической обработке данных для настройки наиболее удобного представления в OLAP-кубах.