実践して分かった!「Pythonで学ぶ実験計画法入門」の凄さとデメリットまとめ

Pythonで学ぶ実験計画法入門

「Pythonで学ぶ実験計画法入門」が気になる人

購入したら業務に役立つのかな?
Pythonで実験計画法ができるの?
実際に買った人のレビューはどう?
こんな疑問を解消します

 

記事の内容

  • Pythonで実験計画法を実践した感想
  • Pythonで実験計画法を行うメリットとデメリット
  • 「Pythonで学ぶ実験計画法入門」をおすすめできる人とできない人

 

記事の信頼性

    QC検定1級で統計手法の講師をしている製造業エンジニアが、実際に「Pythonで学ぶ実験計画法入門」を購入し、従来の方法と比較検証を行って書いたレビュー記事です

☞プロフィール詳細はこちら

 

実レビュー証明のため、名前入り写真も撮影。
紙の本ではなく電子書籍で購入しているのでPC画面であることはご了承ください。

Pythonで学ぶ実験計画法入門
Pythonで学ぶ実験計画法入門

 

試し読みの画像なんじゃないの?

と疑う人のために、書籍中間でも撮影。

書籍中間の写真
書籍中間の写真

 

さて、そろそろエアレビューでないことは信じてもらえたでしょうか?

 

近年はPythonによるデータ分析が普及しました。
効率よくデータを集める実験計画法が、無料のPythonで実施できたら嬉しいですよね?
そんな訳で「Pythonで学ぶ実験計画法入門」は第5刷の重版となるほど大注目の書籍となっています。

著者の金子弘昌先生も以下のようにツイートされています。

 


私も

Pythonで実験計画法ができれば高価な統計解析ソフトいらないし最高!

と思って本書を購入しました。

 

しかしご注意ください!
従来の「直交表実験」などをイメージして本書を購入すると大失敗します。
なぜなら書籍で紹介されているのは「ベイズ最適化」による実験計画法だから。

 

「ベイズ最適化」は実験回数を削減するには非常に強力な手法です。
しかしその一方でデメリットがあったのも事実。

 

で、結局良いのか悪いのか?
まず結論を書きます。

 

結論:技術者なら武器の1つとして持つべき

 

実践してみて分かったのですが「ベイズ最適化」はヤバいほど少ない実験回数で最適化を実現します。
なので技術者は全員知っておいたほうがいいです。

 

しかし活用場面を選ぶので何にでも使うのはNG!
”武器の1つとして持ち、有効な場面だけ使う”
が良さげです。

 

本記事では「Pythonで学ぶ実験計画法入門」を読み、実際に実験をしてわかった「ベイズ最適化」の適する場面と適さない場面を紹介します。

 

本記事を読むことで「Pythonで学ぶ実験計画法入門」の価値がわかり、購入するべきか否か判断できますよ。

 

Pythonで実験計画法を実践した感想

本を読みながら学習する人
本を読みながら学習する人
実践した感想。
①実験回数の削減効果と最適条件の探索力は脅威的!
②因果関係を明確にしたい時は従来の実験計画法の方が良いかな。

簡単に説明します。

 

検証の内容

検証には↓のフライトシュミレーターを使用。

 

従来の実験計画法「D最適計画」と本書に記載されている「ベイズ最適化」でどちらが『より少ない実験回数でより長く飛ぶ設計パラメータを見つけられるか』検証しました。

 

従来の実験計画法やD最適計画について知りたい方はこちらの記事を御覧ください。

✓あわせて読みたい

実験計画法を実践したい人↓実験計画法の実践方法が分からん。簡単に実践できる方法はないの?エクセルより楽に実践したい。具体的な手順が知りたい。こんな悩みを解消します&[…]

ロケットに乗るビジネスマン

 

実験に使用したシミュレーター「PPSim」

フライトシミュレーター「PPSim」
フライトシミュレーター「PPSim」

PPSim(ピーピーシム) Version 1.3は、Windows98/Me/2000/XPパソコン上で動作する、紙飛行機設計用のフライトシミュレーションソフトです。
引用元サイト:https://sites.google.com/view/v-tails/win/ppsim

 

実験因子と水準範囲は以下の通り。

名称下限上限
重心位置(mm)2040
主翼展開長(mm)150240
尾翼展開長(mm)5080
胴体全長(mm)160220
上下角(度)4590

 

特性値の滞空時間(s)がより長いほど優れた機体です。
(風速は1.0m/sに固定し外乱はなし)

D最適計画とベイズ最適化それぞれで設計パラメータを組合せた実験計画を立て、シミュレータで実験を行い結果を解析しました。

 

D最適計画による実験計画

D最適計画_実験データ
D最適計画_実験データ

 

ベイズ最適化による実験計画

ベイズ最適化_実験データ
ベイズ最適化_実験データ

 

①実験回数の削減効果と最適条件の探索力は脅威的!

 

以下に実験結果を示します。

 

●実験回数
D最適計画:23回
ベイズ最適化:12回

 

●最適条件での飛行時間
D最適計画:55.265秒
ベイズ最適化:67.338秒

 

ベイズ最適化による最適条件での滞空時間

ベイズ最適化による最適条件での滞空時間
ベイズ最適化による最適条件での滞空時間

 

見ていただくとわかる通り、ベイズ最適化はなんと従来の約3分の2の実験回数で約1.2倍の性能を獲得しました!

 

これは本当に驚異的な実験回数です。
5因子の組合せ実験をこれほど少ない回数で最適化できたのは本当に驚きました!

 

②因果関係を明確にしたい時は従来の実験計画法の方が良い

D最適計画は「想定されるモデル式を効率良く推定するための実験点の組み合わせ」を考えます。

 

モデル式とは特性値(y)と要因(x)の関係式のこと。
最も単純なモデル式はy=ax+bという一次方程式です。

 

モデル式がわかるということはつまり
「特性値に対してどの因子がどれくらい影響しているか」がわかる。
ということです。

 

D最適計画で求めた因子と特性値の関係性

因子と特性値の関係
因子と特性値の関係

 

一方でベイズ最適化はとにかく特性値が望ましい方向に向かう確率が高い点を実験点に選びます。
特性値と因子の関係は気にしません。

 

とにかく「確率的にこっちの方が良くなりそうだ」という条件で順番に実験。

 

なので、特性値と因子の関係性はわかりません。
(得られたデータを回帰分析すれば少しは分かりますが、データ数が少ないので精度は悪い)

 

それを考えると

  • とにかく特性値を理想状態に最適化
    →ベイズ最適化
  • 特性値と因子の関係性を知りたい
    →従来の実験計画法

という使い分けが良い気がしました。

 

Pythonで学ぶ実験計画法入門を読むメリットとデメリット

先生の授業でひらめく生徒

 

ここからは自分が感じた「Pythonで学ぶ実験計画法入門」を読むメリット・デメリットを解説します。

Pythonで学ぶ実験計画法入門を読むメリット

メリットは以下の3点です。

  1. Pythonで実験計画法を実践する方法がわかる
  2. 少ない実験回数で最適化できる
  3. サンプルコードですぐに実践できる

 

簡単に解説します。

 

①Pythonで実験計画法を実践する方法がわかる

Pythonでの実験計画法を実践する方法を紹介した書籍はほとんどありません。
特に「ベイズ最適化」は昨今、注目されている手法なので、その理論と実践方法を体系的に学べる本書のメリットは大きいでしょう。

 

②少ない実験回数で最適化できる

先にも紹介した通り、ベイズ最適化の実験回数の削減効果と最適条件の探索力は脅威的です。
その実践方法がわかるのはとても価値があります。

 

③サンプルコードですぐに実践できる

本書と連動したサンプルコードがダウンロードできるので、すぐに自環境でトライできます。
サンプルコードを使ってサクッとベイズ最適化で最適条件を見つける事が出来れば、業務がとても楽になるはず。

 

以上が「Pythonで学ぶ実験計画法入門」を読むメリットです。

Pythonで学ぶ実験計画法入門を読むデメリット

デメリットは以下の2点と感じました。

  1. 因子と特性値の関係は分からない
  2. Pythonの基礎知識が必要

 

こちらも簡単に解説します。

 

①因子と特性値の関係は分からない

感想でもお伝えしたように、因子と特性値の関係性が分からないのはデメリットと言えます。
場合によっては
『とりあえずベイズ最適化で最適条件を見つけておいて、後追いで追加実験を行い因果関係を調べる』
みたいな対応が必要かもしれません。

 

②Pythonの基礎知識が必要

書籍タイトルから考えれば当然ですが、Pythonを扱える事が前提となります。
サンプルコードはありますが、ある程度はコードを理解できないと業務への適応は難しいでしょう。

 

「Pythonをこれから学習したい」という人にはこちらの記事がおすすめです。

✓あわせて読みたい

Pythonのおすすめ入門書は?プログラミング勉強の始め方が分からない。入門書が多すぎて選べない。プログラミングによるデータ解析を本業とするエンジニアの私が紹介します。※プロフィールはこちら[…]

Python入門書のおすすめランキング!データ分析に向けて【初心者用】

 

以上2点が「Pythonで学ぶ実験計画法入門」を読んで感じたデメリットです。
これを踏まえて他の購入した人の声も調査してみました。

 

「Pythonで学ぶ実験計画法入門」を購入した人の声

レビューする人たち
レビューする人たち

 

SNS等で「Pythonで学ぶ実験計画法入門」を購入した人の声を調べてみました。

 

ポジティブなコメント

まずはポジティブなコメントを紹介します。

 

 

ネガティブなコメント

ネガティブなコメントもあったので紹介します。

 

 

以上2点がネガティブなコメントでした。

 

以上の結果を踏まえて「Pythonで学ぶ実験計画法入門」をオススメできる人とできない人を考えてみました。

 

Pythonで学ぶ実験計画法入門をオススメできる人とできない人

虫眼鏡で発見された人材

 

自分で実践した経験と他の方のレビューも踏まえて、「Pythonで学ぶ実験計画法入門」をオススメできる人と、オススメできない人を考えてみました。

 

まずはオススメできない人はこちら。

 

オススメできない人

  1. 因子と特性値の関係を知りたい人
  2. 実験計画法の初心者

 

サクッと解説します。

 

①因子と特性値の関係を知りたい人

何度も言っていますが因子と特性値の関係性を知りたい人には不向きです。

 

例えば製造業の品質管理においては製品の特性値に影響する要因を特定し、継続的な管理が求められます。
たとえ特性値がある時点で最適だとしても、それを継続的に管理する為の要因(因子)が分からなければ、安定した品質は得られません。

 

因子と特性値の関係性を知りたい人にはこちらの記事がオススメです。

✓あわせて読みたい

実験計画法ってどうやるの?実験回数を減らすにはどうしたらいい?こんな悩みを解消します。 製品開発や生産現場において「実験の回数を減らす」事は非常に重要。高価な試作品を[…]

実験計画法

 

 

②実験計画法の初心者

また従来の実験計画法を全く知らない初心者の人にも本書はおすすめ出来ません。
なぜなら先に説明したようにベイズ最適化は万能ではなく、業務の目的に応じて従来の実験計画法と使い分ける必要があるから。

 

実験計画法の初心者の方にはこちらの記事がオススメです。

✓あわせて読みたい

実験計画法を実践したい人↓実験計画法の実践方法が分からん。簡単に実践できる方法はないの?エクセルより楽に実践したい。具体的な手順が知りたい。こんな悩みを解消します&[…]

ロケットに乗るビジネスマン

オススメできる人

本書をオススメできるのは以下3種の人です。

  1. とにかく特性値を最適化したい人
  2. 最新手法を学びたい人
  3. 従来の実験計画法で課題解決できなかった人

 

こちらもサクッと解説します。

 

①とにかく特性値を最適化したい人

因子と特性値の関係性は気にする必要がなく、とにかく特性値を最適化したい人には非常にオススメできます。
最適化に特化するなら、もはや「知らないと損」と言えるレベルかもしれません。
それくらい強力な手法と感じました。

 

②最新手法を学びたい人

「ベイズ最適化」という最新手法の知識と実践方法を学びたい。
自らの武器の1つとして身につけたい。
従来の実験計画法からスキルUPして、アプローチの幅を広げたいという人にも非常におすすめできます。

 

③従来の実験計画法で課題解決できなかった人

従来の実験計画法で最適化を試みたが、目標を達成できなかった。
何か他に手がないか探している人には救世主かも。
従来とは全く異なるアプローチなので、予想外の最適条件が見つかるかもしれません。

 

以上の3種のどれかに当てはまる人なら、本書を購入することをオススメできます。
サクッと実践してその効果を実感してみてはどうでしょうか。

Pythonで学ぶ実験計画法入門 ベイズ最適化によるデータ解析

 

おまけ情報ですが、本書の購入方法として
Kindle版(電子書籍)で購入し、「Kindle Paperwhite」に入れておくのもオススメです。
なぜならベイズ最適化は実験とデータ入力を繰り返すから。

冒頭でもお伝えしたように、自分も本書を電子書籍で購入してます。
そして普段は以下のように「Kindle_Paperwhite」に入れて持ち歩きます。

Kindle_Paperwhiteに入れたPythonで学ぶ実験計画法入門
Kindle_Paperwhiteに入れたPythonで学ぶ実験計画法入門

 

こうしておくと以下のメリットがあります。

  1. 紙のように本が閉じてしまうことがない
  2. PCとスマホが空くので実験データ入力が楽
  3. 他の本と併せて手軽に持ち歩ける
  4. 軽い(本体重量205g)
  5. ブルーライトレスで夜の読書も快適

 

自分は理由がない限り本は電子書籍で買います
それくらい一度この良さを体感してしまうと手放せなくなりました。

 

今までは紙派だったけど
「電子書籍に切り替えようか迷っていたんだよな〜」
という人はこの機会にいかがでしょうか?

Kindle Paperwhite (8GB) 広告なし版

 

「Pythonで学ぶ実験計画法入門」の凄さとデメリットまとめ

SUMMARY_CONCLUSION

 

今回は『Pythonで学ぶ実験計画法入門 ベイズ最適化によるデータ解析』を読んで、実践レビューをまとめてみました。

 

結論:技術者なら武器の1つとして持つべき

 

本書を読み実践した感想は

  1. ベイズ最適化の実験回数の削減効果は脅威的
  2. 因果関係を知りたい人には従来の実験計画法の方が良い

です。

 

とにかく特性値を最短で最適化したい人
スキルの幅を広げたい技術者の方にはとてもおすすめできる書籍。
むしろ知らないと損と感じるほど凄い効果でした。

この機会にチャレンジしてレベルUPしましょう。
Pythonで学ぶ実験計画法入門 ベイズ最適化によるデータ解析

 

一方で、実験計画法の初心者の方や因子と特性値の関係性を知りたい人には従来の実験計画法が適していると感じました。

そのような方はこちらの記事がおすすめです。

✓あわせて読みたい

実験計画法を実践したい人↓実験計画法の実践方法が分からん。簡単に実践できる方法はないの?エクセルより楽に実践したい。具体的な手順が知りたい。こんな悩みを解消します&[…]

ロケットに乗るビジネスマン

 

これからも幅広い知識を身につけて業務を楽にしていきましょう!
ではまた!

Pythonで学ぶ実験計画法入門
この記事が気になったらフォローしてね