はじめに
このギャラリーについて
掲載している図・コード・文章は、すべて AI(Claude Code)が *-diagnostics skills に従って生成したものです。
人手による内容の検証は行っていません。診断図の雰囲気と情報量を眺めるためのもので、
個々の数値や判定の正しさを保証するものではありません。
題材は Titanic の train.csv(891 人)。生存時間分析のみ lifelines 同梱の Rossi 再犯データです。スキルの動作を示すデモで、データについての結論を出すものではありません。
図は出力そのままです。基準を満たしている図も、前提が崩れている図も同じように並べています。
各手法に並んでいるのは、「題材」に書いた手法を指示したときに出る図だけです。指示していない手法の図(k-means に対する階層クラスタリングのデンドログラムなど)や、行順に意味のないデータでの Durbin-Watson のように前提を満たさない診断は出していません。
各手法には診断サマリー(診断項目 / 実測値 / 合格基準 / 判定 / 次アクション)があり、ここにはそこから数項目を抜粋しています。
OK 合格基準を満たしている。
確認 人の判断が要る項目。
要対処 基準を外れている。次アクションがつく。
絞り込み
すべて表示
要対処を含む手法
①
統計的推論
statistical-inference-diagnostics
回帰・検定・生存時間・ベイズ。全 6 手法。
01
線形回帰(OLS)
references/ols.md
ols_residuals.png
残差 4 点セット。残差 vs 予測値(LOWESS 付き)、Q-Q、Scale-Location、レバレッジ vs 標準化残差(点サイズ = Cook's D、4/n に等高線)。
各パネルの小見出しに合格の読み方が入っています。Cook's D が 4/n を超えた 37 件は赤で、とくに外れた点には行 ID が付きます。
診断サマリーから
要対処 Breusch-Pagan p = 9.6e-05(基準 > 0.05)HC3 ロバスト SE で再推定
確認 Cook's D > 4/n が 37 件該当行の実データを見て判断
確認 Shapiro-Wilk p = 1.0e-31n = 712 なので中心極限定理で緩和できる
OK VIF 最大 2.28(TicketSize)。Durbin-Watson は行順(PassengerId)に意味がないので出していない
02
ロジスティック回帰・GLM
references/glm.md
glm_logit_diagnostics.png
ROC(AUC に陽性率を併記)、PR(ベースライン = 陽性率の破線)、キャリブレーション(十分位ビン)、binned residual plot(±2SE バンド付き)。性能指標は 5-fold の out-of-fold 予測に対して計算しています。
二値では deviance 残差が y = 0/1 のため 2 本の帯に割れ、無構造かどうかを目視判定できません。glm.md は二値の残差診断に binned residual plot を求めています。
診断サマリーから
OK AUC 0.851(陽性率 40.4%、n = 712、陽性 288 件、AP 0.825。5-fold out-of-fold)
OK Brier 0.145(ベースライン 0.241)、係数 |max| 2.64・SE max 0.56 で完全分離の疑いなし
OK EPV 36.0(陽性 288 件 / 説明変数 8)、VIF max 1.97(Pclass_3)
要対処 binned residual が ±2SE バンド外 2/20 ビン(件数は基準 3 個以内)だが、低確率側で過小予測の系統的な弧年齢の非線形項や性別×客室クラスの交互作用を試す
確認 キャリブレーションの最大乖離 0.126確率を使うなら学習外データで較正
確認 閾値 0.5 で TN 363 / FP 61 / FN 82 / TP 206コストから閾値を選び直す
03
混合効果モデル
references/mixed-effects.md
mixed_diagnostics.png
群別の生死 × 年齢(1 列 = 1 群)、条件付き残差、残差 Q-Q、ランダム効果(BLUP)の Q-Q、固定効果のフォレスト、群サイズ分布。
フォレストには単純 OLS とクラスタ頑健 SE の係数も並びます。
診断サマリーから
要対処 二値の目的変数を線形混合効果で近似しているロジットの GLMM で再推定
OK ICC = 0.44(基準 > 0.05〜0.1)
確認 群あたり中央値 1 人、1 人だけの群が 80.3%ランダム傾きは置かない
OK 収束 True・警告なし、ランダム効果分散 0.0635、群数 681
04
群間比較・仮説検定
references/hypothesis-test.md
htest_group_comparison.png
年齢と運賃の群別分布(箱ひげ + 個票)と、効果量 Cohen's d のフォレスト。縦破線は仮置きの最小重要差 |d| = 0.2。
診断サマリーから
OK 差の点推定 + 95% CI: 年齢 −2.28 歳 [−4.47, −0.09]、log1p(運賃) +0.66 [0.53, 0.78]
OK 効果量 + CI: 最大は運賃 d = +0.72 [0.57, 0.87]。仮置きの |d| = 0.2 を明確に超えたのは運賃だけ(実務上の意味は MID を決めてから判断)
OK p 値は出していない。等分散検定で手法を選ばず最初から Welch
確認 最小重要差(MID)が未定義意思決定に使うならドメイン側で定義
05
生存時間分析(Kaplan-Meier・Cox)
references/survival.md
06
ベイズ推定・MCMC
references/bayesian-mcmc.md
収束が基準を満たすまで事後分布を報告しないスキルなので、対処順(非中心化 → 事前分布を絞る → adapt_delta を上げる)を
1 段ずつ実行した 4 段ぶんの図が残っています。
② 非中心化 R-hat 1.005 / ESS bulk 1,060 / 発散 9
mcmc_2_noncentered_trace.png トレース。
mcmc_2_noncentered_pair.png ペアプロット。漏斗が解消しています。
③ 事前分布を絞る tau ~ half-N(0, 0.5) / 発散 1
mcmc_3_prior_trace.png トレース。ESS bulk 1,466。
mcmc_3_prior_pair.png ペアプロット。発散は 1 件。
診断サマリーから(④ / ① を併記)
OK R-hat max 1.002 / 1.035、ESS bulk min 1,298 / 161、ESS tail min 1,267 / 95
OK 発散 0 / 213、BFMI 0.83、Pareto k max 0.24、fit.diagnose() 警告なし
確認 事後予測で女性 2 等・女性 3 等が 94% 区間外交互作用を入れて再推定
②
予測モデリング
predictive-modeling-diagnostics
分割と評価、木系モデル、モデル解釈。全 4 手法のうち 3 手法(time-series.md は Titanic に時系列がないため対象外)。
07
評価手続き・交差検証・リーク
references/ml-evaluation.md
mleval_diagnostics.png
学習曲線、CV の fold 別スコア分布(Dummy と「性別のみ」のベースラインを同じ軸に並置)、混同行列、ROC、PR、キャリブレーション。
診断サマリーから
OK CV ROC-AUC 0.858 ± 0.052 vs Dummy 0.500 / 性別のみ 0.754 ± 0.033
OK 前処理はすべて Pipeline 内。test 評価は 1 回だけ(AUC 0.901)
OK グループ無視との差 +0.003。ただし fold 間 SD はグループ分割のほうが 4 倍大きい
確認 キャリブレーション最大乖離 0.204(test 179 件)、閾値 0.5 固定
08
木系モデル(決定木・RF・GBDT)
references/tree-model.md
09
モデル解釈(SHAP・PDP / ICE)
references/model-interpretation.md
予測モデルの振る舞いの説明であり、因果効果ではありません。この 1 文を報告冒頭に書くこと自体が診断項目になっています。
interp_importance_shap.png
permutation importance(棒 + エラーバー)、SHAP beeswarm、SHAP bar、特徴量間相関ヒートマップ。
interp_pdp_ice.png
上位 3 特徴の PDP に ICE を重ね、x 軸にデータ密度の rug を描いたもの。SHAP は対数オッズ、PDP / ICE は予測確率です。
診断サマリーから
OK SHAP 加法性の検算 max |差| = 1.1e-14(valid 全件)
要対処 重要度順位の安定性: fold 間 ρ の最小 0.45(平均 0.78、基準 > 0.7)。手法間の順位一致は ρ = 0.98順位は主張せず上位 3 つ(male, Pclass, Fare)の集合として報告
OK |r| > 0.8 のペアなし(最大 0.62、Pclass–Fare)
確認 Fare > 100 は valid の 7.3%密度の薄い領域の PDP は読まない
③
因果推論
causal-inference-diagnostics
観察データの効果推定と準実験。全 3 手法のうち 2 手法(ab-test.md は Titanic にランダム割付がないため対象外)。
10
観察データの効果推定(傾向スコア・IPW)
references/causal-observational.md
causal_obs_diagnostics.png
群別の傾向スコア分布(共通サポートの確認)、love plot(調整前後の SMD、|SMD| = 0.1 に縦破線)、IPW 重みの分布、
ナイーブ比較 vs 調整後推定。
診断サマリーから
OK ナイーブ +0.324 [+0.246, +0.400] / ATE +0.282 [+0.198, +0.367] / ATT +0.298 [+0.226, +0.374]
OK PS モデル AUC 0.789、Kish 有効 n 438 / 781(56%)、トリミングで 110 件除外
確認 |SMD| max 0.161(年齢欠測フラグ、基準 < 0.1)交互作用を足すか層別して再推定
確認 E-value 3.33(参考: 性別と生存の RR は 3.93)、SUTVA が破れうる
11
準実験:回帰不連続デザイン(RDD)
references/causal-quasi-experimental.md
causal_qe_rdd_diagnostics.png
ビン化散布図と閾値両側の局所線形フィット、バンド幅感度(最適の 0.5〜2 倍)、running variable(年齢)の密度、共変量の跳びとプラセボ閾値。
診断サマリーから
要対処 推定値 +1.67 [+1.47, +2.59]。閾値近傍 7 人の局所線形で効果として読めず、13 歳で処置割当が変わる根拠もない効果は報告しない
要対処 閾値近傍 n = 4 / 3(目安は両側 ≥ 20)、共変量の跳びが 0/4 変数で推定不能
要対処 プラセボ閾値 25 歳で跳びあり(−0.195 [−0.275, −0.107])
OK 密度検定 p = 0.99、局所線形(p = 1)+ MSE 最適バンド幅 + 三角カーネル
④
教師なし分析・EDA 前処理
unsupervised-eda-diagnostics
欠測と外れ値、クラスタリング、次元削減、異常検知。全 4 手法。
12
欠測・外れ値・EDA 前処理
references/missing-data.md
missing_diagnostics.png
欠測マトリクス、欠測相関ヒートマップ、群別の欠測率、観測値 vs 代入値の分布比較(平均値代入も併置)、
運賃の分布(外れ値候補に印)、相関行列(Age 欠測を除く完全ケース n = 714。null を含むまま計算すると Age の相関が全部 NaN になる)。
診断サマリーから
要対処 Cabin 欠測 77.1%値を使わず HasCabin フラグに置き換え
要対処 リストワイズ削除で 177 / 891(19.9%)を失う、Fare の歪度 4.79MICE を併記、log1p(Fare) を使う
確認 Fare > 100.3 が 53 件、Fare = 0 が 15 件実データを見て別母集団かを判断
確認 Age 欠測率は 1 等 13.9% / 3 等 27.7%。客室クラス依存の MAR と見立て
13
クラスタリング(k-means)
references/clustering.md
cluster_diagnostics.png
手法によらず出す 4 パネル(シルエットプロット、PCA 2 次元射影、標準化セントロイド、クラスタリングに使っていない変数でのプロファイル)に、
使った手法の k の根拠を 1 枚足した構成。k-means ではエルボー(inertia)とシルエット平均の走査で、列ごと順列 20 本の帰無ベースライン
(5〜95% を灰色の帯)と比べる。デンドログラムは階層クラスタリングを使ったときだけ足す。
診断サマリーから
OK シルエット平均 0.42(k = 9)に対し帰無 95% = 0.31
OK 安定性 ARI: seed 5 本 0.96 / 80% サブサンプル 0.93
OK 各クラスタの n は 5.3%〜36%、n_init = 20、seed 固定
確認 帰無との差が k によらずほぼ一定(0.106〜0.107)GMM の BIC でも比較し、運用可能な数から人が決める
14
次元削減(PCA・因子分析・t-SNE)
references/dimensionality-reduction.md
dimred_pca_efa.png
スクリープロット + 平行分析(推奨因子数 2 に縦破線)、バイプロット、回転後負荷量のヒートマップと共通性、累積寄与率。
dimred_tsne_grid.png
perplexity 5 / 30 / 50 × seed 3 本のグリッド。各パネルに trustworthiness を併記し、
「クラスタの大きさと距離は意味を持たない」と注記しています。
診断サマリーから
要対処 共通性の最小が 男性 0.11、年齢 0.27(基準 > 0.3)因子の解釈から外すか変数を入れ替える
OK KMO 0.66、Bartlett p < 1e-300、因子数は平行分析で 2
OK t-SNE の近傍一致 Jaccard 0.89〜0.97、trustworthiness 0.98〜0.99
確認 累積寄与率は PC2 まで 62.6%、二値・順序変数を Pearson 相関で扱っている
15
異常検知(IsolationForest)
references/anomaly-detection.md
anomaly_diagnostics.png
異常スコアのヒスト(閾値に縦破線)、上位 14 件の特徴量 z スコア(各行が「なぜ異常か」)、
単純ベースライン(z スコア・Mahalanobis)との上位集合 Jaccard、seed と max_samples を変えたときの上位集合の一致。
contamination は閾値を動かすだけで順位を変えないので、感度分析では振っていません。
診断サマリーから
OK 上位 14 件すべてに各特徴の z スコアを付与。Survived は異常ラベルとして使っていない
要対処 seed・max_samples を変えた上位 14 件の Jaccard 最小 0.33(max_samples 128 vs 512。seed 間は 0.68〜0.91)どの設定でも上位に入る行だけを要確認に
確認 スコア分布に明確な切れ目がない「件数で決めた」と明記
確認 単純ベースラインとの Jaccard は z スコア 0.33 / Mahalanobis 0.27。ラベルがなく勝敗は判定できない
⑤
シミュレーション・数理最適化
simulation-optimization-diagnostics
モンテカルロと MIP。全 2 手法。
16
モンテカルロシミュレーション
references/simulation.md
sim_diagnostics.png
running mean ± 95% CI vs 反復数、出力の分布(5 / 50 / 95 パーセンタイルに縦破線)、OAT 感度分析の tornado、
共通乱数で対応づけたシナリオ差の分布。
診断サマリーから
OK MCSE 0.100 / CI 半幅 0.196(人数で報告するので基準は < 0.5)
OK 解析解と一致(平均 342.1 vs Σp 342.0、分散比 0.985)、保存則の誤差 5.7e-14
OK 共通乱数で差の SD が 19.1 → 14.2。裾リスク P(差 ≤ −100 人) = 84.0%(MCSE 0.3pt、95% 半幅 0.5pt)
確認 モデル上の what-if であり因果効果ではない。入力分布は MLE の漸近正規
17
数理最適化(MIP)
references/optimization.md
opt_diagnostics.png
MIP gap vs 経過時間、解の可視化(ボート別の着席構成で定員と左舷ルールを確認)、パラメータ ±20% の tornado、
貪欲法ベースラインとの目的値比較。
診断サマリーから
OK status = Optimal(timeLimit 60 秒 / gapRel 1e-4 / seed 固定で 0.48 秒、最終 gap 0.0)。時間切れではない
OK 解を代入して独立に再検証した制約違反の最大値 3.3e-16、目的値の再計算差 0.0
OK MIP 900 vs 貪欲法 754(+19.4%)、変数 8,590 / 制約 701、LP 双対値は全隻 1.00
確認 重み(子ども 3 : 女性 2 : 成人男性 1)は仮定。定員 ±20% で解の構造が変わる