概要
- 目的:教育関連データを題材に、学習成果に影響を与える要因を分析
- 手法:LightGBMで複数特徴量を用いたスコア予測を行い、SHAP値で寄与度を可視化
- 考察:教育データのスモールデータ環境におけるモデリングの課題を整理
1. はじめに
自己紹介: 教育分野でデータ分析をPythonで行っている教師(教師でPython分析する人は珍しい?)
課題: 実務で扱うデータをここでは使えないため、公開データで分析の練習と備忘録を兼ねて記録することにした。
記事の目的: 統計的検定と機械学習、両方の手法を適用した分析プロセスを共有し、そこから得られた学びを記録する。
コード:GitHub
2. 分析の準備と仮説検証
使用データ: Kaggleの「Students Performance in Exams」を使用。
仮説: 「テスト対策講座の有無は、数学の点数に影響を与えるか?」という問いから分析を開始。
手法: Plotlyで視覚的に傾向を捉え、t検定でその差が統計的に有意かを検証。
結果: P値が極めて低く、有意な差があることを確認。(Pythonで書くとあっという間に計算できる)
3. 機械学習による点数予測とインサイトの発見
目的: 点数に影響を与える要因を特定するため、LightGBMで予測モデルを構築。
モデル評価: MAEとRMSEで予測精度を確認し、モデルの信頼性を評価。
SHAPによる解釈: SHAP値を用いて、モデルがなぜそのように予測したのかを解明。reading scoreとwriting scoreが最も重要であることを発見した。(因果推論必須)
| 検証方法 | 指標 | 結果 |
|---|---|---|
| LightGBM | MAE | 4.60 |
| LightGBM | RMSE | 6.1 |
| 効果検証 (t検定) | p値 | 1.5e-08 (有意差あり) |
4. 分析から得られた示唆
目的意識: 実務では明確に目的を決めて分析するが、公開データでは目的がブレやすいことを実感。分析の初めに「何を知りたいか」を明確にすることの重要性を再認識した。
今後の展開と改善方針
今回の検証では、教育関連データを用いて複数手法の性能と特徴量寄与を比較した。
今後は以下の観点から、さらなる拡張する。
- 因果推論(回帰分析・PSM)による要因関係の検証
- A/Bテスト的設計によるモデル妥当性の評価
- GCPやStreamlitなどを用いたWebアプリ化と再現性確保
教育データを題材に、機械学習を“説明可能な分析手法”として活用することを目指している。