Ценовой анализ автомобильных аукционов

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

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

Ggplot2 - это пакет визуализации данных в tidyverse, коллекции пакетов R для науки о данных.

В качестве примеров мы будем использовать набор данных об автомобилях, проданных на аукционах в США. Начнем с чтения набора данных.

> library(dplyr)
> library(ggplot2)
> auction <- read_csv("~/Downloads/datasets/auction_cars.csv")
> auction <- select(auction, price:color)
> auction <- filter(auction, mileage < 500000)

Dplyr - это пакет для обработки данных в коллекции tidyverse. Я выбрал только некоторые столбцы для простоты, используя функцию выбора dplyr. Я также отфильтровал выбросы на основе столбца пробега, исключив автомобили с пробегом более 500 тыс.

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

> ggplot(auction) + geom_point(mapping = aes(x=mileage, y=price, color=title_status))

Функция ggplot создает пустой график. Данные передаются в функцию ggplot. На втором этапе на график добавляется новый слой на основе заданных сопоставлений и типа графика. Функция geom_point создает диаграмму рассеяния. Столбцы для построения графика указываются в методе aes.

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

Вот сгенерированный сюжет.

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

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

> ggplot(auction) + geom_histogram(mapping = aes(x=price, color=title_status), bins=15, fill='white', position='dodge')

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

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

> brands <- filter(auction, brand %in% c("ford","bmw","jeep"))
> ggplot(brands) + geom_boxplot(mapping = aes(x=brand, y=price), fill='lightblue')

Сначала мы отфильтровали автомобили марок Ford, Bmw или Jeep. Затем столбцы марки и цены используются для построения коробчатой ​​диаграммы.

Bmw в целом дороже двух других марок. Цены на автомобили BMW также более разбросаны. Автомобили Jeep, кажется, сжаты в меньшем ценовом диапазоне. Точки над рамкой Ford представляют выбросы с очень высокими ценами по сравнению с большинством.

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

Например, мы можем создать гистограмму для автомобилей, выпущенных нами после 2010 года.

> ggplot(filter(auction, year > 2010)) + geom_bar(mapping = aes(x=year)) + scale_x_discrete(limits = c(2011:2020))

Вместо использования всего фрейма данных мы передали его отфильтрованную версию функции ggplot. Функция scale_x_discrete используется для настройки отметок на оси x.

В наборе данных преобладают автомобили 2019 года. Мы наблюдаем тенденцию к снижению количества автомобилей с возрастом.

Заключение

Мы рассмотрели некоторые из распространенных типов визуализации. Их можно применить к любому набору данных в табличной форме.

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

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

Спасибо за чтение. Пожалуйста, дайте мне знать, если у вас есть какие-либо отзывы.