「Pythonで学ぶ実験計画法入門」が気になる人
↓
Pythonで実験計画法ができるの?
実際に買った人のレビューはどう?
記事の内容
- Pythonで実験計画法を実践した感想
- Pythonで実験計画法を行うメリットとデメリット
- 「Pythonで学ぶ実験計画法入門」をおすすめできる人とできない人
記事の信頼性
- QC検定1級で統計手法の講師をしている製造業エンジニアが、実際に「Pythonで学ぶ実験計画法入門」を購入し、従来の方法と比較検証を行って書いたレビュー記事です
実レビュー証明のため、名前入り写真も撮影。
紙の本ではなく電子書籍で購入しているのでPC画面であることはご了承ください。
と疑う人のために、書籍中間でも撮影。
さて、そろそろエアレビューでないことは信じてもらえたでしょうか?
近年はPythonによるデータ分析が普及しました。
効率よくデータを集める実験計画法が、無料のPythonで実施できたら嬉しいですよね?
そんな訳で「Pythonで学ぶ実験計画法入門」は第5刷の重版となるほど大注目の書籍となっています。
著者の金子弘昌先生も以下のようにツイートされています。
重版が決定しました!(第5刷)
[無料公開] 「Pythonで学ぶ実験計画法入門 ベイズ最適化によるデータ解析」 の “まえがき”、目次の詳細、第1・2章 https://t.co/TU2mcK4Vxd
皆さまのお陰様でございます。
改めまして、感謝申し上げます。
引き続きよろしくお願いいたします!!— 金子弘昌@「化学・化学工学のための実践データサイエンス―Pythonによるデータ解析・機械学習―」 (@hirokaneko226) May 4, 2022
私も
と思って本書を購入しました。
しかしご注意ください!
従来の「直交表実験」などをイメージして本書を購入すると大失敗します。
なぜなら書籍で紹介されているのは「ベイズ最適化」による実験計画法だから。
「ベイズ最適化」は実験回数を削減するには非常に強力な手法です。
しかしその一方でデメリットがあったのも事実。
で、結局良いのか悪いのか?
まず結論を書きます。
実践してみて分かったのですが「ベイズ最適化」はヤバいほど少ない実験回数で最適化を実現します。
なので技術者は全員知っておいたほうがいいです。
しかし活用場面を選ぶので何にでも使うのはNG!
”武器の1つとして持ち、有効な場面だけ使う”
が良さげです。
本記事では「Pythonで学ぶ実験計画法入門」を読み、実際に実験をしてわかった「ベイズ最適化」の適する場面と適さない場面を紹介します。
本記事を読むことで「Pythonで学ぶ実験計画法入門」の価値がわかり、購入するべきか否か判断できますよ。
Pythonで実験計画法を実践した感想
①実験回数の削減効果と最適条件の探索力は脅威的!
②因果関係を明確にしたい時は従来の実験計画法の方が良いかな。
簡単に説明します。
検証の内容
検証には↓のフライトシュミレーターを使用。
従来の実験計画法「D最適計画」と本書に記載されている「ベイズ最適化」でどちらが『より少ない実験回数でより長く飛ぶ設計パラメータを見つけられるか』検証しました。
従来の実験計画法やD最適計画について知りたい方はこちらの記事を御覧ください。
実験計画法を実践したい人↓実験計画法の実践方法が分からん。簡単に実践できる方法はないの?エクセルより楽に実践したい。具体的な手順が知りたい。こんな悩みを解消します&[…]
実験に使用したシミュレーター「PPSim」
PPSim(ピーピーシム) Version 1.3は、Windows98/Me/2000/XPパソコン上で動作する、紙飛行機設計用のフライトシミュレーションソフトです。
引用元サイト:https://sites.google.com/view/v-tails/win/ppsim
実験因子と水準範囲は以下の通り。
名称 | 下限 | 上限 |
重心位置(mm) | 20 | 40 |
主翼展開長(mm) | 150 | 240 |
尾翼展開長(mm) | 50 | 80 |
胴体全長(mm) | 160 | 220 |
上下角(度) | 45 | 90 |
特性値の滞空時間(s)がより長いほど優れた機体です。
(風速は1.0m/sに固定し外乱はなし)
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点です。
- Pythonで実験計画法を実践する方法がわかる
- 少ない実験回数で最適化できる
- サンプルコードですぐに実践できる
簡単に解説します。
①Pythonで実験計画法を実践する方法がわかる
Pythonでの実験計画法を実践する方法を紹介した書籍はほとんどありません。
特に「ベイズ最適化」は昨今、注目されている手法なので、その理論と実践方法を体系的に学べる本書のメリットは大きいでしょう。
②少ない実験回数で最適化できる
先にも紹介した通り、ベイズ最適化の実験回数の削減効果と最適条件の探索力は脅威的です。
その実践方法がわかるのはとても価値があります。
③サンプルコードですぐに実践できる
本書と連動したサンプルコードがダウンロードできるので、すぐに自環境でトライできます。
サンプルコードを使ってサクッとベイズ最適化で最適条件を見つける事が出来れば、業務がとても楽になるはず。
以上が「Pythonで学ぶ実験計画法入門」を読むメリットです。
Pythonで学ぶ実験計画法入門を読むデメリット
デメリットは以下の2点と感じました。
- 因子と特性値の関係は分からない
- Pythonの基礎知識が必要
こちらも簡単に解説します。
①因子と特性値の関係は分からない
感想でもお伝えしたように、因子と特性値の関係性が分からないのはデメリットと言えます。
場合によっては
『とりあえずベイズ最適化で最適条件を見つけておいて、後追いで追加実験を行い因果関係を調べる』
みたいな対応が必要かもしれません。
②Pythonの基礎知識が必要
書籍タイトルから考えれば当然ですが、Pythonを扱える事が前提となります。
サンプルコードはありますが、ある程度はコードを理解できないと業務への適応は難しいでしょう。
「Pythonをこれから学習したい」という人にはこちらの記事がおすすめです。
Pythonのおすすめ入門書は?プログラミング勉強の始め方が分からない。入門書が多すぎて選べない。プログラミングによるデータ解析を本業とするエンジニアの私が紹介します。※プロフィールはこちら[…]
以上2点が「Pythonで学ぶ実験計画法入門」を読んで感じたデメリットです。
これを踏まえて他の購入した人の声も調査してみました。
「Pythonで学ぶ実験計画法入門」を購入した人の声
SNS等で「Pythonで学ぶ実験計画法入門」を購入した人の声を調べてみました。
ポジティブなコメント
まずはポジティブなコメントを紹介します。
pythonで学ぶ実験計画法入門を読みました。
基本的な知識(だと思う)セクションも平易な言葉で説明されていてとっつきやすいと感じました— 孵化せず死んだ可能性の卵 (@solid_kumaaa) July 11, 2021
金子弘昌『Pythonで学ぶ実験計画法入門 ベイズ最適化によるデータ解析』読了。
これでわからないならもう無理かもってくらい、噛み砕いてわかりやすく説明している入門書。データを差し替えればプログラムをほぼそのまま使えそうで、なおかつ理解してればブラックボックスにならなくて、良いですね。
— くぅぅふぃぃぃぃぃ。 (@coo_unplugged) November 7, 2021
金子先生の「Pythonで学ぶ実験計画法入門」ひと通り読めた☕
GPRモデルを用いたベイズ最適化や、GMRモデルを用いた適応的実験計画法
の基礎知識を得ることができました!やっぱり実験で適宜データを取りながらになるけど、外挿領域を探索できるのはすごいな〜
— Yusa (@catal_pea) March 21, 2022
ネガティブなコメント
ネガティブなコメントもあったので紹介します。
思ってた実験計画法と違った
こういうのも含めて実験計画法なのかー
化学データにおける実験計画法という…『Pythonで学ぶ実験計画法入門 ベイズ最適…』金子 弘昌 ☆4 https://t.co/NVWFegO4hX— 青木健一 (@aokikenichi) January 23, 2022
読んだのは良いんだけど実際の現場のデータ処理に持っていくのはやっぱハードルあるなと思った、要するに系統立てて、かつ各パラメータを信頼性あるように測定できてる場面がまだまだ少ない
— 孵化せず死んだ可能性の卵 (@solid_kumaaa) July 11, 2021
以上2点がネガティブなコメントでした。
以上の結果を踏まえて「Pythonで学ぶ実験計画法入門」をオススメできる人とできない人を考えてみました。
Pythonで学ぶ実験計画法入門をオススメできる人とできない人
オススメできない人
- 因子と特性値の関係を知りたい人
- 実験計画法の初心者
サクッと解説します。
①因子と特性値の関係を知りたい人
何度も言っていますが因子と特性値の関係性を知りたい人には不向きです。
例えば製造業の品質管理においては製品の特性値に影響する要因を特定し、継続的な管理が求められます。
たとえ特性値がある時点で最適だとしても、それを継続的に管理する為の要因(因子)が分からなければ、安定した品質は得られません。
因子と特性値の関係性を知りたい人にはこちらの記事がオススメです。
実験計画法ってどうやるの?実験回数を減らすにはどうしたらいい?こんな悩みを解消します。 製品開発や生産現場において「実験の回数を減らす」事は非常に重要。高価な試作品を[…]
②実験計画法の初心者
また従来の実験計画法を全く知らない初心者の人にも本書はおすすめ出来ません。
なぜなら先に説明したようにベイズ最適化は万能ではなく、業務の目的に応じて従来の実験計画法と使い分ける必要があるから。
実験計画法の初心者の方にはこちらの記事がオススメです。
実験計画法を実践したい人↓実験計画法の実践方法が分からん。簡単に実践できる方法はないの?エクセルより楽に実践したい。具体的な手順が知りたい。こんな悩みを解消します&[…]
オススメできる人
本書をオススメできるのは以下3種の人です。
- とにかく特性値を最適化したい人
- 最新手法を学びたい人
- 従来の実験計画法で課題解決できなかった人
こちらもサクッと解説します。
①とにかく特性値を最適化したい人
因子と特性値の関係性は気にする必要がなく、とにかく特性値を最適化したい人には非常にオススメできます。
最適化に特化するなら、もはや「知らないと損」と言えるレベルかもしれません。
それくらい強力な手法と感じました。
②最新手法を学びたい人
「ベイズ最適化」という最新手法の知識と実践方法を学びたい。
自らの武器の1つとして身につけたい。
従来の実験計画法からスキルUPして、アプローチの幅を広げたいという人にも非常におすすめできます。
③従来の実験計画法で課題解決できなかった人
従来の実験計画法で最適化を試みたが、目標を達成できなかった。
何か他に手がないか探している人には救世主かも。
従来とは全く異なるアプローチなので、予想外の最適条件が見つかるかもしれません。
以上の3種のどれかに当てはまる人なら、本書を購入することをオススメできます。
サクッと実践してその効果を実感してみてはどうでしょうか。
→Pythonで学ぶ実験計画法入門 ベイズ最適化によるデータ解析
おまけ情報ですが、本書の購入方法として
Kindle版(電子書籍)で購入し、「Kindle Paperwhite」に入れておくのもオススメです。
なぜならベイズ最適化は実験とデータ入力を繰り返すから。
冒頭でもお伝えしたように、自分も本書を電子書籍で購入してます。
そして普段は以下のように「Kindle_Paperwhite」に入れて持ち歩きます。
こうしておくと以下のメリットがあります。
- 紙のように本が閉じてしまうことがない
- PCとスマホが空くので実験データ入力が楽
- 他の本と併せて手軽に持ち歩ける
- 軽い(本体重量205g)
- ブルーライトレスで夜の読書も快適
自分は理由がない限り本は電子書籍で買います
それくらい一度この良さを体感してしまうと手放せなくなりました。
今までは紙派だったけど
「電子書籍に切り替えようか迷っていたんだよな〜」
という人はこの機会にいかがでしょうか?
→Kindle Paperwhite (8GB) 広告なし版
「Pythonで学ぶ実験計画法入門」の凄さとデメリットまとめ
今回は『Pythonで学ぶ実験計画法入門 ベイズ最適化によるデータ解析』を読んで、実践レビューをまとめてみました。
本書を読み実践した感想は
- ベイズ最適化の実験回数の削減効果は脅威的
- 因果関係を知りたい人には従来の実験計画法の方が良い
です。
とにかく特性値を最短で最適化したい人
スキルの幅を広げたい技術者の方にはとてもおすすめできる書籍。
むしろ知らないと損と感じるほど凄い効果でした。
この機会にチャレンジしてレベルUPしましょう。
→Pythonで学ぶ実験計画法入門 ベイズ最適化によるデータ解析
一方で、実験計画法の初心者の方や因子と特性値の関係性を知りたい人には従来の実験計画法が適していると感じました。
そのような方はこちらの記事がおすすめです。
実験計画法を実践したい人↓実験計画法の実践方法が分からん。簡単に実践できる方法はないの?エクセルより楽に実践したい。具体的な手順が知りたい。こんな悩みを解消します&[…]
これからも幅広い知識を身につけて業務を楽にしていきましょう!
ではまた!