2014-01-31

実験計画法 (Design of Experiment) とは何か? (1)

R の拡張パッケージ AlgDesign を紹介した際に、「最適計画を RSM(応答曲面法)に活用した、エンジニアリングのための実験計画/解析ツールを作りたい、それが自分がコンピュータのプログラミングに取り組む最も基本的なモチベーションになっているからです。」と書きましたが、実験計画法は、誰でも知っているようなエンジニアリング・ツールとして市民権を得ているほどポピュラーな手法だとは考えていません。そこで、自分の知識を整理するためにも、実験計画法とは何かを何回かに分けて紹介していきたいと思います。

はじめに

まずは、実験計画法についてインターネット上でどのように説明がされているか、いくつか例を紹介します。

Wikipedia では、実験計画法について、次のような説明がされています1.

実験計画法(じっけんけいかくほう、Experimental design、Design of experiments)は、効率のよい実験方法をデザインし、結果を適切に解析することを目的とする統計学の応用分野である。R.A.フィッシャーが 1920 年代に農学試験から着想して発展させた。特に 1950 年 G.M.コックスと W.G.コクランが標準的教科書を出版し、以後医学、工学、実験心理学や社会調査へ広く応用された。またこれを基にして田口玄一による品質工学という新たな分野も生まれた。

上記は、「実験計画法」を説明した冒頭部分で、実験計画法が発展した歴史的な経緯を端的に説明しています。

Tech On!のものづくり用語では、実験計画法について次のような説明がされています2.

寸法や形状,材質,部品の固定方法など,設計パラメータとして検討したい因子が,性能や機能などの評価項目にどのような影響を与えるのかを調べる場合,いい加減な方法で実験しても正しい傾向を知ることはできない。精度良い結果を効率的に(安く,早く)得られるような実験を設計し,その実験で得られた結果を解析して結論を出すことを実験計画法と呼ぶ。実験を設計する部分だけを指す場合は,実験計画となる。

JMP では、実験計画法について次のように説明がされています3.

実験計画(DOE)は、複数の因子からなる実験空間を探索するための、実用的かつ普遍的なアプローチです。JMPには、使いやすい、世界標準の実験計画(DOE)の計画と分析の機能が搭載されています。

実験計画法は、効率的かつ効果的な情報収集が必要なさまざまな場面で応用できます。入力(因子)と出力(応答)の関係を明らかにし、モデル化する上で、最も優れたアプローチは、因子を意図的に変化させたときに、応答も変化するかどうかを観察することです。あらかじめ用意した計画に従って、因子を意図的に変化させることが、有意義な新しい発見につながります。

しかし、実際の世界では、複数の因子が存在することがほとんどです。このため、因子を1つずつ変更する方法は、効率的とは言えません。複数の因子が応答に与える影響を正しく把握するためには、実験計画(DOE)が必要になります。

JMP は SAS 社が開発・販売する統計解析ソフトウェアです。

実験計画法は、Wikipedia の説明にあるように R.A.フィッシャーが農事試験でその基礎を築いたもので、複数の実験因子が結果に及ぼす影響を合理的に分離して評価できるように、言い換えれば、因果関係が判るように、予め、実験因子の組み合わせを選ぶ(デザインする)手法です。農事試験において、例えば収率がテーマであれば、収穫して初めて結果がわかります。このように時間がかかる「実験」において、実験因子の影響を合理的に評価する手法を確立することには、時間的、費用的経済性を考えると、実に切実なるニーズがあったことでしょう。

  1. 実験計画法 - Wikipedia
  2. 実験計画法とは - 設計・生産とIT - Tech-On!
  3. JMPによる実験計画(DOE)

2014-01-04

AlgDesign: 実験計画/解析用ツールについて考える (2)

AlgDesign は、前のブログの記事でも触れたように、最適計画である D-, I-, A-optimal の各デザイン(計画)を作成する R の拡張パッケージですが、Fedora の RPM では提供されていなかったので、既に Fedora で提供されている R の拡張パッケージの RPM の(SPEC ファイルの)「作り」を参考にして作ってみました。x64_64 (64bit) のパッケージとソースパッケージを SourceForge.jp の下記のサイトにアップしてあります。32bit 用パッケージは追って作成してアップします。

最適計画の詳しい紹介は、サンプルを使っておいおいして行く予定です。


追記

x86 (32bit) 用に R-AlgDesign-1.1.7-1.fc20.i686.rpm もビルドして上記のサイトにアップしました。