Описание проекта
Катастрофа «Титаника» стала одним из самых известных событий XX века, и её часто описывают через моральные правила и социальный порядок: кого спасали в первую очередь и почему. В этом проекте я перевожу разговор в измеримые величины и показываю, как вероятность выживания меняется в зависимости от характеристик пассажира. Результат — серия графиков в едином стиле, которые позволяют быстро сравнивать группы и формулировать понятные выводы.
Палитра проекта
Визуальный стиль построен вокруг образа ночного океана: тёмный фон работает как нейтральная «сцена», на которой хорошо читаются акценты. Цвет «лёд/вода» используется для ключевых положительных выделений, спасательный оранжевый — для сильных акцентов, аварийный красный — для противопоставления и «риск-групп», латунный оттенок — как отсылка к корпусу и деталям корабля. Поэтому проект выглядит цельно.
Данные и постановка задачи
Для проекта я использовала открытый датасет о пассажирах «Титаника». Источник данных pandas-dev/pandas, titanic.csv. Данные представлены в виде таблицы: каждая строка это один пассажир, а столбцы содержат его характеристики и отметку о выживании. Такой источник удобен тем, что его можно всегда открыть заново по ссылке и получить те же данные для повторения анализа.
Каждая строка таблицы соответствует одному пассажиру, а столбцы описывают его характеристики: пол, класс каюты, возраст, стоимость билета и порт посадки. Главная переменная проекта это факт выживания. Задача анализа найти устойчивые закономерности и показать их через простые, читаемые визуализации: сравнение долей, распределений и пересечений факторов.
Подготовка данных
Перед визуализацией данные нужно привести к аккуратному виду. Часть столбцов содержит пропуски и строки, которые нужно трактовать как отсутствующие значения. Я привожу ключевые признаки к числовым типам, чтобы по ним можно было считать статистики. Пропуски возраста заполняю медианой: это простой и устойчивый способ, который не «тянет» распределение вверх или вниз. Пропуски порта посадки заполняю самым частым значением (модой), чтобы не терять строки при группировке. После этого таблица становится пригодной для сравнения групп и построения сводных таблиц.
Выживаемость по полу
Первое сравнение: по полу, потому что это фактор, который исторически связывают с правилами эвакуации. На графике показана доля выживших отдельно для мужчин и женщин. Разница между группами заметна сразу: у женщин вероятность выжить существенно выше. Этот результат не объясняет механизм сам по себе, но задаёт основной «скелет» истории: правила спасения и доступ к ресурсам эвакуации распределялись неравномерно.
Доля выживших внутри каждой группы пола
Код для столбчатой диаграммы доли выживших по полу
Возраст и выживание
Далее я смотрю на возраст. Вместо сравнения «среднего возраста» я сравниваю формы распределений: как выглядят возрастные профили среди выживших и среди не выживших. Чтобы сравнение было честным, график построен в долях внутри каждой группы (нормировка), а не в абсолютных количествах. В результате видно, что распределения отличаются: есть различия по «массе» в отдельных возрастных интервалах и по хвостам, но при этом не возникает простого правила вроде «все младше X выжили». Возраст работает как фактор, но не как единственный решающий.
Нормированная гистограмма распределения возраста для выживших и не выживших
Код для нормированной гистограммы распределения возраста для выживших и не выживших.
Цена билета и выживание
Стоимость билета выступает как удобный количественный индикатор социального уровня и условий размещения. Я сравниваю распределение стоимости билетов у выживших и у погибших через boxplot: он показывает медиану и разброс значений. Для читаемости я ограничиваю экстремальные выбросы (обрезка по 98-му перцентилю), потому что несколько очень дорогих билетов могут «сжать» масштаб и спрятать структуру основной массы данных. На графике видно смещение распределения: у выживших стоимость билета в среднем выше, что согласуется с гипотезой о неравномерном доступе к спасению.
Boxplot стоимости билета по группам выживания (обрезка 98-го перцентиля)
Код
Выживаемость: класс каюты и пол
Финальный график показывает самое важное: факторы действуют не изолированно, а вместе. Тепловая карта строится по сводной таблице, где каждая ячейка это доля выживших для конкретной комбинации класса каюты и пола. Так видно взаимодействие: у женщин доля выживания выше во всех классах, а у мужчин особенно низко в 3 классе. Этот график является «итоговым», потому что он одновременно объясняет часть результатов предыдущих слайдов: класс и пол вместе формируют наиболее резкое расслоение.
Тепловая карта доли выживших по сочетанию класса каюты и пола
Код для тепловой карты доли выживших по сочетанию класса каюты и пола
Заключение
Описательный анализ показывает устойчивые различия в выживаемости между социально-демографическими группами. Самые сильные различия связаны с полом и классом каюты, а возраст и стоимость билета выступают дополнительными факторами, которые меняют распределения, но не дают «единственного правила». Важно, что это корреляционный анализ: он показывает связи в данных, но не доказывает причинность и не моделирует механизм событий.
Статистические методы
В этом проекте использованы базовые методы описательной статистики и сравнения групп. Сначала я посчитала доли выживших (пропорции) для разных категорий — это позволяет сравнивать группы независимо от их размера. Для числовых признаков (возраст, стоимость билета) я использовала меры центральной тенденции и устойчивости: медиану как «типичное» значение и распределения в виде гистограмм, чтобы видеть форму данных, а не только одно число. Для сравнения распределений стоимости билета между выжившими и не выжившими применён boxplot: он показывает медиану, межквартильный размах и разброс, поэтому хорошо подходит для скошенных распределений и выбросов.
Чтобы изучить совместное влияние двух факторов, я построила сводную таблицу (pivot table) и визуализировала её как тепловую карту: каждая ячейка — доля выживших для комбинации «класс каюты и пол». Такой подход позволяет увидеть взаимодействие факторов, а не только их влияние по отдельности.
Описание применения генеративной модели
Chat GPT: создание обложки, обращения с целью рекомендаций по исправлению кода, помощь с подбором тем для составления анализа.
Ссылки: блокнот и база данных



