概要
医学・生命科学研究向けの統計解析・可視化ツール。Excelデータから対応のある2群(Pre/Post)の統計解析を行い、正規性判定・統計手法の選択・箱ひげ図生成までを自動化する。
対象ユーザー
- Pre/Post比較のグラフ作成と統計検定を効率化したい研究者
- 論文やレポート用の高品質なグラフを一括生成したい方
- 統計手法の選択(t検定 / Wilcoxon検定)を自動化したい方
GitHub
🔗 GitHub
スクリーンショット
Metabolite A — Pre/Post対応あり箱ひげ図(Paired t-test)
Metabolite D — 非正規分布のため自動でWilcoxon検定を適用
Metabolite G — Post側が増加するパターン
統計結果一覧 — 正規性判定・検定手法・p値を自動出力
開発背景
医学研究の案件で、複数の代謝物質についてPre/Postの比較解析を行う依頼を受けた。手作業でExcelやRによる解析を1つずつ行うのは非効率であり、データ形式が統一されていれば一括処理できるツールを開発した。
解決した課題
- 複数の代謝物のPre/Post比較グラフを1つずつ手作業で作成する手間を一括自動生成に置き換え
- 正規性の判定と統計手法の選択を手動で行う作業を自動化
- 論文投稿に使えるグラフ品質(フォント・レイアウト・解像度300dpi)を統一的に確保
主な機能
- 対応ありPre/Post箱ひげ図: 各被験者のPre→Post変化を線で結んだ対応あり箱ひげ図を生成
- 正規性の自動判定: Shapiro-Wilk検定でPre・Post各群の正規性を判定し、結果に応じて統計手法を自動選択
- 統計検定の自動選択: 正規分布 → 対応のあるt検定(Paired t-test)、非正規分布 → Wilcoxon符号付順位検定(Wilcoxon signed-rank test)
- 統計結果の一括出力: 全代謝物の正規性判定・検定結果・p値をExcelファイルに一覧出力
- 高品質グラフ出力: PNG(300dpi)とPDFの両形式で出力、論文投稿に対応
使用技術
- 言語: Python
- 可視化: Matplotlib
- 統計: SciPy(Shapiro-Wilk / 対応のあるt検定 / Wilcoxon符号付順位検定)
- データ処理: pandas / NumPy / openpyxl
設計上の工夫
- 統計手法の自動選択: データの正規性をShapiro-Wilk検定で判定し、パラメトリック検定(対応のあるt検定)とノンパラメトリック検定(Wilcoxon符号付順位検定)を自動で使い分ける設計とした
- グラフのカスタマイズ性: 箱の色・データ点のサイズ・線の透明度・ヒゲの表示範囲などを定数としてまとめ、研究者が用途に応じて調整しやすい構成にした
- 対応データの視覚化: 箱ひげ図に加え、各被験者のPre→Postを線で結ぶことで、個々の変化の方向と大きさを一目で把握できるようにした
- 統計解析の自動化: 正規性判定から検定手法の選択までをプログラム化し、研究者が統計手法を都度判断しなくても一貫した解析結果を得られるようにした
アーキテクチャ
Excel Data
│
▼
Data Processing
(pandas)
│
▼
Statistical Analysis
├─ Shapiro-Wilk
├─ Paired t-test
└─ Wilcoxon
│
▼
Visualization
(Matplotlib)
│
▼
PNG / PDF / Excel
開発周期
2日
担当範囲
要件整理 / 統計解析設計 / グラフデザイン / データ処理 / 出力フォーマット設計
成果・実現したこと
- 複数の代謝物のPre/Post比較グラフと統計検定を、1回のスクリプト実行で一括生成した
- 正規性判定から統計手法選択までを自動化し、研究者の手作業を削減した
- 論文投稿用・発表資料用の双方に対応できる出力形式(PNG(300dpi)/ PDF / Excel)を実現した
- 統計解析フローを標準化することで、解析担当者による手法選択のばらつきを抑え、一貫した解析結果を得られるようにした
想定導入効果
- グラフ作成・統計検定にかかる作業時間の削減
- 統計手法選択の人的ミス防止
- グラフ品質とフォーマットの統一による論文準備の効率化
開発で直面した課題と解決方法
- データ形式の柔軟性: 研究者が使用するExcelファイルのレイアウトは案件ごとに異なる。列番号をCOMPOUNDS配列で管理し、新しいデータ構成にも設定変更のみで対応できる構成にした
- 外れ値によるグラフの見やすさ低下: 外れ値が極端に大きい場合、箱ひげ図全体が圧縮されて見にくくなる。表示パラメータを調整し、外れ値の影響を抑えながら全体の傾向を把握しやすいグラフとした
このプロジェクトで学んだこと
- 統計解析ツールでは、手法の選択ロジックをコードに組み込むことで、研究者が統計の知識に依存せず正確な検定を実行できることを確認した
- グラフのデザインパラメータを定数として分離することで、研究者自身がコードを読まなくても見た目を調整できる設計の重要性を学んだ
- 研究用途では解析精度だけでなく、論文・学会発表・共同研究で利用しやすい出力形式を提供することも重要だと学んだ