プロジェクトアーカイブ

データサイエンス、心理学、ビジネス戦略を融合させ、テクノヒューマンソリューションを創造するケーススタディの詳細な分析。

成人向け自閉症スペクトラム障害(ASD)スクリーニングのための予測モデル

心理病理学とデータサイエンスを融合させ、アクセスしやすいスクリーニングツールを構築するエンドツーエンドの機械学習パイプライン。

🎯 背景と課題

成人の自閉症スペクトラム障害の診断は、時間がかかり高コストになる可能性があります。このプロジェクトでは、「標準的な心理測定スクリーニング質問票(AQ-10)のデータを用いて、微細なパターンを識別し、自動化された迅速かつスケーラブルな初期リスク評価を提供する機械学習モデルを構築できるか?」という問いに答えを出すことを目指しました。

⚙️ 技術的アプローチ

プロジェクトは、まず教師なしクラスタリング(K-Means、DBSCAN)でデータの自然な構造を理解することから始めました。EDAによりクラスの著しい不均衡が明らかになったため、SMOTEなどの手法で対処しました。複数のモデルの「ベークオフ」を行い、ハイパーパラメータを最適化し、平均F1スコア0.87を達成しました。

🛠️ 技術スタック

Python Pandas Scikit-learn Keras/TensorFlow XGBoost LightGBM Imbalanced-learn

📊 インパクトと成果

医療専門家向けの非侵襲的な支援ツールとして機能する検証済みモデルです。症例の優先順位付けやリソースの効率的な配分に役立ちます。AIがよりアクセスしやすく、データ駆動型のメンタルヘルスソリューションを創出する可能性を示しています。

🔗 GitHubでコードを見る

戦略的ブループリント:高血圧と精神病理の併存予測

CRISP-DMを用いたデータサイエンスソリューションの完全な設計。ソリューションアーキテクトとしての能力を実証します。

🎯 背景と課題

ある高齢者介護企業が臨床仮説を検証する必要がありました。「高血圧の急上昇と精神病理学的危機の発生との間に予測可能な関係は存在するか?」という課題に対し、複雑でデリケートなデータプロジェクトを厳密かつ倫理的に、そして予防的なビジネス価値を生み出す形で構築することでした。

⚙️ CRISP-DMメソドロジー

「水分補給」指数のような革新的な変数を含む、洗練されたデータ準備戦略を詳述した計画です。臨床的検証を容易にするため、解釈可能なモデル(決定木、ロジスティック回帰)を提案し、過去のデータにおけるバイアスの事前特定に特化したフェーズを含んでいます。

🛠️ 技術スタック

CRISP-DM R Logistic Regression Decision Trees

📊 インパクトと成果

リスクを最小化し、インパクトを最大化する堅固な基盤を保証する戦略計画です。高度な技術的リーダーシップとビジネスビジョンを示します。このブループリントは、開発チームによる実行準備が整っています。

🔗 GitHubでブループリントを見る

クラスタリングによる糖尿病リスクプロファイルの特定

教師なしクラスタリングと高度な特徴量エンジニアリングを用いて、生データセットを実用的な患者セグメントに変換します。

🎯 背景と課題

個々の糖尿病を予測するだけでなく、複合的なリスクプロファイルを持つ個人の自然なグループが存在するかを理解することが重要でした。目的は、個別分析から人口セグメンテーションへと移行し、パーソナライズされた予防キャンペーンに情報を提供することです。

⚙️ 技術的アプローチ

EDA → 特徴量エンジニアリング → クラスタリングのワークフローです。重要な発見は、健康変数の「外れ値」が高リスク群のシグナルであったことで、これによりRobustScalerを使用することになりました。複合変数「健康習慣スコア」と「心血管リスク指数」を作成し、エルボー法により3つのクラスターを最適セグメンテーションとして正当化しました。

🛠️ 技術スタック

Python Pandas Scikit-learn Matplotlib Seaborn Tableau

📊 インパクトと成果

戦略的なデータ資産です。このセグメント化されたデータセットにより、ビジネスアナリストはMLの知識なしにリスクプロファイルを探ることができます。多分野のチームにとってのインサイトの民主化です。

🔗 GitHubでコードを見る

国際市場拡大のためのデータ駆動型戦略

機械学習を戦略的なビジネス課題に適用し、マクロ経済データを防御可能な提言に変換します。

🎯 背景と課題

国際展開の決定は高い金融リスクを伴います。このプロジェクトは、直感を厳密なデータサイエンスアプローチに置き換え、「どの国が経済的機会と安定性の最適なバランスを提供するか?」という問いに答えることを目指しました。

⚙️ 技術的アプローチ

2段階のプロジェクト:I)ETLと準備、II)モデリングとセグメンテーション。PCAを用いて国々の関係を可視化し、K-MeansとDBSCANで類似プロファイルを持つ国をグループ化しました。両手法の比較により、データの構造を堅牢に理解し、論理的な国家セグメンテーションを導き出しました。

🛠️ 技術スタック

R Tidyverse ggplot2 cluster fpc dbscan

📊 インパクトと成果

候補国をランク付けしセグメント化したリストを提供し、証拠に基づく戦略的意思決定のためのツールとなります。これにより、グローバル展開戦略におけるリスクを削減し、投資を最適化します。

倫理的ウェブスクレイピングによるビデオゲーム経済分析用データセットの作成

「遅延読み込み」を行うウェブサイトからXHRリクエストを管理してデータを抽出するウェブスクレイピングパイプライン。成果は、Zenodoで公開されたクリーンなデータセット(DOI付き)であり、完全なデータライフサイクルを実証しています。

🎯 背景と課題

レトロゲーム市場は魅力的な経済動向を示しますが、価格データは分散しています。課題は、動的にコンテンツを読み込むウェブソースから、効率的かつ敬意を払った方法で体系的に構造化データセットを作成することでした。

👤 役割と責任

唯一のデータエンジニアとして、調査と実現可能性の検討(`robots.txt`の分析)、動的コンテンツを扱うPythonスクレイパーの開発、倫理的実践(レート制限)の実装、データのクリーニングと構造化、そして最終的なデータセットの公開まで、全プロセスを担当しました。

⚙️ 技術的アプローチ

主な課題は「無限スクロール」でした。Seleniumの代わりにネットワークトラフィックを分析し、JSONでデータを読み込むXHRリクエストを特定し、`requests-html`で直接シミュレートしました。このアプローチは非常に高速です。データ取得後、Pandasを使って整形、クリーニングし、CSVに構造化しました。

🛠️ 技術スタック

Python requests-html BeautifulSoup4 Pandas

📊 インパクトと成果

主な成果は、2,369レコードを持つ高品質で引用可能なデータセット(DOI: 10.5281/zenodo.14043146)です。これにより、コミュニティが経済分析や価格予測モデルを構築できるようになりました。インパクトは、新たな公開データ資産の創出です。

米国における交通事故死亡データの準備と分析(CRISP-DM)

CRISP-DMフレームワークを適用し、生の事故データ(FARSデータセット)を堅牢な分析資産に変換。高度な特徴量エンジニアリングを含み、主成分分析(PCA)で締めくくります。

🎯 背景と課題

死亡交通事故に関する生データ(FARS)は豊富ですが、断片的で矛盾が多いです。課題は、これらのデータを統合、クリーニング、拡充し、データサイエンティストが信頼性の高い予測モデルを構築できる単一の「信頼できる情報源」を作成することでした。

👤 役割と責任

CRISP-DMの「データ理解」と「データ準備」フェーズに焦点を当てたデータサイエンティストとして、ETLパイプライン全体(テーブルの結合、変数のデコード、欠損値の論理的補完、新特徴量の作成)を担当しました。

⚙️ 技術的アプローチ

複雑なカテゴリカル変数を解釈しやすいバイナリフラグ(`DRINKING`、`NIGHT_HOUR`)に変換し、車両の年式などの派生変数を作成しました。数千のヌル値や特殊コードを methodical にクリーニングし、最終的にPCAを適用して新特徴量の妥当性を確認しました。

🛠️ 技術スタック

R Tidyverse (dplyr, readr) stats (prcomp) RStudio

📊 インパクトと成果

このプロジェクトにより、モデリング準備が整った3つのクリーンなデータセットが提供されました。インパクトは、この時間のかかる準備作業が完了したことであり、今後の取り組みが交通安全向上のための予測と予防に直接集中できるようになった点です。

🔗 関連リンク

🔗 GitHubでコードを見る

Fitbitユーザー分析(Googleキャップストーン)

Googleデータアナリスト認定のビジネスケーススタディ。Fitbitデータを分析して消費者行動のインサイトを抽出し、RとSQL(BigQuery)のハイブリッドパイプラインを用いて実用的なビジネス提言を導き出しました。

🎯 背景と課題

ヘルステック企業Bellabeatは、市場機会を特定するために消費者がトラッキングデバイスをどのように使用しているかを理解する必要がありました。ビジネス課題は、「Fitbitのデータから、新しい製品機能やマーケティングキャンペーンのヒントとなるトレンドは何か?」でした。

⚙️ 技術的アプローチ

技術的なハイライトはハイブリッドパイプラインの使用です。ほとんどのファイルはRとTidyverseで処理しましたが、大規模な心拍数データセットはGoogle BigQueryにアップロードし、SQLでクリーニングと集計を行ってからRに再インポートしました。可視化にはggplot2を使用しました。

🛠️ 技術スタック

R (Tidyverse, ggplot2) SQL Google BigQuery RStudio

📊 インパクトと成果

インパクトは最終的なビジネス提言によって測られます。アプリ内での「座りすぎアラート」の作成や、軽い運動を中程度の運動に転換させるためのマーケティングキャンペーンの設計など、データ分析とビジネス戦略の明確な架け橋となる具体的な行動を提案しました。

🔗 関連リンク

🔗 GitHubでコードを見る

クラスタリングアルゴリズムの比較分析:K-Means vs. DBSCAN

DBSCAN(密度ベース)が、ノイズや非球形クラスターが存在するシナリオでK-Means(重心ベース)より優れている理由を厳密に比較した研究。結果は視覚的(PCA)および定量的(ダン指数、シルエット係数)に検証されています。

🎯 背景と課題

教師なしMLでは、適切なアルゴリズムの選択が不可欠です。研究課題は、「ノイズや不規則な形状のクラスターを持つ実世界のデータセットにおいて、DBSCANのような密度ベースのアルゴリズムがK-Meansより優れていることを実証し、定量化できるか?」でした。

⚙️ 技術的アプローチ

欠損値は頑健な条件付き平均で補完しました。OPTICSを用いてDBSCANのパラメータ選択を導きました。プロジェクトの中核は定量的検証であり、`fpc`ライブラリを使用してダン指数やシルエット幅などのメトリクスを計算しました。結果、ダン指数が劇的に改善(0.004から0.24へ)し、DBSCANの優位性が証明されました。

🛠️ 技術スタック

R Tidyverse dbscan fpc ggbiplot

📊 インパクトと成果

インパクトは、適切なクラスタリングモデルを選択する方法を明確かつ証拠に基づいて示したことです。成果は単なるクラスターのセットではなく、これらのアルゴリズムがどのように、そしてなぜ機能するのかについての深い理解であり、他のアナリストの指針となります。

🔗 関連リンク

🔗 GitHubでコードを見る

多次元販売分析のためのデータウェアハウスとOLAPキューブの設計

Microsoft SQL Serverでデータウェアハウスソリューションを設計し、多次元販売分析(製品別、顧客別、時間別、場所別)を可能にするOLAPキューブを構築。意思決定のためのデータ探索を変革しました。

🎯 背景と課題

架空の企業がトランザクションデータベースの静的なレポートに依存しており、複雑なビジネス上の問いに答えることが不可能でした。目標は、迅速かつ直感的に「スライシング&ダイシング」クエリを可能にする分析用データ構造を作成することでした。

👤 役割と責任

ビジネスインテリジェンスアナリスト/データアーキテクトとして、データウェアハウスのスキーマ設計(スターモデル)、ETL用のSQLスクリプト作成、そして最終的に分析用データキューブの設計と設定を担当しました。

⚙️ 技術的アプローチ

このソリューションは、ファクトテーブル(`FactSales`)と複数のディメンションテーブル(`DimProduct`など)を持つデータウェアハウスに基づいています。この構造はOLAPキューブのパフォーマンスの基盤であり、ビジネスユーザーが専門知識なしにあらゆる角度からデータを探索できるようにします。

🛠️ 技術スタック

Microsoft SQL Server Data Warehousing OLAP Cube R R Markdown

📊 インパクトと成果

このプロジェクトは、企業に強力なビジネスインテリジェンスツールを提供し、データアクセスを民主化します。マネージャーが自身の分析を行い、より迅速でデータに基づいた意思決定を行えるようになります。

🔗 関連リンク

🔗 GitHubでコードを見る

肥満度レベル予測のための分類モデル

生活習慣から肥満度を予測するエンドツーエンドの分類モデルを開発。最適なパフォーマンスを持つアルゴリズムを見つけるため、複数のアルゴリズムの比較分析(「ベークオフ」)を実施しました。

🎯 背景と課題

肥満は多因子性の問題です。このプロジェクトは、「個人の習慣に関するデータのみを使用して、その人の体重カテゴリーを実用的な精度で予測し、最も影響力のあるライフスタイル要因を特定できるか?」という問いに答えることを目指しました。

⚙️ 技術的アプローチ

詳細な探索的データ分析(EDA)の後、データを準備し、ロジスティック回帰、K最近傍法(KNN)、SVM、ランダムフォレストなど、さまざまな分類モデルを訓練し、この公衆衛生問題に最適なものを決定しました。

🛠️ 技術スタック

Python Pandas Scikit-learn Matplotlib Seaborn

📊 インパクトと成果

このプロジェクトにより、教育ツールや予備的なスクリーニングツールとして機能するモデルが完成しました。最も強力なライフスタイル予測因子を特定し、より効果的な予防キャンペーンの設計に役立ちます。

🔗 関連リンク

🔗 GitHubでコードを見る

決定木を用いた企業倒産予測

企業の財務データから倒産確率を予測するための解釈可能な分類モデル(決定木)を構築。ハイステークスなアプリケーションにおける透明性の重要性を強調します。

🎯 背景と課題

投資家や規制当局にとって、倒産リスクの早期発見は不可欠です。課題は、「早期警告システムとして機能し、かつ予測を正当化するための明確で解釈可能なルールを提供するモデルを構築できるか?」でした。

⚙️ 技術的アプローチ

解釈可能性を確保するために意図的に決定木を選択しました。このモデルは、「もし負債比率 > X かつ ROC < Y ならば、リスクは高い」といった決定ルールを可視化でき、金融環境における信頼性にとって重要です。パフォーマンスは、少数派クラス(リスクのある企業)のリコールに特に注意を払って評価されました。

🛠️ 技術スタック

Python Pandas Scikit-learn Interpretable AI

📊 インパクトと成果

このプロジェクトは、金融リスク管理のための意思決定支援ツールを提供し、事後的な分析から事前のリスク特定とタイムリーな是正措置へと移行することを可能にします。

🔗 関連リンク

🔗 GitHubでコードを見る

テレビシリーズのトレンドに関する探索的データ分析(EDA)

テレビシリーズに関する生データセットを、プラットフォームや主要ジャンルに関するビジネス上の問いに答えるための一貫した視覚的ナラティブに変換する、純粋な探索的データ分析とストーリーテリングの実践。

⚙️ 技術的アプローチ

分析全体は一連の主要な問いに基づいて構成され、データ操作にはPandasを、それらに答える可視化の作成にはMatplotlib/Seabornを使用しました。作業の重要な部分は、ジャンルを確実に分析するためのテキストデータの事前処理でした。

🛠️ 技術スタック

Python Pandas Matplotlib Seaborn Data Storytelling

📊 インパクトと成果

成果は、テレビ界のデータに基づいたスナップショットを提供する分析レポートです。インパクトは、EDA自体がデータを知識に変換し、複雑なインサイトをシンプルかつ視覚的に伝えることで価値を生み出せることを示した点にあります。

🔗 関連リンク

🔗 GitHubでコードを見る

タイタニック号生存予測:分類の古典的プロジェクト

データサイエンスの「通過儀礼」の実践であり、基礎の卓越性に焦点を当てています。緻密な特徴量エンジニアリング(敬称の抽出、家族変数)と5つの分類モデルの厳密な「ベークオフ」が特徴です。

⚙️ 技術的アプローチ

プロジェクトの強みは創造的な特徴量エンジニアリングでした。`Cabin`をバイナリフラグ`InCabin`に変換し、`SibSp`と`Parch`を組み合わせて`FamilySize`を作成しました。最も重要なのは、`Name`列から敬称(`Mr`、`Mrs`、`Master`)を抽出し、強力な予測シグナルを明らかにしたことです。5つのモデルをROC曲線下面積(AUC)を主要メトリクスとして比較しました。

🛠️ 技術スタック

Python Pandas Scikit-learn Feature Engineering Classification

📊 インパクトと成果

最終的なSVMモデルはAUCスコア0.82を達成し、良好な予測能力を示しました。プロジェクトの真のインパクトは、他のビジネス問題にも適用できる堅牢で再現性のある分類ワークフローを示したことであり、優れた特徴量エンジニアリングが最も複雑なアルゴリズムを上回ることが多いことを強調しています。

🔗 関連リンク

🔗 GitHubでコードを見る