SnapCrab_2017-1-30_18-42-13_No-00

こんにちは!大学教員ブロガーのねこしです。

データ解析の手順』における
5.回帰モデルもしくはクラス分類モデルを作る
7.回帰モデルもしくはクラス分類モデルを適用できるデータ領域を決める
8.回帰モデルもしくはクラス分類モデルを用いて予測・設計を行う
についてです。実行するためのプログラムについてはこちらをご覧ください。

公開中のプログラム・コード一覧(実用的かつ実践的なデータ解析・機械学習・データマイニング) : 大学教授のブログ (データ分析相談所)

今回は、実験結果のデータがたまったとき、さらによい実験結果を得るために、どのような実験を行えばよいか提案する方法です。ガウシアンプロセス(Gaussian Process, GP)を使ったベイズ最適化の一つであり、Efficient Global Optimization (EGO) とも呼ばれています。実験データを用いて回帰分析を行い、そこで得られた回帰モデルを用いて、次の実験候補を決めます。

あるパラメータ(目的変数)の推定値が最も良くなる (たとえば最も高くなる) 実験候補を選ぶ、と考える方がいるかもしれません。しかしEGOでは、その推定値だけでなく、そのばらつき、つまり推定値の信頼性も考えて、次の実験候補を決めます。モデルの適用領域をしっかりと考えているんですね。回帰モデルを使うときに、モデルを適用できるデータ領域を決めないといけない話は、こちらをご覧ください。

回帰モデル・クラス分類モデルを使うときに必ずやらなければならないたった1つのこと~モデルを適用できるデータ領域(適用領域・適用範囲)の設定~ : 大学教授のブログ (データ分析相談所)

EGOでは、回帰分析手法としてGaussian Process(GP)を使います。GPにより、推定値の信頼性を自動的に考慮できる回帰モデルを作れるためです。一般的な回帰モデルでは、新しいサンプルを入力すると、その目的変数の推定値しか出力しませんが、GPでは推定値だけでなく推定値の標準偏差(ばらつき)も一緒に出力するわけです。標準偏差が小さいサンプルほど、推定値をより信頼できるといえます。

今回は、推定値と標準偏差の両方を用いて、次の実験候補を決めます。具体的には、まず推定値を平均とした、与えられた標準偏差の正規分布を考えます。標準偏差が大きいと横に伸びたような正規分布になり、標準偏差が小さいと縦に長い正規分布になります。

そしてその正規分布に基づいて、目的変数の目標値 (たとえば値が10以上とか、5から6の間とか) になる確率を計算します。具体的には、ある値より大きくしたいときには正規分布をその値以上で積分し、ある値の範囲に収まってほしいときには正規分布をその範囲で積分します。正規分布の面積を求めるわけですね。

そしてその面積 (目標値を達成する確率) が最も高い候補を選びます。これにより、推定値の信頼性を考慮した次の実験候補を決定できるわけです。

EGOのプログラムを簡単に入手できます!

それぞれのURLからお求めください!noteでもSPIKEでも言語が同じであれば同じものです。

R: note SPIKE

Python: note SPIKE

目的変数が複数のときのEGOのプログラムはこちらです!

それぞれのURLからお求めください!noteでもSPIKEでも言語が同じであれば同じものです。

R: note SPIKE

Python: note SPIKE

EGOは以下の手順で行います。

  1. 目的変数の目標値を決める
    ある値以上であったり、ある値の範囲だったりを決めます。
  2. 説明変数をオートスケーリングする
    オートスケーリングとは各変数から平均値を引いて平均を0にし、各変数を標準偏差で割って標準偏差を1にする操作です。
  3. GPモデルを構築する
  4. [新しいサンプルの予測をするとき] 説明変数の新しいデータからオートスケーリングした時の説明変数の平均値を引き、標準偏差で割る
  5. [新しいサンプルの予測をするとき] 上の3.で得られたGPモデルにより目的変数の推定値および推定値の標準偏差を計算する
  6. 推定値および標準偏差に基づいて、新しいサンプルごとに目的変数の目標値を達成する確率を求める
  7. 確率が最も高いサンプルを選択する

以上です。ここまでお読みいただきありがとうございます。ぜひ上のEGOのプログラムもご活用ください。

これを書いた人

ブログ:http://univprof.com/

note : https://note.mu/univprof

コード・プログラムのショップ : https://spike.cc/shop/univprof

twitter:https://twitter.com/univprofblog1

ぜひフォローをお願い致します。

データ解析の質問 募集中!

こちらへお願いします!

ご案内。

オススメ記事セレクション。

twitterでも発信中。

この記事に興味を持っていただけましたら、ぜひフォローをお願いします!


無料メルマガでブログにない情報を配信中。

データ解析・分析に興味がありましたらぜひ登録をお願いします!
無料メルマガの登録はこちら