Data Analytics
データ分析では、データを調べて疑問への回答や意思決定の指針を得ます。記述的レポートから、予測・処方モデル、動画分析までを扱います。
データ分析とは、データを調べて質問に答え、意思決定を支援する取り組みです。データの収集とクリーニング、統計や機械学習による分析、レポート、ダッシュボード、データ可視化による結果の伝達が含まれます。前四半期に売上が減少した店舗を調べる小売業者、来週の入院患者数を予測する病院、カメラ映像から交差点の車両数を数える自治体は、いずれもデータ分析を行っています。
分析の4つの種類#
分析は、答える質問に応じて一般に4種類に分けられ、それぞれが前の種類を基盤とします。
- 記述的分析:何が起きたのか。合計、平均、分布、傾向を使って過去のデータを要約するもので、ビジネスレポートの基本です。
- 診断的分析:なぜ起きたのか。ドリルダウン、相関、セグメント間の比較を通じて原因を探します。
- 予測分析:何が起きるのか。統計モデルや機械学習モデルを使って、需要、顧客離脱、設備故障などの結果を予測します。
- 処方的分析:何をすべきか。最適化とシミュレーションによって予測を推奨アクションに変換します。たとえば、レジを何台開けるべきかを提案します。
最初の3種類の分析は、scikit-learnに付属する糖尿病データセットを使って、pandasとscikit-learnで数行のコードを書くだけで実行できます。このデータセットには442人の患者について、ベースライン測定値10項目と1年後の疾患進行度スコアが記録されています。
from sklearn.datasets import load_diabetes
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
# 442 diabetes patients: 10 baseline measurements and a disease progression score one year later
data = load_diabetes(as_frame=True).frame
# Descriptive: how far did the disease progress?
print(f"progression: mean {data['target'].mean():.0f}, range {data['target'].min():.0f}-{data['target'].max():.0f}")
# Diagnostic: which measurements move with progression?
print(data.corr()["target"].drop("target").nlargest(3).round(2).to_dict())
# Predictive: how well do the measurements forecast progression for new patients?
X_train, X_test, y_train, y_test = train_test_split(data.drop(columns="target"), data["target"], random_state=0)
model = LinearRegression().fit(X_train, y_train)
print(f"R^2 on held-out patients: {model.score(X_test, y_test):.2f}")記述的分析では、進行度スコアの平均が152で、範囲は25~346と報告されます。診断的分析では、体格指数が進行度との相関が最も高く(0.59)、次いで血清トリグリセリド指標s5(0.57)、血圧(0.44)となります。予測分析では、モデルが見たことのない患者について、進行度の分散の36%を説明できます。これはR²が0.36であることを示します。
分析のプロセス#
プロジェクトでは、まず明確な質問とそれに答える指標を定め、データベース、ログ、センサー、カメラから関連データを収集します。データクリーニングとデータ前処理で欠損値、重複、不統一な単位を修正し、モデリングの前に探索的分析で分布や関係性を可視化します。次に、統計、時系列分析、データマイニングのアルゴリズムを適用し、不確実性も含めて結果を報告します。一般的なツールは、小規模な課題ではSQLやスプレッドシート、分析ではpandasやノートブック、ビッグデータではApache Sparkなどの分散処理エンジン、ダッシュボードではTableauやPower BIなどのビジネスインテリジェンスツールです。
機械学習プロジェクトでも、自身のデータとモデルに対して同じ分析を行います。トレーニング前にクラス数やラベル統計を調べることで、クラスの不均衡やデータセットバイアスが明らかになります。トレーニング後は、混同行列やクラスごとの指標を使い、モデルが誤りやすいクラス、照明条件、物体サイズを特定します。
動画分析#
コンピュータービジョンを使うと、カメラを分析用データソースにできます。物体検出と物体追跡によって、各フレームを人数、位置、軌跡に変換できます。これらを集計すると、1時間あたりの通行量、待ち時間などの待ち行列管理指標、車線ごとの車両数、生産シフトごとの不良率が得られます。店舗やオフィスにおける人数カウントと在席状況の分析も、交差点の交通管理も、ピクセルを表データに変換するこの仕組みを利用します。
Ultralytics YOLOの分析ソリューションは、変換を1ステップで実行します。動画の全フレームに対し、トラッキングを有効にしたYOLO26モデルを実行し、検出総数の折れ線グラフ、またはクラスごとの件数を示す棒グラフ、円グラフ、面グラフとして結果をリアルタイムに描画します。結果は出力動画に書き込むことができます。
データ分析と関連用語の比較#
- データサイエンス: 分析を含むより広い分野であり、レコメンデーションエンジンなど、本番環境で稼働するモデルやデータプロダクトも構築します。
- ビジネスインテリジェンス(BI): 整備された社内データを対象とするレポートやダッシュボードで、主に記述的分析と診断的分析を行います。
- データマイニング: 分析におけるパターン発見の工程であり、アルゴリズムを使って大規模なデータセットから関連性、クラスター、異常を自動的に見つけます。










