Logo
TGCATALOG
Каталог Подборки Блог
Data analysis - DA SQL

Data analysis - DA SQL

Анализ данных: SQL, Python.

Нет оценок
582
29.10.2026
582
29.10.2026
Нет оценок
582
29.10.2026
Безопасный переход через бот
О канале

Анализ данных: SQL, Python.

Подписчиков 1,700
Тематика Технологии
Язык Русский
Ссылка t.me/business_stats

Также рекомендуем

Kekaton AI | Озвучка и клон голоса
Kekaton AI | Озвучка и клон голоса
Бот

AI бот для озвучки текста и клонирования голоса в Telegram. Создавай аудио с помощью нейросети быстро и просто.

Описание

Про анализ данных: базы данных, SQL, Python и другое для аналитиков.

Последние посты

Data analysis - DA SQL
Data analysis - DA SQL
🔒Открыть пост
и посмотреть медиа
Как провести корреляционный анализ Допустим, мы имеем датасет с банковскими транзакциями с информацией по клиентам, суммам, балансу, времени и т.д. На примере исследования гипотезы "Чем больше средний баланс клиента, тем больше его суммарные расходы" (упоминалось ранее) опишу, как можно проводить корреляционный анализ с помощью Python. 1️⃣Изначально посчитаем средний баланс и суммарные траты для каждого клиента c помощью обычной группировки (если нужно, то можно задать ограничение на временной период): import pandas as pd file_path = 'ПУТЬ.../bank_transactions.csv' df = pd.read_csv(file_path) stats = df.groupby('CustomerID').agg({ 'CustAccountBalance': 'mean', 'TransactionAmount': 'sum' }).rename(columns={ 'CustAccountBalance': 'avg_balance', 'TransactionAmount': 'total_spent' }) На выходе получим агрегированные по каждому клиенту данные, в которых будет указана общая сумма трат за всё время и средняя сумма баланса за это же время. 2️⃣Затем нужно посчитать коэффициент корреляции в рамках данных из п.1 и проверить эти результаты на статистическую значимость с помощью p_value. Возьмем корреляцию Спирмена, т.к. она устойчива к выбросам и не требует нормальности, а значит, для финансовых данных подходит лучше всего. from scipy.stats import spearmanr corr, pval = spearmanr(stats['avg_balance'], stats['total_spent']) print(corr, pval) Получим 2 числа: саму корреляцию и p_value. И если корреляция положительная и p_value < 0.05, значит, гипотеза поддерживается данными: есть статистически значимая связь между средним балансом и суммарными расходами. И, соответственно, чем выше коэффициент корреляции, тем связь будет сильнее. 3️⃣Для проверки гипотезы первых 2 пунктов может быть и достаточно. Но не лишним также будет еще построить тренд, чтобы посмотреть, как именно реагируют одни данные на изменения других. Для этого разделим датасет на сегменты по ранее рассчитанным средним балансам, условно на 5 групп: stats['balance_group'] = pd.qcut(stats['avg_balance'], q=5, labels=['Q1 (низкий)', 'Q2', 'Q3', 'Q4', 'Q5 (высокий)']) group_stats = stats.groupby('balance_group').agg({ 'avg_balance': 'mean', 'total_spent': 'mean' }).round(2) print(group_stats) Важно разделять сегменты по признакам из гипотезы (баланс), а не по, например, демографическим критериям. В итоге мы сожмем весь датасет до 5 групп, у каждой из которых будет выводится средний баланс по группе и общие траты по группе. 4️⃣Теперь считаем сам тренд. Для этого задаём группу Q1 как базис (самый низкий средний баланс) и считаем отношение суммы транзакций одной группы к другой (Q1/Q1, Q2/Q1, Q3/Q1 и т.д.): base_spent = group_stats['total_spent'].iloc[0] trend = [] for i in range(len(group_stats)): ratio = group_stats['total_spent'].iloc[i] / base_spent trend.append(ratio) print(trend) Результат получится в виде списка из 5 чисел, который всегда будет начинаться с 1. Он может многое показать: ▶️Например, если мы имеем плавный рост [1.0, 1.3, 1.7, 2.2, 3.0] (или снижение), то можно сделать вывод, что рост баланса стабильно влияет на изменение трат во всех диапазонах ▶️Резкий скачок (или снижение) [1.0, 1.8, 2.0, 2.1, 2.2] может показать, переход между какими группами наиболее влиятелен ▶️Если есть что-то наподобие такого [1.0, 1.2, 1.1, 1.8, 1.9] (небольшой рост, снижение, резкий скачок), то значит, что внутри датасета скрыты какие-то другие факторы, которые влияют на траты сильнее, чем рост баланса ▶️Если изменения незначительны [1.0, 1.1, 1.0, 1.2, 1.3], то, очевидно, никакой связи тут нет
Data analysis - DA SQL
Динамика подписчиков
+-0.5% за 30 дней
Текущие
1,700
Месяц назад
1,709
Средний рост
+0 / день
Обновлено
17 часов назад

Отзывы о канале Data analysis - DA SQL

Авторизуйтесь, чтобы оставить отзыв

Только зарегистрированные пользователи могут делиться своим мнением.

Пока нет отзывов

Станьте первым, кто поделится своим впечатлением об этом ресурсе!

Похожие ресурсы

Loading
Переход на светлую тему
Главная Каталог Подборки Блог Вход