ОПИСАНИЕ:
Я выбрала для анализа финансовые данные одного главного аукционного дома: Sotheby Для данного проекта я использовала базу данных с сайта Kaggle.com, который включает список художников, цены и времена покупки и продажи картин. https://www.kaggle.com/datasets/amaboh/masterworks-top-10-1m-artists-20182022
тема моей работы — анализ рынка искусства на основе датасета с информацией о покупках и продажах произведений. Целью моего проекта было выявить основные закономерности в ценообразовании, определить факторы, влияющие на стоимость произведений искусства, и, в конечном итоге, построить модель, прогнозирующую цену продажи на основе цены покупки.На протяжении долгого исторического периода искусство всегда находится рядом с человеком, и я решила изучить, насколько же эта связь близка.
ЭТАПЫ РАБОТЫ:
- Загрузка данных из файла CSV.
- Выбор интересующих столбцов.
- Преобразование значений столбцов в числовой формат.
- Очистка данных от некорректных записей.
- Агрегация данных.
- Обработка выбросов.
- Статистический анализ.
- Корреляционный анализ.
- Построение предиктивной модели.
- Визуализация на каждом этапе работы.
Первым шагом было загрузить данные, представленные в виде нескольких CSV-файлов, хранящихся в папке ‘artworks’(файл с данными прикреплен во вложении).
Для этого я использовала библиотеки pandas, numpy, os и glob. С помощью glob я нашел все CSV-файлы в указанной папке. Затем, используя цикл, я прочитала каждый файл в отдельный DataFrame с помощью pd.read_csv () и добавила его в список dfs. Наконец, я объединила все DataFrame’ы из списка dfs в один общий DataFrame под названием df с помощью функции pd.concat ().
ИТОГОВЫЕ ГРАФИКИ:
ФИЛЬТРАЦИЯ И СОРТИРОВКА
Я применила два подхода:
Фильтрация с одним условием: Я отобрала произведения искусства, проданные по цене выше 1 миллиона долларов, и отсортировала их по цене продажи в убывающем порядке. На графике 1 вы видите зависимость цены покупки от цены продажи для этих работ, с цветовой кодировкой по художникам.
Фильтрация по нескольким условиям: Я отобрала работы, проданные по цене выше 500 тысяч долларов, с периодом владения менее 10 лет, и отсортировала их по цене продажи. График 2 демонстрирует среднюю цену продажи по художникам для данной категории работ.
НОВЫЕ ПРИЗНАКИ
Отношение цены продажи к цене покупки: Я использовала анонимную функцию для вычисления отношения цены продажи к цене покупки для каждого произведения искусства.
Годовая доходность: Я определила именованную функцию, которая вычисляет годовую доходность инвестиции в произведение искусства, учитывая период владения.
СВОДНЫЕ ТАБЛИЦЫ
1.Средняя цена продажи по художникам. 2.Средняя цена продажи по топ-10 художникам и категориям периода владения (тепловая карта). Использование sns.heatmap позволило визуально оценить зависимость средней цены продажи от художника и периода владения. Чтобы тепловая карта была более читаемой, я применила маску для скрытия нулевых значений, и настроила аннотации и цветовую схему. 3. Средние цены покупки и продажи по художникам. 4.Различные статистики (среднее, медиана, количество) по цене продажи по художникам (тепловая карта). 5.Различные статистики (среднее, максимум, медиана, минимум) по ценам покупки и продажи по художникам (тепловая карта).»
ЗАМЕНА ПРОПУСКОВ
Пропуски до обработки: title 0 artist 0 purchase_price 0 sale_price 0 holding_period_years 0 price_ratio 0 annual_return 0 holding_period_category 0 dtype: int64
Пропуски после обработки: title 0 artist 0 purchase_price 0 sale_price 0 holding_period_years 0 price_ratio 0 annual_return 0 holding_period_category 0
УДАЛЕНИЕ ВЫБРОСОВ
Я применила два метода для удаления выбросов:
Метод N стандартных отклонений для одной целевой переменной. Я удалила все значения, находящиеся на расстоянии более 3 стандартных отклонений от среднего.
Метод межквартильного размаха (IQR) для одного предиктора. Я удалила все значения, находящиеся за пределами 1.5*IQR от первого и третьего квартилей. Графики до и после обработки выбросов демонстрируют эффект очистки данных.
ОПИСАТЕЛЬНЫЕ СТАТИСТИКИ
Меры центральной тенденции: Я вычислила среднее и медиану цены продажи и визуализировала их на гистограмме
Квартили: Я определила квартили распределения цены продажи и представила их в виде ящика с усами
Я определила самого часто встречающегося художника (моду) и количество уникальных художников в коллекции. Распределение количества работ по художникам представлено на графике
КОРРЕЛЯЦИЯ ПИРСОНА
Я вычислила матрицу корреляции Пирсона для своих признаков и визуализировала ее на тепловой карте
Также, я вывела информацию о самой сильной корреляции между признаками. Данная диаграмма рассеяния иллюстрирует связь между двумя признаками с самой сильной корреляцией.
ЛИНЕЙНАЯ РЕГРЕССИЯ
На заключительном этапе я построила модель линейной регрессии для прогнозирования цены продажи на основе цены покупки.
ИСПОЛЬЗОВАННЫЕ РЕСУРСЫ:
В данном проекте использовались нейросети ChatGPT и DeepSeek для генерации кода и помощи в анализе данных.
Все использованные ресурсы: pandas, chatgpt, DeepSeek, Kaggle.com
ИТОГОВЫЙ КОД ПРОЕКТА: