# 探索的な定型データのデータサイエンスのフロー(の例) ```mermaid graph TD ST[リサーチクエスチョンの設定] Node0[データの収集] Node1[分析開始] Operation0(概念図、変数連関図、特性要因図等の作成) Operation1(各変数の意味と役割の確認\n要因、アウトカム、共変量等) Operation2(変数の並べ替え\nアウトカム→要因→共変量) Operation3(各変数の総覧) Operation4(変数間の関係の総覧) Operation5(シナリオ作成) Operation6(相関分析と偏相関分析) Operation6A(回帰分析) Operation7(次元縮約) Operation8(グラフ探索) Operation9(予測分析) Condition{シナリオ評価} Operation11{シナリオ見直し} Operation12(層別) Operation13(層生成) Operation14(特徴量追加) Operation15(チューニング) Operation16(変数選択) Operation17(モデル選択) Operation18(ハイパーパラメータ調整) ED[報告書起草] Report1(考察のメモ起草) Report2(概念図、変数連関図、特性要因図等の改訂) Report3(モデル図やモデル表の準備) Report4(その他の図や表の準備) ST --> Node0 --> Node1 --> Operation0 Operation0 --> Operation1 Operation1 --> Operation2 Operation2 --> Operation3 Operation3 --> Operation4 Operation4 --> Operation5 Operation5 --> Operation6 --> Operation6A Operation5 --> Operation7 Operation7 --> Operation8 Operation7 --> Operation9 Operation5 --> Operation8 Operation5 --> Operation9 Operation6 --> Condition Operation6A --> Condition Operation7 --> Condition Operation8 --> Condition Operation9 --> Condition Condition -- 目標未達 --> Operation11 Operation11 -- 不均質 --> Operation12 Operation11 -- 不均質 --> Operation13 Operation11 -- 不十分 --> Operation14 Operation11 -- 範囲変更 --> Operation7 Operation11 -- 範囲変更 --> Operation8 Condition -- 要汎化 --> Operation15 Operation12 --> Operation6 Operation12 --> Operation7 Operation12 --> Operation8 Operation12 --> Operation9 Operation13 --> Operation6 Operation13 --> Operation7 Operation13 --> Operation8 Operation13 --> Operation9 Operation14 --> Operation6 Operation14 --> Operation7 Operation14 --> Operation8 Operation14 --> Operation9 Operation15 --> Operation16 Operation15 --> Operation17 Operation15 --> Operation18 Operation16 --> Condition Operation17 --> Condition Operation18 --> Condition Condition -- 目標達成 --> ED Condition -- リセット --> Node0 Condition -- リセット --> Node1 ED --> Report1 --> Report2 --> Report3 --> Report4 ``` ## リサーチクエスチョンの設定 リサーチクエスチョン(データ分析の目的と目標)を設定する。 ## 総覧・鳥瞰・俯瞰 * 1変量の分析・ヒストグラム * 2変量の分析・散布図・クロス集計 ## 相関分析 * 変数間の線形関係の分析 * 線形性を仮定 ## 重回帰分析 * アウトカム変数と共変量の関係を分析 * 線形近似の下での推論を提供 ## 次元縮約 すべての変数、あるいは一部の変数を、それらよりも低次元の変数に合成して要約すること。 * **主成分分析**は線形変換 * 多次元尺度構成法も線形変換 * カーネル主成分分析は非線形変換 * 多様体学習は非線形変換 (多変量埋め込み) * 対応分析 (コレスポンデンス分析) ## グラフ探索・検証 変数間の関係(構造)を探索したり検証したりすること。 * 線形性を仮定 * 変数間の関係を探索 * **因子分析** * **共分散構造分析** (構造方程式モデリング) ## 予測分析 重回帰分析の拡張。 一次モデル。 * 期待値予測 * 重回帰分析 * ロジスティック回帰分析 * ポアソン回帰分析 * 指数回帰分析 * 生存時間回帰分析 * 判別分析 * 決定木分析 (交互作用許容) * サポートベクトルマシン、サポートベクトル回帰 * ニューラルネットワーク 一次モデルのアンサンブル学習。 * 回帰、決定木 * ブースティング * XG-Boost * LightGBM * バギング * RandomForest * AutoML 注意点 * データの発生時点に注意する。 * 相関で予測していいか検討する。 * 結果で予測しない。 * モデルの学習のための仮定を検討する。 * 残差分析 * 推定に逆行列を用いる$\Rightarrow$多重共線性 * 外れ値、てこ比 ## 層別 BY * 母集団に異質性が予見される場合は、その異質性を規定する要因で層別して分析する * 層生成や層別探索の手法を層別に用いる場合は、アウトカム変数を入れないと、得られた層別が因果関係の「因」の候補となる * アウトカム変数も含めて層別するのは、原因系と結果系の変数がいずれも、異なる範囲で異なるモデルが得られそうなとき (結果系を含めると後ろ向き研究になる) ## 層生成・層別探索 データに層別を提案させる。 * **階層クラスタリング**:N数が少ない場合(N数が多いと計算量と表現の観点から使い物にならなくなる) * **k-means法**:N数が多い場合 * **潜在クラス分析**:変数がすべて名義尺度か順序尺度の場合(N数が千や万のオーダーになると計算量や解釈に少し苦労する、最適なクラス数が多くても解釈に苦労する) * 正規混合分布(潜在プロファイル分析):N数がある程度多い場合(最適なクラス数が多いと解釈に苦労する) * 決定木・回帰木(二項分布や正規分布の層別探索に相当) ## 汎化能力の向上 * 期待損失最小化のためのハイパーパラメータの調整 * 変数選択 * モデル選択 * スパース回帰(LASSO) ## 評価 * 予測能力 * MSE, RMSE * エントロピー損失 * 当てはまりの良さ * 決定係数, $R^2$ * 寄与率 * 分散分析 * 単純構造 * 解釈 * 説明能力 * モデル選択基準 * AIC * BIC * AICc * CIC * リサーチクエスチョンに解(の候補)が得られたか