データ解析の手順について書きます。
色々なデータがありますが、
基本的に以下の項目の流れにそって解析することになります。
場合によっては飛ばしても良い項目はあります。
それぞれの項目についての詳細な話は別途記事を作成します。
- 数値化されたデータセットを準備する
最初にデータセットを準備します。
データ解析で扱うためにはデータセットが
数字で表されている必要があります。
エクセルのファイルに数値が並んでいるイメージです。
最初からデータが数字で表されていれば良いですが、
そうでない場合は、
適切に数値化する必要があります。
例えば、文字データや化学構造のデータや、
画像データなどは、目で見て確認できますが、
数値では表されていないため、
適切に数値化する必要があります。
データ数が多い場合はあらかじめデータを
選択しておくこともあります。
- データを見える化 (可視化) する
例えばエクセルファイルに数値が並んだものなど、
準備されたデータセットがどんな様子なのか、
データセット見ただけではよくわかりません。
そこで数値化されたデータを見える化します。
可視化といったりもします。
例えば、最大値・最小値・平均値・中央値・標準偏差などの
統計量を確認したり、ヒストグラムを確認したりします。
変数、もしくは記述子や特徴量 が2つある場合はさらに、
変数間の相関係数を調べたり、
横軸をある変数にして縦軸をもう一つの変数にして
データをプロットしたりして確認できます。
変数の数がそれ以上の多次元 (多変量) のデータ、
つまり変数の数が多いデータ、では、
ロットして全体の様子を確認することは難しいため、
例えば二次元などに低次元化してデータの様子を確認します。
この見える化 もしくは可視化 について、
次の外れ値処理・変数処理・ノイズ処理を行った後に、
再度行うことで、
より適切にデータの様子を確認できることがあります。
- 外れ値処理・変数処理・ノイズ処理を行う
データを見える化すると、
使っている変数が意味のある変数かどうか、
データに外れ値があるかどうか、
を判断できるようになります。
例えば標準偏差が0の変数や、
関係数が1の変数の組における一方の変数を
削除してもデータセット内の情報量は変わりません。
またヒストグラムを見て、
他のデータと大きく異なる値を持つデータは、
後の解析に悪影響を及ぼす可能性があるため、
外れ値として削除するか検討したほうがよいです。
またスペクトルデータや時系列データを扱う際は、
ノイズ処理を行うこともあります。
- クラスタリング (クラスター解析) を行う
データセットの中には様々なデータが含まれています。
データを見える化することによって、
データが特徴的に分布しているのを確認できます。
ここではデータセットを、
データ間の類似度にもとづいてのかたまり (クラスター)
ごとに分けます。これによりデータ内の構造が分かり、
クラスタリングの結果が有用な知見となります。
- 回帰モデルもしくはクラス分類モデルを作る
目的変数と説明変数との間の関係をモデル化します。
目的変数が連続値の場合は回帰分析、
目的変数が離散値 (カテゴリ値) の場合はクラス分類分析になり、
それぞれ回帰モデル・クラス分類モデルを作ります。
なおモデル作成の前に、
データセットをモデルを構築するためのデータセット
(モデル構築用データセット) と作成されたモデルを
検証するためのデータセット
(モデル検証用データセット、ブラインドデータセット) に
分けることが一般的です。
あたかもモデル検証用データセットの目的変数の値が、
わからないと仮定して予測を行い、
実際の目的変数の値と予測された目的変数の値との、
一致具合を検証します。
- 外れ値処理・変数処理・ノイズ処理を行いながら回帰モデルもしくはクラス分類モデルを完成させる。
いつも最初から良好なモデルが得られるわけではありません。
外れ値の削除、変数選択、変数変換、スムージングなどを
行いながら予測性能の高い回帰モデルもしくは
クラス分類モデルを作成することを目指します。
- 回帰モデルもしくはクラス分類モデルを適用できるデータ領域を決める
回帰モデルやクラス分類モデルが作成されると、
基本的にはどんな説明変数のデータもモデルに
入力することができ、
目的変数の値を予測することができます。
しかし、その予測された値を信頼して良いかどうかは話が別です。
モデルを構築した際に用いたデータと、
非常に類似したデータであれば、
モデル構築用データセットにおける誤差 (回帰の場合)、
もしくはエラー率 (クラス分類の場合) と、
同じくらいのものを期待することができますが、
類似しなくなればなるほどそれと同じような精度は
期待できなくなってしまいます。
モデル構築用データセットにおけるモデルの精度と、
同じ精度を期待できるデータ領域を決めたり、
予測したいデータごとに期待される誤差、
もしくはエラー率を推定する仕組みを構築します。
- 回帰モデルもしくはクラス分類モデルを用いて予測・設計を行う
回帰モデルやクラス分類モデルに、
新たなデータを入力することで目的変数の値を予測し、
その予測値の信頼度を計算します。
その結果を用いて新たな材料の作り方を設計したり、
新たな分子を設計したりします。