UA-115498173-1

2018年04月07日

システム最適化と中華料理

先週の記事で「P178のイラストのように同じシステムでも見方(角度)を変えれば,全く異なったシステムになります.同じ問題を共有している仲間だからこそ起きやすい間違いを避けるために,システム構造図を活用してください.」
と書きましたが,初心者のうちはなかなか難しいと思います.本日は私が心がけていることをお話ししたいのですが,まず最初に一つの漢詩を引用します.

題西林壁
看成嶺側成峰
遠近高低各不同
不識廬山真面目
只縁身在此山中

これは北宋代最高の詩人と言われる蘇軾(そしょく)(1037-1101)の詩です.春宵一刻値千金でご存知の方も多いでしょう.有名な詩で,あちこちに解説がありますので(例えばここ)ここで繰り返すことはしませんが,わたしなりに自由に意訳してみます.

西林寺の壁にこの詩を書くよ
廬山(ろざん)は横から見れば山々が連なる嶺に見えるけど,また別の方向から見れば独立峰に見える
見るところが遠かったり近かったり,高かったり低かったりすると,廬山はそれぞれ皆異なって見える(これが廬山の真の姿なんだ)
だけど,この廬山の真の姿を知ることはできない
それはなぜかと言えば私が廬山の山中にいるからなんだ

廬山は中国江西省にある古典にもよくでてくる名山で,171もの峰々が連なる複雑な地形から構成された広い領域を指し,廬山自然公園として世界遺産にも登録されました.ここに有名な東林寺やこの西林寺が点在しています.
もうおわかりのように,システムを廬山に例えれば,その真の姿はシステムの中にいては見えないのです.それではどうすればいいかというと,システムの峰や嶺といった詳細を知るために,異なった複数の視点から眺めることが必要になります.このためにはシステムに関わるすべてのステークホルダー(利害関係者)を洗い出し,それぞれの立場からシステム構造を記述してみてください.
技術者が製品というシステムを考察するときはどうしても製造者としての立場になってしまいますが,例えばユーザーの立場に立ってみると,紙ヘリコプターであれば,特性である滞空時間はユーザーの身長に大きな影響を受けることがわかるはずです.その紙ヘリコプターを製造する立場に立ってみれば,形状が複雑な設計はプロセスタイムが増大するだけでなく,工作精度にも悪影響があるということが見えてきます.
これらの複数の視点を踏まえた上で,鳥になった気持ちでシステムを俯瞰します.わたしがシステムを考察するときには毎回このことを心掛けています.例えば,おそらくノイズ因子が影響しないシステムは製造業では皆無と思います.ノイズ因子に気づいていて,それを固定することでシステムから排除するというのであればいいのですが,そもそもノイズ因子に気付いていない.こういうシステムの構造を見落とさないためのヒントとしてお話ししました.
因みに,蘇軾の経歴を知ればこの詩の背景には仏教の根本思想があることが推察できます.般若心経の有名な一節「色不異空 空不異色(万物の事象には実態などはなくて空なのだ)にも通じるものです.ですから,蘇軾はこの詩は本来は「廬山の真の姿などというものは無い」ということを言っているのです.システムというものは,ステークホルダーとしての視点や,観察者の知識,経験によって変わるものであり,真のシステムなど存在しないということです.即ち,私たちは常にシステムの写像と対峙しているという認識が必要である,と常々謙虚に思っています.
蘇軾といえば,号を東坡といったことから,彼の考案したトンポーロという豚肉の中華料理にもその名を残しています.今晩はトンポーロでも食べながら,今抱えている問題のシステム構造について考えてみてください.
それではまた.
タグ:問題解決
posted by Tad at 17:00| Comment(0) | TrackBack(0) | 統計的問題解決

2018年04月01日

MCDAアドインに関する補足・訂正について(4/2修正)

昨日の投稿で予告しましたように,以下について補足・訂正させていただきます.

1.P280の二つの設計画面に「重み」という「入力セル」がありますが,配布版のアドインにはありません.これは開発版のアドインにあった「予測変数」の優先順位を決めるパラメータで「満足度関数」の「重み」です.「重み」は配布版ではすべて100に固定されていますので,GUIからは隠してあります.多目的最適化では特性の優先順位を「重み」で変えるのは混乱のもとになるだけという判断によるものです.ですので,この図にある「重み」は無視して下さい.

2.P294のJMPくんの台詞で,「設定画面で「予測式Yu1」を「予測式」に,...」は「設定画面で「予測式Yu1」と「予測式Yu2」を「予測式」に,...」に訂正します.不親切ですいません..

3.P295の「包括システム」の設計で最適解は,配布版のアドインでは書籍と同じにならないことを確認しました.その他にも,第5講の例題では書籍の図と出力結果が異なる場合がありますことにご注意ください.書籍の出力結果は開発版のアドインで出力したものですが,配布版のアドインには最適化アルゴリズムに改良が加わったため,統計モデルと最適化設計の状況次第で異なった結果となる場合があります.開発版では「MCDAデモ事例.jmp」の最適化に私の環境で10分近い時間がかかっていましたが,配布版では遅いPCでも数分に短縮されたのはこの改良によるものです.P258の「この例題についての注意」に書きましたように,そもそもJMPによる最適化のしくみから,微妙な環境の違いによって必ずしも同じ結果が得られるとは限らないので,ここは最適解そのものよりも最適解を得る流れを追っていただければと思います.因みに,P295の「包括システム.jmp」の最適解はMac版のJMP Pro 14上で動作するMCDAアドインの最新版では次のようになっています.Mac OSは最新のHigh Sierraです.
mcda.jpg

ここ以外にP265の最適解でも異なる解が得られることを確認していますが,この二箇所以外では小数点以下の微小な違いにとどまっています.私の方で確認している限りでは,P253下,P254下,P261上,P264下,P280上,P280下,P288の7つの設計で微妙な違いなあります.Macは64bit環境ですから,32bit環境ではまた違った結果になるかもしれません.MCDAアドインを使った関係するすべての図版の修正版をこの場に掲載しようとも考えましたが,使用するOSの種類やJMPのバージョン全てを網羅することは困難なためそれは諦めました.何かご質問あれば個別にお問い合わせいただければその都度対応いたします.

このように最適解がいろいろと出てきてしまうことに不安を持たれるかたもいらっしゃるかもしれません.この状況はソフトのバグとういうわけではなく,どのような状態を最適とするかというプログラム上の定義(の違い)によるものです.書籍では「最適化はJMP(PC)がやるものではなく技術者自らがやるものだ」ということを認識していただきたいという思いがあり,このようなコンピュータ計算による最適化設計の実態を示すために,ノイズ因子が複数あるというあえて複雑な問題を事例にとりました.しかしながら,通常の比較的単純な問題ではこのような状況に陥ることは多くないので安心してください.ここのところについては来週(か再来週)もう少し説明を加えたいと思います.

上記についてご質問あればコメントをいただければと思います.どうぞよろしくお願いいたします.
posted by Tad at 15:00| Comment(0) | TrackBack(0) | お詫びと訂正

2018年03月31日

JMP14対応のMCDAアドインについて

先日まで検証していたのですが,本書の例題の範囲では少なくとも動作に問題はないようですので,JMP14に対応したMCDAアドインを一週間後の4月7日の受付分からリリースします.整理しておきますと,現時点でMCDAアドインには三つのバージョンがあります.書籍出版と同時にリリースした「MCDA20170821.jmpaddin」が最初です.その後に,私のSUMMITでの発表のために一部の処理を改良していただいた「MCDA20171101.jmpaddin」が続き,今回JMP14対応の「MCDA20180214.jmpaddin」となります.今後アドインのGUIの改良や新機能の追加なども考えてはいますが,この三つのバージョンの機能はほぼ同じですので,2017年のリリースのものを旧バージョン,今回リリースするものを新バージョンと以下で呼びます.
念のため補足しておきますと,使用しているJMPのバージョンによって以下のオプションがあります.
JMP12以前
MCDAアドインはサポートされていません.
JMP12
現在お持ちの旧バージョンのアドインをそのままお使い下さい.JMP14対応版は動作しません.JMP12に対するMCDAアドインの提供はこれで打ち切ります.
JMP13
新旧どちらのバージョンでもお使いいただけます.既にアドインをお持ちであれば,新バージョンにアップデートする必要はありません.
JMP14(トライアル版を含む)
JMP14では新バージョン「MCDA20180214.jmpaddin」にアップデートしていただく必要があります.MCDAアドインの申し込みページからフォームに入力して再度お申し込みください.(SAS社のサイトに飛びますのでご注意ください.)上述のように一週間後の4月7日の受付分から最新版の配布を開始します.アップデートはアドインをダブルクリックすれば上書きするかを聞いてくるので『OK』を押してください.
今回Mac版のJMP Pro 14.0.0で検証しましたので,WINDOWS環境やJMP Stdでの検証はできていません.継続してこれらの環境で検証をしていきますが,何かしら問題を見つけられたかたはご一報いただけると大変助かります.
今回の検証でいくつか本書の内容に修正すべきところが見つかりました.本書の図版や結果はMCDAアドインの開発版を使っているため,一部の結果が正式に配布したアドインによるものと異なっています.解の導出手順等には違いはありませんので,本文の数値は参考に留めていただければと思います.混乱を招いてしまい申し訳ございません.上記の詳細については,あらためて「お詫びと訂正」のカテゴリーに明日投稿します.
MCDAアドインは使いこなせれば非常に強力なツールなのですが,本書の説明はページ数の制約のため急ぎ足になっていますし,上記のような問題もあります.それを補足する意味でも,かねてから予告していますように「統計的問題解決セミナー」を開催しますのでしばしお待ちください.それではまた明日.
タグ:JMP

2018年03月24日

システム構造図の意義

最近受けた質問に関連して,本日は本書P177で説明しているシステム構造図の二つの意義についてお話しします.一つはこの図を作成する過程でシステムを俯瞰することができることにあります.システムに関与するステークホルダーやそれらに蠢く変数を把握した結果を「わたしはここまで深くシステムを考察しています」と示すことにもなります.この目的であればフィッシュボーンチャートやマインドマップでも事足りますが,システム構造図は実験計画を意識した別の情報表現です.システム構造図をこのように描いてもいいのですが,別の描きかたのほうが重要です.
それは「わたしはシステムをこのように捉えています」という表明としての意義です.例えば,工場内の環境温度としてノイズ因子Nがあって,ある部品の接着剤による接合強度という特性Yに大きな影響があるとします.この場合,Nを設計因子として扱って最適解を得たとしても意味はありません.空調設備を導入するでもしない限り特定の温度の日だけ製造するなどということは考えられないからです.あくまでもロバスト設計の対象としてのノイズ因子ということですね.
この実験をやるならば,部材が大きい場合は特別にテストサンプルを作成して環境試験装置を導入する必要があります.この方法では実際の部品とテストサンプルとで接着工程の装置条件や強度の計測方法が異なる(そうならざるを得ない)場合には注意が必要です.苦労して実験計画を実施して最適化しても実際の製品ではその解が再現しなかったというのはよくある話です.このような事態を避けるため,あるいは環境試験装置のリソースがなければ,1年かけてその日の温度を計測して少しづつ進めていくという気の長い実験を強いられます.この方法でも,問題は結果を得るまでに要する時間だけでなく,温度意外に湿度などの他のノイズ因子が考えられる場合や,冷夏や暖冬といった自然現象の影響で思ったような実験ができないという問題があります.
このようにロバスト最適化には多大な実験リソースが要求されることは珍しくないので,これを避ける意味でロバスト化はひとまず置いて,先に接着剤の成分を乾燥時間を短くコストを下げるように最適化したいという状況も考えられます.ロバスト最適はもちろん重要ですが,品質工学の説くようにそれが第一義ではないように常々考えています.まず特性の最大化を達成すれば特性の変動にも強くはなる(スペックを満たすという意味で)わけですから.そうであれば,とりあえず因子Nは代表条件に設定して固定すればいいのです.(代表条件は複数あればベターで,この場合はそれらを多目的最適化することになります.)ノイズ因子は実験の場で固定できるわけですから,このとき因子Nはノイズ因子から固定因子となり,システム構造図では別の場所に置かれることになります.このようなシステムの写像を示すことがシステム構造図の本来の意義です.システムの捉え方は「わたしはこの問題をこの角度から見ています」ということにつながります.
特に事例報告において,報告する側と受ける側とでこの問題を見る角度が一致していることが重要です.お互いに分かりきったシステムであってもその意味するところが異なる場合はすれ違いが起きます.技術的コミュニケーションではこの状況は避けなければなりません.システム構造図では因子の置かれる配置が定まっているので,それぞれの因子をどのように捉えているのかが明確に伝わります.
余談ですが,学生時代に金田一春彦先生のお話を伺ったことがあって,今でも覚えている話を思い出しました.オリジナルの話の詳細はすっかり忘れてしまったので,甲さんと乙さんとの会話という形で新たに作ります.
甲:おやお久しぶり.最近は何をなさっているんです.
乙:最近は「のう」の研究に入れ込んでましてね.
甲:「のう」とは難しいことに取り組んでいらっしゃる.
乙:基本的に動きが少ないので情報をいかにとるかが難しいですね.
甲:どんな情報を集めるんです?
乙:最近は「のう」と夢との関係に注目しています.
甲:夢ですか,そういえば三島も書いてましたよね.
乙:はあ.(そんな名前の研究者いたかな...?)
甲:それでは,また.
乙:さようなら
という話で恙無く会話は終わったものの,お判りのように甲さんは「のう」を「能」と思い,乙さんは「脳」と思って話していたという落ちです.因みに三島由紀夫は能の『邯鄲』をもとにした作品を書いています.
P178のイラストのように同じシステムでも見方(角度)を変えれば,全く異なったシステムになります.同じ問題を共有している仲間だからこそ起きやすい間違いを避けるために,システム構造図を活用してください.
それではまた.
タグ:問題解決 Q&A
posted by Tad at 11:51| Comment(0) | TrackBack(0) | 統計的問題解決

2018年03月17日

JMP14

いよいよJMP14のリリースが正式にアナウンスされました.プレスリリースはこちらです.2018年3月22日(米国東部時間)より全世界同時に出荷開始とのことなので,もう来週ですね.おそらく,完全日本語版は半年遅れでJMP14.2?のリリースのタイミングになるでしょうけれど,通常使用には問題ない範囲で日本語化されていますので,それまで待たずにJMP14.0を試されるとよいと思います.グレードを検討するのアップであれば,おそらく今まで同様にトライアル版も準備されているのではないでしょうか.
2018年第1回のJMPer’s MeetingはJMP14の新機能紹介セミナーということで私も申し込みましたが,今確認したところ,既に満席でキャンセル待ちになっています.
参加できないかたのために,このブログでも新機能を紹介していきたいと思いますが,残念ながら統計的問題解決に関連する機能ではこれといったものはないように思います.とはいえ,いくつか注目している機能はあります.JMPにはearly adopter programという制度があって,実はわたしも,いわゆるβテスターとして昨年末からJMP14で統計的問題解決に関係する機能やMCDAアドインのテストなどを検証しています.業務ではJMP13を使わざるをえないので,なかなかJMP14に触れる時間がとれなかったのが残念ですが,それでも(まだリリース前なので詳細にはお話できませんが)バグを一つみつけて報告したりしています.
early adopter programのことは周知してはいけないのかと思っていましたが,User CommunityのJMPer CableにJason Brinkleyというearly adopter の方のコメントが掲載されていましたので,公開はされているようです.
このJMPer Cableというブログで紹介されているMultiple-file importがJMP14の売りの一つです.個人的には他の手段(例えばPysonとかを使って)で可能な処理はJMP側で持たなくてもよいと考えているので,正直言って「ああ,そうですか」くらいの感想ですが,使って見たらこれは便利と手放せなくなるかもしれません.聞くところによれば以前からリクエストはあったようです.
私がリクエストするならば,ところどころに顔を出すJMPのおせっかいを少なくとも何らかの手段でお断りさせてほしいです.おせっかいというのは,前回お話しした,除外したデータが検証データに勝手にアサインされてしまうという機能がその一つです.他にもいろいろありますが,例えば,統計的問題解決に関係するところでは実験計画でn水準の離散数値を因子とすると,n−1, n-2,..., 2乗の項が勝手に追加されます.しかも,「推定」が「可能な場合のみ」にされてしまっているのです.そうでもないと実験数が多くなって現実的ではありませんのでいたしかたありませんが.もちろん,n水準を設定するということはn-1乗の効果を想定しているんだよね,という親切心?からなのかもしれませんが,やめて欲しい仕様の一つです.とはいえ,このことからも離散数値を使う状況というのは特殊なものであることが理解できますね.
今後JMP14については折を見てこの場で紹介していきます.それでは今日はこれで.
タグ:問題解決 JMP
posted by Tad at 11:34| Comment(0) | TrackBack(0) | JMP