# 探索的な定型データのデータサイエンスのフロー(の例)
```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
* リサーチクエスチョンに解(の候補)が得られたか