7.1 はじめに
この章では、実験や調査で得られたデータをどのように扱い、分析し、そこから何が言えるのかを学びます。データはただ集めるだけではなく、適切に処理・分析し、そこから情報を引き出すことで初めて役立ちます。これは科学的研究に限らず、ビジネスや日常生活でも非常に重要なスキルです。
- ウェルビーイングの視点: 正確なデータ分析によって、より良い意思決定を行う成功体験を積むと、自信(自己効力感)が高まり、精神的満足感や達成感を得られます。結果として、個人やチームのウェルビーイング向上にもつながります。
7.2 データ分析の基本
データ分析の基本的な流れは、以下の3ステップで進みます。
- データクリーニング: 生のデータ(生データ)に含まれる誤差やノイズを取り除き、分析できる状態に整える。
- データの可視化(視覚化): グラフや図にして、傾向や特徴を直感的に把握しやすくする。
- 統計的分析: 平均値・標準偏差などの指標や検定を用いて、データの性質や変数の関係を数値的に評価し、仮説の検証や将来予測を行う。
7.2.1 データクリーニング
データクリーニングとは、誤差、欠損値、外れ値などを処理し、分析の土台となるデータの品質を高める作業です。
- 誤差(エラー): 入力ミスや測定ミスなど
- 欠損値(Missing data): データが欠落している部分(アンケートの未回答など)
- 外れ値: 極端に他の値から離れた値
高校生の例
- 植物の成長記録に「-10 cm」という値があれば、測定か記録のミスが考えられます。前後のデータから推定し修正するか除外するなどの対応が必要です。
- アンケート調査で、年齢の欄に「200」と書かれていた場合は誤記が疑われるためデータから除外するなどする。
ビジネスの例
- 商品売上データで、ある日だけ「0円」というのはシステム障害などで欠損している可能性。過去の平均値で補完する、あるいは除外するなどの対処を行う。
Pythonコード例 (欠損値の確認と補完)
import pandas as pd
# データ読み込み
df = pd.read_csv('data.csv')
# 欠損値の数を確認
print(df.isnull().sum())
# 欠損値を平均値で補完
df.fillna(df.mean(), inplace=True)
# (欠損値が多い場合)欠損を含む行を削除
df.dropna(inplace=True)
7.2.2 データの可視化(視覚化)
データの可視化とは、データをグラフや図にして、全体像や特徴をつかみやすくする作業です。
- メリット:
- 全体的な分布や外れ値を直感的に把握できる
- グループ間の比較などが容易になる
- 他人に説明するとき説得力が高まる
高校生の例
- テストの点数をヒストグラムにすると、クラス全体の得点分布がわかり、学力のばらつきや平均点からの偏りを確認できる。
ビジネスの例
- 月別売上推移を折れ線グラフで表すと、季節変動やキャンペーン効果などを把握しやすい。
Pythonコード例 (ヒストグラムと散布図)
import matplotlib.pyplot as plt
import seaborn as sns
# ヒストグラム
plt.hist(df['score'], bins=10) # binsは棒(区画)の数
plt.xlabel('Score')
plt.ylabel('Frequency')
plt.title('Histogram of Test Scores')
plt.show()
# 散布図
plt.scatter(df['study_time'], df['score'])
plt.xlabel('Study Time')
plt.ylabel('Score')
plt.title('Study Time vs Score')
plt.show()
7.2.3 統計的分析
統計的分析では、平均値・中央値・最頻値・分散・標準偏差などの基本統計量、さらにt検定やANOVAなどの検定を活用します。
- 高校生の例: クラスのテストの平均点・中央値・標準偏差を算出し、「平均70点だけどばらつきが大きいクラス」なのか、「平均はそこそこだがほとんどの生徒が似た点数なのか」などを把握する。
- ビジネスの例: 売上データの平均・標準偏差を調べて「売上が安定しているのか、月ごとの変動が大きいのか」を判断する。
Pythonコード例 (基本統計量の算出とt検定)
import pandas as pd
from scipy import stats
# 統計量の表示
print(df.describe())
# 2つのグループの平均値に差があるか検定(t検定)
group1 = df[df['group'] == 'A']['score']
group2 = df[df['group'] == 'B']['score']
t_statistic, p_value = stats.ttest_ind(group1, group2)
print(f"t統計量: {t_statistic:.3f}, p値: {p_value:.3f}")
if p_value < 0.05:
print("2つのグループの平均値には統計的に有意な差があります")
else:
print("2つのグループの平均値には統計的に有意な差はありません")
7.3 高度なデータ分析手法
さらに一歩進んだ分析手法として、回帰分析、時系列分析、クラスタリングを紹介します。これらを活用すると、多変量データや時間軸のあるデータ、大規模データなどからより深い洞察を得ることができます。
7.3.1 回帰分析
- 概要: 変数間の関係性をモデル化し、一方の変数(目的変数)を他の変数(説明変数)で予測する。線形回帰・ロジスティック回帰などが代表的。
- 高校生の例: 勉強時間→テストの点数を予測、身長→体重を予測など、身近なデータで回帰モデルをつくる。
- ビジネスの例: 広告費と売上、気温と飲料の売上など、因果関係や相関関係を数値化し、予測モデルを構築。
Pythonコード例 (単回帰分析)
import statsmodels.api as sm
import pandas as pd
import matplotlib.pyplot as plt
# サンプルデータ
data = {'x': [1, 2, 3, 4, 5], 'y': [2, 3, 5, 6, 5]}
df = pd.DataFrame(data)
X = df['x'] # 説明変数
y = df['y'] # 目的変数
X = sm.add_constant(X) # 定数項を追加
model = sm.OLS(y, X).fit() # 回帰分析
print(model.summary())
7.3.2 時系列分析
- 概要: 時間軸上で変化するデータを分析して、将来値を予測する。季節性やトレンドを考慮したARIMAモデルなどがよく使われる。
- 高校生の例: 気温や降水量のデータをもとに明日の天気を簡易的に予測する、あるいは学校行事のタイミングを判断する。
- ビジネスの例: 月別売上データの傾向を見て、来月以降の売上を予測し、在庫・仕入れ戦略を計画。
7.3.3 クラスタリング
- 概要: K-meansなどの手法を使い、似た特徴を持つデータ同士を自動的にグループ分けする。
- 高校生の例: アンケート結果から、意見が似ている生徒グループを抽出し、クラスの傾向を把握する。
- ビジネスの例: 顧客データをクラスタリングし、似た購買行動を持つ集団を発見してマーケティングを最適化。
7.4 データの解釈と結果の報告
7.4.1 分析結果の解釈
- 要点: 分析結果は数値やグラフだけではなく、「このデータは何を意味しているのか」「仮説をどう評価できるのか」を明確にする。
- 高校生の例: 「平均点が上がったのは勉強時間が増えたからなのか、それともテストの難易度が下がったのか」を注意深く考察する。
- ビジネスの例: 売上が上がったとしても、広告効果か競合の撤退か、時期的なブームかなど、背景を考えることが大切。
8.4.2 視覚化とプレゼンテーション
- 適切なグラフ選択: ヒストグラム、棒グラフ、散布図、箱ひげ図など、データの特徴に合ったグラフを選ぶと説得力が高まる。
- プレゼンテーション: 統計用語を多用しすぎず、聞き手の理解度を考慮しながらストーリーを構築することがポイント。
- ウェルビーイング視点: 相手に分かりやすく伝えられると、コミュニケーションのストレスが減り、チーム全体の理解や協力が深まりやすい。
7.5 まとめ
本章では、データのクリーニング、可視化、統計分析から、回帰分析・時系列分析・クラスタリングなどの高度な手法まで幅広く扱いました。実験や調査で得たデータは、正しく処理し、適切に分析を行うことで、仮説の検証や新たな発見につなげられます。
- 高校生に向けて: テストや研究でデータを扱う機会はもちろん、将来の大学進学や就職、社会での活躍にも、データ分析スキルは大きなアドバンテージとなります。
- 社会人に向けて: ビジネス環境でのリスキリングにも役立つスキルセットです。データをもとに客観的に意思決定できる人材は、組織にとっても不可欠です。
- ウェルビーイングの視点: 正しいデータ分析で余計なミスや無駄を減らし、チームの達成感や協力体制を高めることができます。精神的な負担が軽減され、充実した学びや働き方につながるでしょう。
次章では、これらのデータ分析の知識をさらに発展させ、結果をどのようにまとめ、伝え、社会や組織で活用していくかについて議論します。データ分析の成果を有意義に活かすためにも、レポートやプレゼンテーションの技術を磨きましょう。