mcpField
D
data-analysis

data-analysis

github.com/itallstartedwithaideaデータ・データベース4489 回インストール29 週間前に更新
リポジトリ

data-analysis について

data-analysis は、データの取り込みとクリーニングから検定、可視化までを導く Agent Skills™ のスキルです。再現可能な研究・分析向けで、検定の前提確認や投稿用の図表作成を重視します。

主な機能

  1. 01データの取り込みとクリーニング
  2. 02探索的・統計的分析
  3. 03検定前提の確認
  4. 04効果量の報告
  5. 05投稿向けの可視化

活用シーン

  1. 01実験データや観察データの分析
  2. 02後続分析に向けたデータセットの整備
  3. 03前提を確認した仮説検定
  4. 04学術誌投稿用の図表作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/itallstartedwithaidea/agent-skills --skill data-analysis

インストール後、Claude Code で/data-analysisを入力して読み込まれたか確認します。

詳細

データ分析

googleadsagent.ai™ による Agent Skills™ の一部です

説明

データ分析は、pandas、numpy、scipy を使用した統計分析のための体系的なフレームワークを提供し、matplotlib、seaborn、plotly による可視化にも対応しています。エージェントはデータの取り込みとクリーニングから、探索的分析、統計検定、論文投稿に適した可視化まで、厳格なパイプラインに沿って処理し、すべての段階で再現性を確保します。

科学的なデータ分析は、探索的なコーディングではありません。すべての変換に根拠があり、統計検定の前提条件が検証され、可視化が元データを正確に表す、規律あるプロセスです。このスキルでは、エージェントにデータの出所を記録させ、パラメトリック検定を適用する前に分布を検証させ、p 値とともに効果量を報告させることで、その規律を徹底します。

可視化レイヤーでは、論文投稿に適した図を作成します。適切な単位付きの軸ラベル、色覚多様性に配慮した配色、1 段組みまたは 2 段組みに適した図のサイズ、ベクター形式(SVG、PDF)での出力に対応しています。探索的作業にはインタラクティブな plotly の可視化を、論文には静的な matplotlib/seaborn の図を生成します。

使用する場面

  • 実験データまたは観察データの統計分析を行うとき
  • 後続の分析に向けてデータセットをクリーニング、変換するとき
  • 論文投稿に適した図やプロットを作成するとき
  • 前提条件を適切に確認したうえで仮説検定を行うとき
  • 新しいデータセットの探索的データ分析を行うとき
  • 再現可能な分析パイプラインを構築するとき

仕組み

graph TD
    A[Raw Data] --> B[Ingest + Validate Schema]
    B --> C[Clean: Missing Values, Outliers, Types]
    C --> D[Exploratory Data Analysis]
    D --> E[Distribution Assessment]
    E --> F{Parametric Assumptions Met?}
    F -->|Yes| G[Parametric Tests]
    F -->|No| H[Non-Parametric Tests]
    G --> I[Effect Size + Confidence Intervals]
    H --> I
    I --> J[Publication Visualization]
    J --> K[Reproducible Report]

このパイプラインでは、検定を選択する前に前提条件を確認します。パラメトリック検定(t 検定、ANOVA)には正規性と等分散性が必要です。前提条件が満たされない場合、エージェントはノンパラメトリックな代替手法(マン・ホイットニー検定、クラスカル・ウォリス検定)を自動的に選択します。

実装

import pandas as pd
import numpy as np
from scipy import stats
import seaborn as sns
import matplotlib.pyplot as plt

def analysis_pipeline(filepath: str) -> dict:
    df = pd.read_csv(filepath)

    report = {
        "shape": df.shape,
        "missing": df.isnull().sum().to_dict(),
        "dtypes": df.dtypes.astype(str).to_dict(),
    }

    numeric_cols = df.select_dtypes(include=[np.number]).columns
    for col in numeric_cols:
        stat, p = stats.shapiro(df[col].dropna()[:5000])
        report[f"{col}_normality"] = {"statistic": stat, "p_value": p, "normal": p > 0.05}

    return report

def compare_groups(df: pd.DataFrame, value_col: str, group_col: str) -> dict:
    groups = [g[value_col].dropna() for _, g in df.groupby(group_col)]

    normality_ok = all(stats.shapiro(g[:5000]).pvalue > 0.05 for g in groups)
    _, levene_p = stats.levene(*groups)
    homoscedastic = levene_p > 0.05

    if normality_ok and homoscedastic:
        stat, p = stats.f_oneway(*groups) if len(groups) > 2 else stats.ttest_ind(*groups)
        test_name = "ANOVA" if len(groups) > 2 else "t-test"
    else:
        stat, p = stats.kruskal(*groups)
        test_name = "Kruskal-Wallis"

    effect = compute_cohens_d(groups[0], groups[1]) if len(groups) == 2 else compute_eta_squared(groups)

    return {"test": test_name, "statistic": stat, "p_value": p, "effect_size": effect}

def publication_figure(df: pd.DataFrame, x: str, y: str, output: str):
    fig, ax = plt.subplots(figsize=(3.5, 3))  # Single-column journal width
    sns.boxplot(data=df, x=x, y=y, palette="colorblind", ax=ax)
    ax.set_xlabel(x.replace("_", " ").title())
    ax.set_ylabel(y.replace("_", " ").title())
    sns.despine()
    fig.tight_layout()
    fig.savefig(output, dpi=300, bbox_inches="tight")
    plt.close(fig)

ベストプラクティス

  • パラメトリック検定を選択する前に、必ず正規性と等分散性を確認します
  • p 値とともに効果量(Cohen's d、η²)を報告します。大きさを示さない有意差には意味がありません
  • すべての可視化で色覚多様性に配慮した配色(colorblind、viridis)を使用します
  • 再現性を確保するため、確率的な処理には必ず乱数シードを設定します
  • データ変換の理由を説明するインラインコメントを付け、すべての変換を記録します
  • 論文投稿にはベクター形式(SVG、PDF)、Web にはラスター形式(PNG)で図をエクスポートします

プラットフォーム互換性

プラットフォームサポート備考
Cursor完全Jupyter と Python の実行
VS Code完全Jupyter Notebook のサポート
Windsurf完全Python 環境
Claude Code完全スクリプトの実行
Cline完全データ分析のワークフロー
aider部分的コード生成のみ

関連スキル

キーワード

data-analysis statistics pandas scipy visualization matplotlib seaborn hypothesis-testing publication-figures


© 2026 googleadsagent.ai™ | Agent Skills™ | MIT License

コメント