Расчет недельных продаж с помощью DAX в LuckyTemplates
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
В сегодняшнем блоге мы рассмотрим процесс визуализации корреляции Python и способы импорта этих визуализаций в LuckyTemplates. Вы можете посмотреть полное видео этого урока в нижней части этого блога.
Оглавление
Понимание корреляций
Вот хорошее изображение, показывающее различные типы корреляций.
Начиная слева, у нас есть идеальная положительная корреляция , что означает, что значение корреляции равно 1. Затем за ней следуют положительные корреляции в порядке убывания, ведущие к 0.
Средний график показывает отсутствие корреляции , что предполагает значение корреляции, равное 0.
Наконец, в правой части представлены уменьшающиеся значения отрицательной корреляции от 0. Крайний правый график представляет собой идеальную отрицательную корреляцию со значением корреляции -1.
Пакеты для корреляции Python
Мы будем использовать четыре пакета для этого урока. Наш первый пакет — это Pandas , который будет использоваться для обработки данных и сохранен как переменная pd .
Для визуализации мы будем использовать Matplotlib , сохраненную как переменную plt для более удобного использования этих функций. Seaborn , наша библиотека статистической визуализации, будет сохранена как sns . И, наконец, Numpy , который будет сохранен как np , будет использоваться для линейной алгебры.
Для данных мы будем использовать образец набора данных в Seaborn. Затем, используя переменную sns, мы введем набор данных бриллиантов , как показано ниже. .
Атрибуты данных
Мы можем просмотреть атрибуты наших данных, используя функцию dataset.info . Эта функция показывает нам все различные типы данных, как показано в последнем столбце ниже.
Обратите внимание, что корреляция работает только с числовыми переменными, поэтому большую часть времени мы будем рассматривать числовые переменные. Однако мы также узнаем, как использовать некоторые категориальные переменные для визуализации.
Набор корреляционных данных Python
Используя функцию head, записанную как dataset.head , мы можем получить пять верхних строк наших данных, которые должны выглядеть так.
У нас есть карат в первом столбце, за которым следуют категориальные переменные огранки , цвета и чистоты , а затем числовые значения для остальных данных.
Корреляция Python: создание точечной диаграммы
При визуализации корреляций и рассмотрении двух переменных мы обычно смотрим на точечные диаграммы .
Таким образом, используя библиотеку Seaborn, мы создали нашу точечную диаграмму с помощью функции точечной диаграммы, в которую мы передали данные, которые мы сохранили выше, как data=dataset . Затем мы определили переменные X и Y — карат и цену соответственно.
Вот наш точечный график, сделанный с помощью библиотеки Seaborn.
Вы можете видеть, что этот график рассеяния довольно плотный. Это потому, что у нас есть около 54 000 строк данных, и точки не обязательно представлены наилучшим образом.
Мы можем нажать клавиши Shift + Tab, чтобы увидеть различные способы оформления точечной диаграммы. Он покажет нам список различных параметров, которые мы можем добавить к нашей точечной диаграмме.
Прокрутка вниз даст нам информацию о том, что делает каждый из перечисленных параметров.
Дополнительные параметры точечной диаграммы
Давайте немного погрузимся. Мы можем сделать ширину линии равной 0 , потому что белые линии на нашем первом точечном графике, показанном ниже, несколько скрывают вещи.
Мы также хотим настроить альфу, чтобы мы могли контролировать непрозрачность. Давайте использовать альфа = 0,2 для нашего примера. Но, конечно, вы также можете изменить это значение на 0,1.
Если мы добавим эти параметры и нажмем Run , вы увидите, что наш точечный график становится более непрозрачным без белых линий.
Вы можете поиграть с параметрами, чтобы получить наилучшее изображение, которое вы ищете.
Использование категориальных переменных
Мы также можем использовать некоторые из наших категориальных переменных для улучшения визуальных эффектов. Например, мы знаем, что в наших данных есть огранка для нашего бриллианта.
Что мы можем сделать, так это передать эту категорию разреза, используя параметр hue как hue='cut'. Это позволит нам визуализировать эти точки, изменив цвета.
Конечно, мы можем добавить дополнительные параметры, например, альфа-канал. Мы можем добавить это снова, установив значение 0,2, и посмотреть, как это изменит изображение. Давайте нажмем «Выполнить» , и вы увидите небольшую разницу.
Мы можем поиграть с параметрами, чтобы получить визуальный эффект, который мы ищем. Мы также можем использовать другие категории, такие как четкость, которая дает нам категории четкости, а также дает нам немного другое представление об этом разбросе.
Корреляция с другими переменными
Вас также может заинтересовать, как соотносятся другие ценности, кроме цены и карата. Итак, если мы посмотрим на точечную диаграмму для table , которая представляет собой числовое измерение этого ромба и depth , мы увидим, что нет прямой линейной зависимости.
Мы также можем посмотреть на две другие переменные, такие как глубина и цена . Судя по графику, мы видим, что центры обработки данных находятся вокруг средней области.
Корреляция Python: создание графика регрессии
Давайте перейдем к тому, что мы называем графиком регрессии, который позволяет нам оценить линейную связь между двумя переменными.
Поэтому вместо функции графика рассеяния на этот раз мы будем использовать функцию regplot . Мы будем передавать ту же структуру — наши данные, затем переменные X и Y.
Результат показывает линию, которая измеряет линейную зависимость между переменными. Также очевидно, как наши ценности вращаются вокруг этой линии регрессии.
На данный момент это не очень красивое изображение, но мы все еще можем оптимизировать его, чтобы получить лучшее изображение. Например, мы можем передать стиль, используя переменную Matplotlib. Мы можем изменить стиль на темный фон, используя код plt.style.use('dark_background').
Возьмите тот же график регрессии и передайте несколько ключевых слов для нашего разброса и линии. Давайте используем красный цвет и ширину линии 1 для нашей линии регрессии. Это записывается как line_kws={«цвет»: «красный», «ширина линии»: 1).
Для наших точечных ключевых слов давайте установим цвет как белый, цвет края как серый и непрозрачность как 0,4, чтобы записать как scatter_kws={"color" : "white", 'edgecolor' : 'grey', 'alpha' : 0.4 ).
Эти параметры дают нам немного другое представление, показанное ниже.
Корреляция Python: создание матрицы корреляции
До сих пор мы рассматривали точечные диаграммы только с двумя переменными, но мы также можем захотеть посмотреть на все наши корреляции переменных.
Это выполняется с использованием нашего набора данных с функцией фрейма данных, называемой корреляцией, представленной как dataset.corr. И мы получим матрицу, которая показывает нам корреляции по каждой из этих переменных.
Цифры в приведенной выше таблице представляют собой корреляцию Пирсона , которая фокусируется на линейной зависимости между всеми этими переменными.
Но если мы не уверены, что наши переменные полностью линейно коррелированы, мы можем использовать другой тип корреляции, который больше фокусируется на воздействии, чем на линейной части. Это называется корреляцией Спирмена .
И мы можем увидеть информацию обо всех этих вещах, нажав Shift + Tab. Если вы прокрутите вниз, мы увидим ранговую корреляцию Спирмена, коэффициент корреляции Пирсона и довольно много различных способов измерения наших данных.
Оглядываясь назад на нашу матрицу корреляции ранее, мы знаем, что цена и карат довольно хорошо коррелируют.
Они взяты из нашего графика, показывая, что они довольно линейны на уровне 0,92.
Теперь, если мы вместо этого используем корреляцию Спирмена, влияние или ранг будут немного выше — 0,96.
Эти различные типы корреляций позволяют нам подобрать различные атрибуты корреляции между этими переменными.
Множественная корреляция с одной переменной
Иногда мы не хотим видеть матрицу , потому что нас больше заботит корреляция всех переменных только с одной переменной (например, ценой).
Что мы можем сделать, так это изолировать цену, используя dataset.corr, за которым следует «цена» .
Теперь мы можем видеть, что цена коррелирует со всеми нашими различными числовыми переменными в этой таблице. И причина, по которой мы можем захотеть сделать это, заключается в визуальных сюжетах.
Итак, давайте посмотрим на визуализацию нашей корреляционной матрицы с помощью тепловой карты.
Корреляция Python: создание тепловой карты
Мы можем передать эту корреляционную переменную в тепловую карту Seaborn, используя функцию sns.heatmap.
Это даст нам тепловую карту, которая выглядит так.
Опять же, мы можем добавить параметры по своему усмотрению. Мы можем передать параметр linewidths=1 и добавить аннотации, используя annot=True .
И вы можете видеть, что наша тепловая карта теперь выглядит совсем по-другому. Сейчас у нас есть довольно хорошая тепловая карта.
Мы видим полезность добавления строк и аннотаций. Опять же, если мы нажмем Shift + Tab, появятся все различные параметры, которые могут войти в это.
Затем попробуйте добавить в наш код method='spearman ', чтобы вы знали, как использовать другой тип корреляции в зависимости от вашего варианта использования.
Тепловая карта с одной переменной
Затем мы изолируем одну переменную и создаем тепловую карту с корреляцией, идущей от отрицательной к положительной.
Это даст нам эту тепловую карту ниже.
Мы определенно можем изменить стиль. Например, мы можем использовать параметр cmap как cmap='coolwarm' . Это изменит цвета на холодные и теплые, а также устранит черный фон.
Если мы нажмем Run , мы получим эту тепловую карту ниже. Для прохлады у нас есть синие полосы, а для тепла — красные полосы.
Мы также можем изменить направление, чтобы совместить нашу карту с цветовой полосой. Это делается путем редактирования нашего параметра sort_values и добавления восходящего=False .
Это будет идти от наиболее коррелированного (красная полоса) к наименее коррелированному (синяя полоса).
Корреляция Python: создание визуальной лестницы
Один из продвинутых способов визуализировать нашу корреляцию — использовать маску, чтобы заблокировать все корреляции, которые мы уже сделали.
Мы можем сделать это с помощью Numpy, используя некоторые функции TRUE и FALSE, чтобы сделать лестницу визуальной для наших корреляций.
Вот как должны выглядеть результаты.
Давайте посмотрим, как мы можем передать это в LuckyTemplates.
Визуальный элемент лестницы в LuckyTemplates
Сначала откройте LuckyTemplates. Я принес набор данных об авокадо, чтобы мы могли увидеть другое изображение. Вы можете увидеть этот набор данных на панели «Поля». Инициализируйте визуализацию Python , щелкнув значок Python на панели визуализаций.
Нам нужно создать набор данных, добавив все числовые переменные, указанные с помощью ? . Добавьте их, установив флажки рядом с этими переменными.
Теперь, когда у нас есть набор данных, мы можем перейти к нашему блокноту Jupyter и скопировать этот код, который у нас был ранее.
Затем мы скопируем код в редактор сценариев Python в LuckyTemplates.
Далее мы выберем наш визуал, которым будет визуал лестницы. Мы вернемся к Jupyter, скопируем код, который мы использовали для нашей лестницы.
Вставьте код в редактор скриптов Python.
Последнее, что нужно сделать, это убедиться, что мы используем plt.show , который требуется в вашем скрипте Python. Добавьте plt.show в последнюю строку кода и щелкните значок запуска в правом верхнем углу редактора скриптов.
Для большего визуального эффекта немного растяните поле, чтобы мы могли видеть скрипт, работающий в углу. У нас есть изображение для нашей тепловой карты, которое выглядит довольно красиво.
А в LuckyTemplates мы определенно можем увидеть, как этот визуальный элемент может меняться в зависимости от набора данных. Например, мы можем щелкнуть значок слайсера на панели визуализаций и перейти к типу на панели полей.
Это даст нам два типа в нашем наборе данных: обычный и органический . Если мы щелкнем один тип, скажем, органический , вы увидите, что тепловая карта меняется.
Изменения также вступят в силу, когда мы нажмем следующий обычный тип.
Помните, что нам нужна категориальная переменная в наборе данных нашего скрипта Python , чтобы эти фильтры работали. Как мы видим, созданный нами набор данных включает type , что позволяет нам фильтровать визуальный элемент таким образом.
Построение взаимосвязей модели данных в
анализе текста LuckyTemplates в Python | Введение.
Сценарии Python в отчетах о данных LuckyTemplates.
Заключение
В этом блоге вы узнали, как визуализировать корреляции в Python и LuckyTemplates с помощью различных методов, таких как корреляция Пирсона и ранговая корреляция Спирмена.
Теперь вы можете создавать диаграммы рассеивания, графики регрессии, корреляционную матрицу, тепловые карты и визуальные лестницы, чтобы получить наилучшее визуальное представление для вашего набора данных. Вы также можете использовать различные параметры для улучшения стилей и визуальных эффектов.
Всего наилучшего,
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
Что такое self в Python: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.