stat-eda について
stat-edaは、分析者やモデリング担当者向けの探索的データ分析スキルです。情報漏洩を抑えるため、データを分割してから訓練データのみを探索することを重視し、欠損パターンやサブグループの傾向、疑わしい特徴量も確認します。
主な機能
- 01EDAの前にデータを分割
- 02欠損データのパターンを確認
- 03交絡要因で傾向を層別化
- 04漏洩の可能性がある特徴量を特定
活用シーン
- 01モデリング前に訓練データを探索
- 02欠損値がランダムかを評価
- 03サブグループで全体傾向の逆転を確認
- 04目的変数と強く相関する特徴量を点検
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ asgard-ai-platform/ skills --skill stat-edaインストール後、Claude Code で/stat-edaを入力して読み込まれたか確認します。
同梱ファイルexamples/sample_scenario.mdreferences/missing-data.md
詳細
探索的データ分析(EDA)
フレームワーク
IRON LAW: Perform EDA Only AFTER Train/Test Split — Or You Leak the Future
Agents know "do EDA first." But they almost always do EDA on the FULL
dataset before splitting. This is information leakage: you've seen the
test set's distributions, outliers, and correlations, and your subsequent
modeling choices (feature scaling, outlier treatment, imputation strategy)
are now informed by data the model shouldn't see. Split first, then EDA
only on the training set. Apply the same transformations to the test set
without re-examining it.
Exception: data quality checks (nulls, dtypes, duplicates) CAN run on
the full dataset since they don't inform model hyperparameters.
EDA ワークフロー
標準的な5段階の流れです(構造 → 品質 → 単変量 → 二変量 → 所見の要約)。エージェントはすでにこれらの手順を理解しているものとします。以下では、見落としやすい注意点に焦点を当てます。
多くのEDAガイドで見落とされている重要な補足事項:
- 探索の前に分割する(上記の IRON LAW を参照)
- 欠損データは件数よりパターンが重要です:MCAR は安全に補完できますが、MNAR(例:高所得の回答者が所得に関する質問をスキップする場合)には、平均値での補完ではなく、ドメインに基づくモデリングが必要です
- シンプソンのパラドックスを確認する:全体では傾向が見られるのに、サブグループ内では逆転している場合、全体の傾向は誤解を招きます。二変量の所見を報告する前に、最も明白な交絡因子で必ず層別化してください
- 特徴量のデータリーク:ターゲットと完全に相関する特徴量は、通常、ターゲットから導出されています(例:「refund_amount」が顧客離れを予測する場合、それは原因ではなく結果です)。r > 0.95 の特徴量はすべて、因果関係のレビューが必要なものとして報告してください
可視化の選択ガイドについては、references/missing-data.md を参照してください。
出力形式
# EDA Report: {Dataset Name}
## Dataset Overview
- Rows: {N}, Columns: {N}
- Date range: {if applicable}
- Key columns: {description}
## Data Quality
| Issue | Columns Affected | Count/% | Action |
|-------|-----------------|---------|--------|
| Missing values | {cols} | {N / %} | {drop / impute / investigate} |
| Outliers | {cols} | {N} | {cap / remove / keep} |
| Duplicates | — | {N} | {remove} |
## Key Statistics
| Variable | Mean | Median | Std | Min | Max | Distribution |
|----------|------|--------|-----|-----|-----|-------------|
| {var} | ... | ... | ... | ... | ... | {normal/skewed/bimodal} |
## Key Findings
1. {insight with supporting data}
2. {insight}
3. {insight}
## Recommendations
- {next analysis step or data issue to resolve}
注意点
- 相関 ≠ 因果関係:EDAで見つかるのは関連性です。因果関係の確立には、統制された実験または因果推論の手法が必要です。
- 外れ値はデータエラーの場合も、実際のシグナルの場合もあります:自動的に削除しないでください。調査してください。100万ドルの取引額は、誤記かもしれませんし、最大の顧客かもしれません。
- 欠損データには意味があります:ある列のデータ欠損は、別の列の値と関連している可能性があります。「所得の欠損」は、ランダムではなく「失業中」を意味するかもしれません。パターンを確認してください。
- 可視化は誤解を招くことがあります:切り詰められた Y 軸、恣意的に選ばれた期間、誤解を招くスケールは、洞察を歪める可能性があります。適切なスケールを使用し、制約事項を明記してください。
参考資料
- 欠損データの処理方法については、
references/missing-data.mdを参照してください
コメント
Markdown 対応