1. 相関・統計解析
| 分類 | 手法 | 目的 | 結果・出力例 |
|---|---|---|---|
| ピアソン相関係数(Pearson r) | 直線的関係の強さを測る | 相関係数 r(例:r=0.87)→強い正の相関 | |
| スピアマン順位相関(Spearman ρ) | 単調上昇関係(非線形含む)の強さを測る | 順位相関 ρ(例:ρ=0.91)→右肩上がり傾向の確認 | |
| 偏相関係数 | 他変数を固定した上での純粋な相関 | 賃金を固定した際の管理職比率との独立関係を定量化 | |
| 共分散分析(ANCOVA) | 賃金×地域などの共変量を統制 | 地域差を除いた純粋な賃金効果を評価 | |
| 統計検定 | 群間差の有意性を確認 | p値 < 0.05 なら統計的に有意な上昇差あり |
2. 回帰・予測モデル
| 分類 | 手法 | 特徴 | 結果・出力例 |
|---|---|---|---|
| 単回帰分析 | y = ax + b で傾きを定量化 | 傾き a=0.6 → 賃金1単位上昇で進出指数+0.6 | |
| 多項式回帰 | 非線形(ゆるやかな右肩上がり)を近似 | 上昇→鈍化のカーブを可視化 | |
| 対数回帰 | 飽和傾向をもつ上昇関係を表現 | 高所得層で上昇が緩やかになる関係を抽出 | |
| 指数回帰 | 成長率一定の指数的右肩上がり | 指数係数 b=0.02 → 年5.2%成長に相当 | |
| 決定木・ランダムフォレスト | 非線形・閾値効果を捉える | 「年収300万超で進出が急上昇」などルール抽出 | |
| 勾配ブースティング | 複雑な上昇パターンの近似 | 重要特徴量=賃金>教育>年齢順を出力 | |
| SVR(RBF) | 非線形で滑らかに近似 | 曲線での上昇トレンドと信頼区間を表示 | |
| ニューラルネット回帰 | 高次非線形トレンド学習 | 回帰精度R²=0.93など高精度フィット | |
| ガウス過程回帰 | 信頼区間付きで滑らかに近似 | 予測曲線+95%信頼区間を同時表示 |
3. 成長・飽和モデリング
| モデル | 数式 | 主な用途 | 結果・出力例 |
|---|---|---|---|
| ロジスティック成長 | y = L / (1 + e^{-k(x−x₀)}) | 飽和点の推定 | 上限 L=100 → 社会進出率最大値を推定 |
| ゴンペルツ曲線 | y = a exp(−b e^{−cx}) | 初期緩慢→後期急上昇 | 成長転換点(inflection)= 賃金320万円 |
| Bass拡散モデル | 模倣・革新による成長 | 社会変化・普及分析 | 普及率p=0.02, q=0.4 → 模倣型成長優勢 |
| 学習曲線モデル | 経験や時間による成長 | 成長速度の評価 | 成長効率パラメータk=0.8を出力 |
4. クラスタリング・グループ化
| 手法 | 目的 | 結果・出力例 |
|---|---|---|
| k-means, k-medoids | 同傾向群をグループ化 | 「急成長群」「停滞群」など3クラスタ分類 |
| 階層的クラスタリング | 成長スピードの近い群を可視化 | デンドログラムで階層関係を表示 |
| GMM(混合ガウス) | 成長率の分布を確率的に分類 | 各クラスタの平均成長率を確率付きで推定 |
| DBSCAN | 外れ値・異常成長検出 | クラスタ外データ(政策特異国など)を抽出 |
5. 異常検知・外れ値解析
| 手法 | 目的 | 結果・出力例 | ||
|---|---|---|---|---|
| Zスコア・IQR法 | 外れ値除去 | Z> | 3 | のデータ10件を検出 |
| Isolation Forest | 自動外れ値検出 | 外れ点スコアを可視化(例:score<−0.25) | ||
| One-Class SVM | 標準パターン逸脱点検出 | 正常領域の境界をモデル化 | ||
| LOF(局所外れ値因子) | 局所的異常を抽出 | 地域別データで孤立点を検出 |
6. 因果・説明分析
| 手法 | 目的 | 結果・出力例 |
|---|---|---|
| 多変量回帰 | 成長要因の抽出 | 教育水準β=0.35, 育児支援β=0.22 → 教育効果最大 |
| SHAP値分析 | モデルの説明力解析 | 各要因が成長に寄与する度合いを棒グラフで出力 |
| 因果推論(DID, SCM, IV) | 政策・制度改革の影響測定 | 改正後に成長率+5%の因果効果を推定 |
| ベイズ回帰 | 成長率の不確実性を推定 | 95%信頼区間: 成長率 0.02–0.05 |
7. 分布・確率分析
| 手法 | 内容 | 結果・出力例 |
|---|---|---|
| KDE(カーネル密度推定) | 賃金・進出分布形状 | 二峰性(低・高所得層)を確認 |
| 正規分布フィット | 平均・分散確認 | μ=350, σ=80 を出力 |
| 対数正規分布フィット | 成長変数の分布モデリング | 長い右裾を持つ分布として適合 |
| 分位回帰 | 所得層別の成長差分析 | 上位層で勾配が緩やか(飽和)を示す |
8. 時系列的解析(年度がある場合)
| 手法 | 内容 | 結果・出力例 |
|---|---|---|
| 移動平均・平滑化 | ノイズを除いた成長傾向 | 平滑線が右肩上がりを強調 |
| ARIMA / Prophet | 将来予測 | 2026年予測値=380, CI=[370,390] |
| 状態空間モデル(Kalman) | 短期変動平滑化 | リアルタイム推定系列を出力 |
| LSTM・Transformer | 長期トレンド予測 | RMSE=12.3, R²=0.95 の高精度 |
9. 可視化・解釈
| 手法 | 内容 | 結果・出力例 |
|---|---|---|
| 散布図+回帰線 | 傾向を視覚表示 | 傾きが正で右肩上がりを確認 |
| 対数スケール図 | 指数上昇を線形で表示 | 直線化→指数モデル適合性を確認 |
| 3Dプロット | 多次元関係の可視化 | 年×賃金×社会進出を立体表示 |
| 勾配ヒートマップ | 成長速度の可視化 | 高賃金ゾーンで傾き最大 |
| 残差プロット | モデル誤差確認 | 残差が無作為→モデル妥当 |
10. 評価指標
| 指標 | 内容 | 結果・出力例 |
|---|---|---|
| R²(決定係数) | モデル説明力 | R²=0.89 → 高い説明力 |
| RMSE / MAE | 予測誤差 | RMSE=14.2, MAE=10.1 |
| AIC / BIC | モデル選択基準 | AICが最小のモデルを採用 |
| MAPE | 相対誤差率 | 平均誤差率4.8% |
| 相関行列 | 線形関係確認 | 高相関ペアを自動抽出 |
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
np.random.seed(42)
# ----------------------------
# 1. パラメータ設定
# ----------------------------
N = 4000 # データ数
wage = np.random.normal(350, 80, N) # 女性賃金(平均350万円, 標準偏差80)
wage = np.clip(wage, 150, 700) # 現実的な範囲に制限
# 社会進出人数(右肩上がり:賃金に比例+ノイズ)
social_participation = 50 * (wage / 100) ** 1.1 + np.random.normal(0, 50, N)
social_participation = np.clip(social_participation, 0, None)
# ----------------------------
# 2. データフレーム作成
# ----------------------------
df = pd.DataFrame({
"female_wage": wage,
"social_participation": social_participation
})
# ----------------------------
# 3. 出力と可視化
# ----------------------------
df.to_csv("women_wage_social_participation_dummy.csv", index=False)
print(df.head())
plt.scatter(df["female_wage"], df["social_participation"], alpha=0.4, s=10, color="tomato")
plt.title("Dummy Data: Female Wage vs Social Advancement")
plt.xlabel("Female Wage [10,000 JPY/year]")
plt.ylabel("Social Participation (index)")
plt.grid(True)
plt.show()