データの探索的分析(EDA)を効率化するSQLクエリのコレクション

この記事では、データの探索的分析(Exploratory Data Analysis: EDA)を行う際に有用なSQLクエリについて詳しく説明します。EDAは、データを理解し、その特性や構造、関連性を明らかにする初期段階の分析手法です。特に大規模なデータセットに対して、効率的に分析を行うためにはSQLが非常に役立ちます。

目次

データの全体像を把握する基本クエリ

SQLによるデータ探索の最初のステップは、データの全体像を把握することです。以下のクエリはそのための基本的なものです。

レコード数のカウント

データの規模感を知る最も簡単な方法は、レコード数をカウントすることです。

SELECT COUNT(*) FROM table_name;

ユニークな値の数をカウント

特定のカラムに含まれるユニークな値の数を知ることで、データの多様性を把握することができます。

SELECT COUNT(DISTINCT column_name) FROM table_name;
クエリの目的SQLコード
レコード数のカウントSELECT COUNT(*) FROM table_name;
ユニークな値の数をカウントSELECT COUNT(DISTINCT column_name) FROM table_name;
基本クエリ一覧

データ分布の確認

平均、中央値、最大値、最小値

数値データの分布を理解するためには、平均、中央値、最大値、最小値などの基本的な統計量を知ることが重要です。

SELECT AVG(column_name), MAX(column_name), MIN(column_name) FROM table_name;

パーセンタイル

パーセンタイルを用いることで、データの分布形状をより詳細に把握することができます。

SELECT
  PERCENTILE_CONT(0.25) WITHIN GROUP (ORDER BY column_name) AS percentile_25,
  PERCENTILE_CONT(0.50) WITHIN GROUP (ORDER BY column_name) AS percentile_50,
  PERCENTILE_CONT(0.75) WITHIN GROUP (ORDER BY column_name) AS percentile_75
FROM table_name;
クエリの目的SQLコード
平均、最大値、最小値SELECT AVG(column_name), MAX(column_name), MIN(column_name) FROM table_name;
パーセンタイルSELECT PERCENTILE_CONT(0.25) WITHIN GROUP (ORDER BY column_name) FROM table_name;
データ分布確認のクエリ一覧

データの関連性を調べる

相関係数

2つのカラム間の関連性を数値で表すには、相関係数が有用です。

SELECT CORR(column1_name, column2_name) FROM table_name;

共起頻度

2つのカテゴリカルデータがどれくらい一緒に出現するかを調べる方法として、共起頻度があります。

SELECT column1_name, column2_name, COUNT(*) 
FROM table_name 
GROUP BY column1_name, column2_name;
クエリの目的SQLコード
相関係数SELECT CORR(column1_name, column2_name) FROM table_name;
共起頻度SELECT column1_name, column2_name, COUNT(*) FROM table_name GROUP BY column1_name, column2_name;
データの関連性を調べるクエリ一覧

まとめ

データの探索的分析(EDA)に役立つSQLクエリは多数ありますが、この記事で紹介したクエリをマスターすることで、効率的な分析が可能になります。特に大規模なデータセットでの分析を考慮すると、SQLはその力を発揮します。

コメント

コメントする

目次