工学者が、データ分析しようとする最も多いケースは、大量のデータから「どんな因子が、目標とする事柄に影響があるのだろうか?」の調査分析。
Geminiに聞いた内容を、下記で紹介します。参考になったらありがたい。
なお、小生は、これらのいずれも利用したことがないので、「へー、いろいろできるんだ・・・」程度です。
Geminiへ質問: エクセルのデータがあるとする。
どの因子が影響があるかを、できるだけアプリの機能を使って調べる方法は?
また、Phthonを利用できる場合は、どのような方法が推奨できる?
「相関分析(変数同士の連動性)」と「要因分析(どの因子が結果に影響しているか)」を調べる方法を、エクセルの標準機能とPythonの2パターンで解説します。
1. エクセルの標準機能を使う方法
エクセルには、プログラミングなしで高度な分析ができるツールが備わっています。
① 相関分析:「分析ツール」の相関
「Aが増えるとBも増える」といった関係を一覧(相関行列)にする方法です。
-
準備: 「データ」タブに「データ分析」がない場合は、[ファイル] > [オプション] > [アドイン] > [設定] から 「分析ツール」 にチェックを入れて有効化します。
-
手順: 「データ分析」をクリック → 「相関」 を選択 → データの範囲を指定。
-
結果: 1に近いほど正の相関、-1に近いほど負の相関があることがわかります。
② 要因分析:「分析ツール」の回帰分析
「売上に最も影響を与えているのは広告費か、それとも気温か?」といった、結果に対する因子の影響度を調べる方法です。
-
手順: 「データ分析」をクリック → 「回帰分析」 を選択。
-
設定: 「入力Y範囲」に結果(目的変数)を、「入力X範囲」に原因(説明変数)の列を指定します。
-
注目点: 「P-値」 を確認します。一般的に0.05(5%)以下であれば、その因子は統計的に有意な影響を与えていると判断されます。
③ 手軽な可視化:「分析アイデア(データ分析)」
最近のエクセル(Microsoft 365)には、AIが自動で傾向を探してくれる機能があります。
-
手順: ホームタブの右端にある 「データ分析」 ボタンをクリック。
-
内容: AIが自動で「この項目とこの項目に強い相関があります」といったグラフを提案してくれます。
2. Pythonを利用する方法
Pythonを使うと、より大量のデータを、より詳細かつ美しいビジュアルで分析できます。
① 推奨ライブラリ
-
Pandas: データの加工・集計
-
Seaborn / Matplotlib: グラフ化(相関係数のヒートマップ作成など)
-
Scikit-learn / Statsmodels: 統計モデル・機械学習による要因分析
② 推奨される分析フロー
ステップ1:相関行列の可視化
全ての数値データの関係性を一目で把握するために、ヒートマップを作成します。
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# データの読み込み
df = pd.read_excel('data.xlsx')
# 相関行列の作成
corr = df.corr()
# ヒートマップで可視化
sns.heatmap(corr, annot=True, cmap='coolwarm')
plt.show()
ステップ2:ランダムフォレストによる「特徴量の重要度」算出
エクセルの回帰分析よりも柔軟に「どの因子が重要か」をランキング化できる手法です。
from sklearn.ensemble import RandomForestRegressor
# X(原因)とy(結果)に分ける
X = df.drop('目的の列', axis=1)
y = df['目的の列']
# モデル作成
model = RandomForestRegressor()
model.fit(X, y)
# 重要度を出力
importances = pd.Series(model.feature_importances_, index=X.columns)
importances.sort_values().plot(kind='barh')
まとめ:どちらを使うべき?
まずはエクセルの「データ分析」アドインで全体の傾向を掴み、より深い分析や自動化が必要になったらPythonへ移行するのが、実務上もっとも効率的なアプローチです。

