• タグ別アーカイブ: 統計的問題解決入門
  • MCDAアドインについての補足

     読者サポートを建前としているこのブログですが,読んでいる人がいることを前提とした形式で書いてはいるものの,気分的には宇宙空間に向かって呟いているようなところもあります.ブログって日記だよ,という考えでした.最近,昔の知人と連絡を取ったところ,このブログを見ているとのことで,やはり読者サポートと個人的な日記は別にすべきなんじゃないかと考えています.このブログはBloggerにお世話になっているのですが,今一つ使いにくいところがあります.最近仕様が変更になって,改良された点も多いのですが,根本的な問題は解決されてません.もう少しブログを書く手間も減らしたいし,これを機会に今更ながらWordPressを使ってみようと思っています.そうなると,レンタルサーバーも移行する必要があって,本日はそれであたふたしてます.




    そういうわけで,本日はここまで,というのもなんなので,MCDAアドインについて補足しておきます.先のブログでリリースをお知らせしたところ,SAS社のほうでリリースのタイミングが一週間ほどずれてしまいました.今は間違いなく最新版がダウンロードできるはずです.MCDAアドインの使い方セミナーはそのうち開催したいと思っていますが,サミットオンラインに引っ張り出されるかもしれないので,やるとしてもその後ですね.
    補足というのは,最初のバージョンのMCDAアドインに実装していた,因子の設定を保存(読み込み)する機能についてです.少し前のアップデートでこの機能が廃止されているのをお伝えしていなかったかもしれません.今のバージョンでは,この機能の代わりにプロファイルをデータテーブルに保存する機能が実装されています.これとても便利なのでぜひ使って見てください.


    以下に手順を説明します.
    1.「MCDAデモ事例.jmp」を開いらた,アドインメニューから「MCDA」を実行する.
    2.設定パネルでは「予測式 膜厚」を『予測式』,「位置L」「位置W」を『ノイズ因子』に割り当てから『OK』です.
    3.最適化パネルが表示されたら,最適化の赤三角から「プロファイル」を実行します.
    4.少し時間がかかるかもしれませんが,条件を設定して最適化を実施するとプロファイルも更新されることを確認してください.
    5.最適解の候補が見つかったならば,予測プロファイル赤三角から「因子設定>設定を記録」を選択し,必要あれば名前をデフォルトの「設定1」から変更して『OK』します.
    6.これはという最適解の候補が見つかったら,それら複数の条件をプロファイルに記録します.このとき,その条件がわかる名前をつけるといいでしょう,冒頭に掲げた図を見てください.ここには三つの条件で見つけた最適解(の候補)が記録されています.ラジオボタンを押すとその解を呼び出すことができます.その下の「差」の開閉ボタンを押すと,それぞれの解での特性値の差分も表示できるので,それぞれの解の特徴を知ることもできます.
    7.最後にプロファイルの赤三角から,「スクリプトの保存>データテーブルへ…」を実行しておくのを忘れないように.


    実践的な最適化設定では,いかに落とし所を見つけるかが技術者の腕の見せ所ですが,このアドインはそのために威力を発揮することは間違いありません.この機能も含めてMCDAアドインの使い方セミナーも開催したいと思っていますが,まずは手元のデータで試して見てください.


    先週アップルの株価の話を書いたら,今週はIT株が暴落しました.アップル株も8%安となって,先日の史上最高値と比べると時価総額は2900億ドルも減ったとのニュースがありました.円ではなくてドルですからスケールが違う話ですね.先を読むのは難しいことを改めて実感しました.九州は大きな台風の真っただ中ですが,皆様のご無事を祈っています.


    それでは.


  • MCDAアドインについてのお知らせ

    『JMPではじめる統計的問題解決入門』には,本書購入者の特典としてMCDAアドインというJMPアドインがバンドルされています.その2020年後期版(バージョン200708)を来週からリリースします.本書に記載のSAS社の専用サイトのURLからダウンロードしてください.お手数ですが,新規にダウンロードするのと同じく,必要事項を記入してくださいね.この手続きがあるので,どのくらいの方がお使ってているか大体わかるんです.本書は二回増刷になったので,JMP関連書籍の中ではそこそこ売れているのですが,それに比べるとMCDAアドインをダウンロードしてくださる人はもっと多くてもいいのになと思ってます.多くの方に最適化設計の面白さを味わって頂きたいので,ぜひMCDAアドインを使ってみてください.

    そもそも,読者サポートがこのブログを開設した目的です.「MCDAアドイン」のタグを作ったので.今後はMCDAアドインを使いこなすヒントを投稿していきます.とはいえ,「JMP超入門」をはじめると言いながら,それきりになっていたりしているので,もう少し時間に余裕ができればということでご了承ください.さて,本日は,改めてMCDAアドインを使う際の注意事項についてお話しします.因みに,アドインそのものは,有効期限が延長されているだけで,変更内容はありません.


    第5講で使うアドインなので,まだそこまで到達していない方も多いのかもしれません.それに第5講を理解するには,実務で実験計画を経験してからでないと,難しいとも思います.そこをもう少し丁寧に解説する書籍にできなければ,カットしたほうが良いとも考えたのですが,山の頂上を読者に示すのもいいのではないかと出版社に言われて,第5講は残しました.以前にもお話ししたように,『統計的問題解決入門』のオリジナルの原稿は第8講までありました.前半が基礎編で,後半は応用編という構成だったのですが,ページ数の制約から,止むを得ず,最終段階で2講分を大幅にカットしました.その上で,繋ぎが悪くなってしまった二つの講を部分的につなぎ合わせて一つに合併するという荒技の結果が第5講なんです.本当は,もっとなだらかに難易度を上げていくはずだったのが,ここから急に難しくなってしまったのはこれが理由ですね.当時は本を書くことはもうないと思っていたので,言いたいことがたくさんありすぎて,それを詰め込んでしまいました.反省しています.これでも,「実験計画のためのノート術」のようないくつか断念したこともあるのですけど.


    MCDAアドインを使うには,ノイズ因子をモデルに取り込む必要があるので,それが難しいかもしれません.因子数が多い場合は,当然ながら実験数の圧縮のためにカスタム計画を推奨します.とはいえ,数因子程度であれば,まずはカスタム計画で「RSM」でモデルを作れば十分です.具体的には,p248の「やってみよう」をマスターしてください.(今,手元には第二刷しかないので,それ以外の刷ではもしかしたらページ数が異なっているかもしれません.)サポートファイルは「虫の目.jmp」を使えば,計画を作成する手間も省けますよ.ここから,P254までの正味6ページをしっかりフォローできれば,MCDAアドインの免許皆伝です.背後にある考え方については,本文中でも書いてありますが,そのうちもう少しわかりやすく解説します.


    ここで重要なことを一つリマインドします.本文中にも書いてありますが,自分のJMPで得られた結果と本書の図版の最適化の結果とは,JMPのバージョンやOSの種類,CPUの種類,その他様々な環境の違いで,必ずしも同じになりません.だから,本書で示した結果は参考にとどめ,異なる結果が得られてもそんなものだと思ってください.重要なのは,満足度関数の小数点以下の違いがあるだけで,どちらも最適化の候補だということです.例えば,私の環境(WIN10,i7,JMP15.0)ではp265のJMPくんの解は,このような結果となりました.



     この本を執筆する際は,SAS社の方で図版を作成してもらったので第一刷では,その環境での結果が掲載されています.その後,MCDAアドインの改良で計算結果に違いが生じたので,第二刷ではその当時の自分の環境での結果に差し替えました.今回の結果は,それらとも違っています.この例題のように予測式が二つもあって.ノイズ因子も二つあるような複雑な統計モデルに対しては,PCによる最適化で得られるのは,所詮は近似解なのでこれが実態です.この例題をつくったとき,複雑にしすぎたとは思ったのですが.応用編ではできるだけ実践的な状況を再現すべきと考え,敢えてこのままにしました.このため,初心者の方が不審に思われるかもしれません.


    このような解の不安定性を解消するため一つの方策が「最適化のオプション」のパラメータを変更することです.シード値以外を5倍程度を目安にして変更すると本文にも書きました.ですが,実践的には解を追い込むという手順を推奨します.例えば,上の解ではN2が50.026646353となっていますが,最適解としてこれが受け入れられるのであれば,「ロック」にチェックを入れて50を入力します.その上でもう一度最適化します.そうすれば,N2=50という制約下での最適解が得られることになりますね.さらに制約を加えていくことで最終的に所望の最適解に到達するという手順です.この手順では真の最適解にはなりませんが,そこそこ近い最適解が得られる過程で,何がボトルネックになっているのかなどの情報も理解できるようになります.


    因みに,冒頭に全ての因子をロックして書籍掲載の最適化を入力した結果を示しました.そうすると得られた最適値も書籍とぴったり一致していることがわかります.この最適解の揺らぎは,MCDAのバグではなく,最適解の不安定性によるものだということがお分かりいただけると思います.


    この手順に加えて,「条件設定」も変更していくのが常套手段です.このときJMPだけでは実施不可能な(スクリプトを作れば可能です)範囲の制約を条件にできます.このアドインの価値はこれだけではありませんので,ぜひ自分のデータで試してみてください.質問等はこのブログのコメントでいつでも受け付けています.非公開になっているので,遠慮なくどうぞ.『データサイエンス』の方でももちろん構いませんよ.会社からですとコメント欄が表示されないこともあるらしいので,その場合はご自宅からお願いします.


    それでは,また.




  • 練習31について

    リモートワーク中に拙著で勉強して頂いた方が多くいらしたようで,ありがたいことです.最初にリリースしたのが『統計的問題解決入門』だったので,こちらを先に購入してくださった方も多いのようなのですが,JMPの基本操作を勉強するには少し不親切だったかもしれません.もう一度書きますが『統計的問題解決入門』は実験計画で,『データサイエンス』はデータ分析を学ぶのを目的としています.ですので,JMP初心者が最初にお読み頂くならば『データサイエンス』をお勧めします.実験計画,特にJMPでは標準的なカスタム計画に興味がある,あるいは実務で使いたいという方は『統計的問題解決入門』をどうぞ.書名が親切でなかったために,逆の順番で読まれている方がいらしゃるのであれば申し訳ないです.言い訳をすると2冊も書くとは思ってなかったので,シリーズを意識した書名をつけることができませんでした.

    実は,更にもう一冊書くという話もあるので,今から書名を考えているんですが,ビジネス書ではないので,出来るだけ単純明快にすべきと今から肝に銘じています.最近は,高級食パン屋で「迷わずゾッコン」とか「パンのペリカン」「考えた人すごいわ」「だきしめタイ」「なま剛力スタジアム」「生とサザンと完熟ボディ」「うん間違いないっ!」「もはや最高傑作」などなど,変な名前の店名が流行っているそうです.他店との差別化が狙いとのことで,何でもほとんど一人のプロデューサーが名付けているそうです.書名を考えるときにも,やはり他書との差別化や検索にかかりやすさなどは考慮します.

    本書も『JMPではじめるデータ分析』が仮題だったように記憶してます.書名を決めるにあたり,「データ分析」で検索するとエクセル系のビジネス書が多く出てくるから,それらと差別化しようというオーム社の意見で,候補の一つとして出していた『データサイエンス』になったという経緯があります.いつかもブログに書いた記憶があるのですが,多くの人がデータサイエンス= 機械学習と思っているので,私自身はデータサイエンスという言葉に躊躇いがありました.もっと高度なことを期待されていた方ががっかりされるかもしれないことを恐れていたわけです.本書はデータサイエンスとタイトルにつけましたが,初めてJMPを触る人のための操作入門にもなるように,実践的「ハンズオン」として読んで頂くことを想定して書きました.

    最近,質問を頂いたのですが,その割には逆に少し難しい部分を端折りすぎたかなとも思っています.そこで,本日は改めて『JMPではじめるデータサイエンス』のP238の練習31について補足します.この問題は,実際にカスタム計画のサンプルデータ「カスタム計画.jmp」を使って,「モデルの当てはめ」の練習をするという趣向になっています.天下り式にサポートファイルを開くところから始めても良かったのですが,それだけでは,実験計画がこんなにも簡単に作成できることが伝わらないと考え,敢えてカスタム計画の作成手順を示しました.裏の話をあかすと,当初,実験計画について1日割く予定にしていたのですが,ページ数の制約から断念しました.その名残が問題31と問題49及び問題50なのです.本当はこの三つの問題で一つの節を構成していました.

    本書のカバーする範囲を超えてしまったのですが,「モデルのあてはめ」や「満足度の最大化」の練習と割り切ればよかろうと考えました.とはいえ,初めて実験計画を知った方には,こりゃなんだい?となったかもしれません.日常的に実験計画に関わっているものにとっては何でもないことですけど,それらが唐突に出てくるので不思議に思われたようです.『統計的問題解決入門』の方にはカスタム計画の作成を詳細に書きましたが,わざわざ購入して頂くのも申し訳ないので,少々補足します.

    練習31で扱っている事例の背景は,p239の下の方に書いてあるように,宮川雅巳(2000)『品質を獲得する技術』日科技連に掲載されている品質工学の事例がもとになっています.この書籍にはデータが掲載されているのですが,残念ながら製造条件は書かれていません.品質工学では,設計因子を質的に扱うのでこれは当たり前なのですが,このような場合でも,設計因子の上下限をそれぞれ1と-1にすることでモデリングしてそれを元に最適化することが可能です.P238の設定ウィンドウで,宮川(2000)で値が与えられている「水分率」「発泡剤」以外の「値」が-1と1になっているのはこのことが理由です.

    この連続尺度化する,即ち名義尺度を連続尺度として扱うのは統計的問題解決ではとても重要なテクニックです.量的因子は連続尺度で扱うのが鉄則と肝に銘じてくださいね.更に,具体的な値が分かっていればそれを使うのも重要です.宮川(2000)からは以下のように読み取れます.
    発泡剤: M1→3.9,M2→4.3,M3→4.7(単位:PHR)
    水分率: 低水分率→0.52,高水分率→0.81(単位:%)

    応答の「発泡率」の「下側限界」「上側限界」がそれぞれ20,30になっているのも宮川(2000)でそのようになっていたというだけの理由なので,このことを説明してなければ,カスタム計画の何かの設定なのかもと真面目に捉えてしまうのももっともです.特にこの問題では「実験の回数」が「発泡率」下限と同じ20であることも紛らわしかったですね.カスタム計画で得られたデータは問題31でモデル作成に使われ,更にこのモデルは,この後の問題49と問題50とでパラメータ設計で最適解を得るために使われます.ですから,最後まで進んで頂くともう少し見通しが開けると思います.

    「モデル」に入力する効果も天下り式なので補足しておきます.発泡ゴムの製造工程はこの図のように可塑化と架橋化の工程に分かれていて,それぞれは独立である(交互作用は小さい)と見なせることがポイントです.

    細かい説明は割愛しますが,そのことを踏まえて,この事例では以下の固有技術の知見を仮定しています.
    1.発砲率に影響する因子は8
    2.加硫圧,加硫温度,練り返し率の影響が大きい
    3.上記の因子間に交互作用があると予想できる
    4.発泡剤,水分率は処理温度との間にのみ交互作用がある
    5.加硫圧には非線形性があるかもしれない
    それを元に冒頭に掲げたようなテーブルを作成します.『統計的問題解決入門』ではこのテーブルを使って具体的にカスタム計画を作成する方法を紹介しているのでよろしければ参考にしてください.ある程度これらの情報を知っていることが前提になりますが,カスタム計画ではこれらを使うことで実験数を削減できるのです.

    技術よりの機能でもあり,JMPの入門書としてはカスタム計画はその理論を理解するにはやや難しい面もありますが,本書でその威力に邂逅する人がいればいいなと思いました.強引だったかもしれませんが,不明なことあれば遠慮なくお問い合わせください.注意として,最近判明したのですが,どうやら一部の会社からは書き込みができないようです.どうやらセキュリティポリシーの問題のようですが,何も返事なければご自宅から再度ご連絡いただければありがたいです.Bloggerに引っ越して結構経つんですが,ここも色々使いにくいところ出てきたのでまた引越しを考えているんですが,なかなか時間が取れません.

    それではまた.


  • 『JMPではじめる統計的問題解決入門』第三刷の修正点など

    全国的に緊急事態宣言が解除になる見込みですが,東京の感染者が14人ということなのでどうなるでしょうか.何れにしても,徐々に日常が(それがニューノーマルと呼ばれるものであっても)戻ってくるのは安心できますね.Amazonの物流も徐々に通常に戻っているようで,生活必需品以外のものも遅延なく買えるようになってきました.『JMPではじめる統計的問題解決入門』も,この一月ほどAmazonで在庫切れになっていたのですが,ようやく購入できるようになりました.少し前にもお知らせしたように,ちょうど第三刷がリリースされたタイミングでしたので,それも関係あったのかもしれません.
    今回の第三刷でもいくつかの修正を入れましたが,第二刷からは重要な訂正はありませんのでご安心ください.一方,最近になって,新たに判明したこともあるので,それも含めて今回の修正箇所をお知らせします.

    最初に,今回の修正を出版社に送った後でわかった問題と,その対処法についてお知らせします.p54の 大阪市特別区設置住民等業の結果を,視覚化,可視化するという例題では,ここからダウンロードしたシェイプファイルを使って大阪市の区割りをグラフビルダーで描画します.ところが困ったことに,いつからかはわかりませんが,大阪市の方でファイルのフォーマットを変更したようです.現在は,24区の区域画像のワードオートシェイプでファイルが提供されています.「地図上で左クリックすると書式変更可能」とあるのですが,WINDOWSのPCが今週末は使えず,どのような書式変更ができるのか確認できません.

    わざわざ本家からダウンロードせずとも,サポートファイルで提供した「大阪市-XY.jmp」「大阪市-Name.jmp」という二つのファイルを,p55の下から4行目のJMPくんの指示どおりにコピペすればグラフは描けるので,JMPの練習には大きな問題はないはずです.因みにJMP14以降では,この説明にある「mapsフォルダー」は既にできていますので,そこに入れるだけでOKです.それと,これを書いていて気付いたんですが,p55の上から10行目のJMPくんのせりふで「大阪市区名.jmp」というのは「大阪市-Name.jmp」の間違いですね,すいません.この次の増刷があれば修正しておきます.

    上記のサポートファイルは既に紐付けもされてるので,ファイルを移動するだけはお願いします.因みに,Macユーザーは,ライブラリの下のApplication Support/JMP/**/maps に入れてください.ここで**はバージョンナンバーです.JMP14なら14となります.シェイプファイルをダウンロードして,紐付けも実習したいんだという方は,幸い,従来通りkmlファイルでも提供されているので,それをシェイプファイルに変換してください.kmlのインポートはほとんどのCADソフトには実装されていますが,フォーマット変換だけであれば,フリーソフトもあります.自分では確認していませんので,ここにURLは載せませんが,必要あれば各自で「kml shape 変換」というキーワードで検索してみてください.使用は自己責任でお願いします.

    もっと簡単な方法はないかと探したところ,【H30年度】大阪市地形図(構造化データ_ESRI Shapefile)というページにたどり着きました.おそらく,これを使えばうまくいくと思います.こちらのファイルでは,紐付けがされていませんので,「区コード」を削除して「Shape ID」列を新規作成するという一連の操作をお願いします.但し,元のファイルと列名が異なっているので,この点にはご注意ください.

    上記以外に第三刷でオーム社にお願いした箇所もリストアップしておきます.まだそれが本当に修正されたかは確認できていませんので,実際と異なってしまっている可能性もあります.その点はご了承ください.

    1.Pvi の下の余白に次のような文章を追加しています.

    サポートブログについて
    本書の訂正や補足情報は,著者のサポートブログ「統計的問題解決研究所」(https://thinkstatistical.blogspot.com)をご覧ください.本書で書ききれなかったことやQ&Aなども定期的に更新していく予定です.

    対応するJMPのバージョンについて
    本書は,執筆時点での最新版であったJMP 13に準拠しています.このため,2020年3月の時点の最新版であるJMP 15とはメニューやGUIが一部異なっています.学習には問題ありませんが,この点をご承知ください.サポートブログには旧バージョンとJMP15との違いなどについて掲載しているので,ご参考にしてください.

    2.pvii 「サポートファイルについて」を以下に書き換えました.

    「やってみよう」で使うサポートファイルは,オーム社の書籍個別紹介ページからダウンロードできます.署名で検索して「ダウンロード」のタブからご利用ください.

    3.P3の脚注を以下のように修正しました.

    *5 2020年3月現在.
    *6 https://www.jmp.com/ja_jp/download-jmp-free-trial.html
    *7 前略...ここではWindows版JMP 13の例を示しましたが,最新のJMP15 のトライアル版ではビデオチュートリアルが表示されます.

    4.p28 12行目を次のように変更しています
    サポートファイルをオーム社の書籍ページからダウンロードしたら,「Irisスクリプト入り.jmp」を開いてね.

    5.p241 8行目以下を次のように修正しました.

    …ものです.SAS社の「MCDAアドイン お申し込みフォーム」(*2)にアクセスして,ダウンロード方法をご確認ください.本書ではこのアドインの操作方法も解説しますので,ぜひ自分のデータに使って,その素晴らしさを味わってみてください.

    更に,注記2のURLは以下に差し替えています.
    *2 https://www.jmp.com/ja_jp/support/mcda-form.html

    6.P247の脚注 のURLをhttps://thinkstatistical.blogspot.com に変更し,一定の条件を満たせば無償で使えるので,という箇所は削除しました.

    7.P299 9行目を以下のように修正しました.
    冒頭でも紹介しましたが,統計的問題解決研究所のURLは,https://thinkstatistical.blogspot.com になります.

    8.p300の「推薦図書」を「参考図書」に修正しました.

    以上のように,JMP15に関連した情報のアップデートとこのブログのURLの変更に起因する修正がメインです.JMP15に合わせた修正もしたかったんですが,増刷ではページ数が変わるような大きな修正はできないのです.重版の機会があれば,ぜひとは思っています.

    それでは本日はこれにて.


  • 目黒のさんま

    先週お知らせしたように,『統計的問題解決入門』にバンドルしたMCDAアドインの最新版を明日(来週の月曜日)からリリースします.機能的には変わりはありませんが,JMP15に対応して使用期限も1年延長されています.JMP15をお使いの方は最新版のダウンロードをお願いいたします.先週言及した不具合は解消されているのですが,一つ注意したいことがあるので本日はそれを解説します.

    P257からはじまる「MCDAアドインによる意思決定」の例題のような比較的複雑な状況では,新バージョンでは書籍に掲載した最適解とは異なります.ここまで応答関数が複雑な場合は,通常あまりないとは思いますが,以前と異なる結果が出るかもしれないことをご了承ください.この理由については,p258の「この例題についての注意」に書いた通りです.「満足度の最大化」のロジックはヒューリスティックなので,初期値などの各種設定によって必ずしも同じ最適解が得られるとは限らないのです.このことは本質的に避けられません.最初は気持ち悪いかもしれませんが,いずれそ,統計モデリングによるパラメータ設計では最適化は推定値であり,最適解はそもそも信頼区間により提示されるべきものだと理解できれば素直に受け入れることができます.もちろん,実務では最適解は一つに定めなければならないので,この例題のように大きな不安定性が懸念される場合は,p260の説明にあるように「最適化のオプション」の設定を変更してみてください.

    このように,最適解の不安定性はシミュレーションの丸め誤差に由来するわけですが,システムの本質に根ざしている場合もあります.初期値の変動が結果を大きく変えてしまう「バタフライ効果」を特徴とするカオス系のシステムが知られています.ここで言う「バタフライ効果」とは,もともとは気象分野での数値予報に起源を持つ表現です.「ブラジルで一頭の蝶々が羽ばたけば,テキサスで竜巻が起こる」などと象徴的に語られることが多いのですが,初期値に対して鋭敏なシステムの予測不能性を意味しています.

    日常でもサイコロを振って出る目の数は現時点ではどんなに高性能なコンピュータを使っても予測できません.わずかな初期値の変動がどの目となるかを決定してしまうので,高精度なサイコロを使っても結果は予測不能です.因みに,一部の人には有名な「世界最速のサイコロ」なんてのがあります.最速というのはタイポではなくてF1のエンジンに使われている金属と同じだからとか聞きましたが,マーケティングがうまいですね.このサイコロを振ってもその結果が正確に予測できるわけではないです.あくまでも大数の法則に従った経験的確率が数学的確率と一致すると言うことです.

    モデルや最適化の条件が複雑な場合,初期値に対するシステムの最適解の鋭敏性は大きくなります.ですから,モデルを不必要に複雑にすることは多重共線性だけでなく,最適解の不安定性も招きやすくなるのです.モデルをシンプルにするには,「効果の要約」レポートで「R2乗」を見据えつつ「対数価値」を参照して「要因」を『削除』していけばいいのですが,あまりシンプルにしてしまうと技術的に面白みがなくなってしまいます.「目黒のさんま」と言う落語がありますが,モデルの複雑性を不安定性をもたらす厄介なものと捉えるか,それともシステムの旨味と捉えるかが技術者次第というところでしょうか.

    もう一つ付け加えておくと,最適化の条件を複雑にしても解は不安定になりやすいです.とはいえ,設計画面で条件を変更するのは簡単ですから,この場合は最初は単純な条件を置いて,次第に複雑にしていくと言う原則を守ると良いでしょう.具体的には,まず単特性で最適化します.ロバスト設計の場合であっても,このときY(MID)かY(RNG)のみに条件を入れることがポイントです.その上で,制約条件を入れていきます.最初は広くそれから狭くしてみてください.この過程で解の不安定性に遭遇することもあるかもしれません.MCDAアドインによる最適化はこの過程により得られる多数の最適解を踏まえて,技術者が勘と経験,固有技術の知見を加味して統合的に決めることになります.

    ということで,最新版のMCDAアドインによる最適化の結果は書籍掲載のものと異なる場合もあることをご了承ください.因みに私の環境では,p259の結果は冒頭の図に示したようになります.p260,p261下,p262の結果もついでに示しておきます.

    その他の結果の照合もしたいと言う方は,ご連絡くだされば個別に対応します.

    それではまた.


  • MCDAアドインの更新について

    『JMPではじめる統計的問題解決入門』には,MCDAアドインという多目的最適化のためのJMPアドインを,SAS社のご協力を得て書籍購入者の特典としてダウンロードバンドルしています.最新版は,ファイル名「MCDA20190107.jmpaddin」のバージョン19017ですが,今お使いになっている方は1月31日でライセンスが切れるよ,というメッセージが表示されていることと思います.SAS社との取り決めで1年の期限付きでリリースしているので,お手数ですが,JMP15に対応した最新版を再度ダウンロードしていただきたいのですが,実はリリース直前に不具合が見つかりまして,本日の時点ではまだ最新版になっていません.修正・検証が完了しましたら,このブログでお知らせしますのでしばらくお待ちください.

    最新版にアップロードする場合は,上書きされるので必要ありませんが,もし,もう使わないという場合は,表示メニューの「アドイン」から「アドインステータス」ウィンドウを開いて,「MCDA Addin」を選択して『登録解除』すればOKです.ですが,この本以上に価値がある,とても便利なアドインなのでぜひ使ってみてください.アドインはSAS社のページからダウンロードする必要があるのでダウンロードされた回数などがわかるのですが,書籍が第2刷になっていることを考慮すると,まだアドインをダウンロードされていない方もいらっしゃるようです.第五講は少し難易度が上がるので,これからという方や挫折したという方もいらっしゃるかもしれません.

    ここでMCDAアドインの基本的な使い方を解説しておきます.『JMPではじめるデータサイエンス』の読者は,7日目のパラメータ設計の上位版のようなことをするのだと思ってください.サポートファイルの「MCDAデモ事例.jmp」を使います.データテーブルには既に「膜厚」と「欠陥数」という二つの予測式列があります.このようにまずは「モデルの当てはめ」で予測式を登録することがスタートです.その上で,アドインメニューから「MCDA」を実行すると,このようなウィンドウが出てくるはずです.

    列の選択リストから予測式列を選び,『予測式』をクリックします.このとき,予測式は複数あっても構いません.複数の予測式を割り当てれば多目的最適化が実施できます.とりあえず,このように「膜厚」だけを割り当てて『OK』すれば,これだけで「膜厚」を最適化する設計ウィンドウが出てきます.「条件設定」のところに最適化条件を入れて,赤三角から「最適化」を実行すれば最適化が得られます.

    これだけならば「満足度の最大化」を実行するのと変わりありませんが,このアドインには「制約」という条件があって,「最小」と「最大」とで制約区間を指定できることが特徴です.この範囲に特性値があれば満足度は同じなので,満足度関数は台形のようになります.この満足度関数の設定はJMPの標準機能には実装されていません.多目的最適化には,この条件設定は必須なのですが,なぜかJMPの標準機能にないのでスクリプトを組むしかないのですが,MCDAアドインを使った方が断然楽です.この使い方が基本形です.

    このアドインの威力は,ロバスト最適化や動特性最適化を実施する際に発揮されます.先ほどの割り当てウィンドウで「位置L」を『ノイズ因子』に割り当てて「最適化」した結果がこちらです.

    特性が「RNG」と「MID」という二つになっているのがおわかりでしょうか.「MID」は中間値で「RNG」はRangeのことです.「位置L」による「膜厚」の影響のロバスト最適化を,この二つの代表値で記述し両者の多目的最適化に持っていくのがポイントです.もちろんロバスト最適にするためには,この図のように「RNG」を0に制約すればいいのです.

    一方,先ほどの割り当てウィンドウで「位置L」を『目的因子』に割り当てて「最適化」した結果がこちらです.

    今度は特性が「0」と「M1」「M1^2」という三つになっています.これらは「膜厚」と「位置L」との回帰式の係数で,それぞれが切片,一次項,二次項に対応しています.ですから,例えば「M1」と「M1^2」を0に制約すれば「位置L」に対して「膜厚」が一定となる,すなわち膜が平坦になる動特性の設計ができます.

    これらはMCDAアドインによる設計の基本です.いずれも技術的にはとても現実的かつ重要な機能ですが,JMPの標準機能では実施が困難です.もちろん,MCDAアドインがその威力を発揮できるのは,予測式にそれなりの情報が記述されている場合に限ります.ノイズ因子と設計因子との交互作用がそこになければロバスト設計は当然ながらできません.そのためには,周到に考察し準備された実験計画が必須なのです.そのためには田口メソッドで使うL18のような非効率的な計画でなく『JMPではじめる統計的問題解決入門』の第五講に書いたようなカスタム計画をうまく使うことをお勧めします.実践するには敷居が高いかもしれないので,疑問点あれば遠慮なく連絡ください.

    それではまた.


  • 実務のデータ分析における交渉力

    以前から予告していたように,本日は分析手法の交渉力についてお話しします.中々時間が取れなかったのですが,ようやく思っていたイラストが描けたので,それもお披露目します.このイラストは書籍に掲載する予定ですが,その際は手直しが入るかもしれません. 

    版の古い間違った図を入れてしました.後日差し替えます.

    実務のデータ分析ではそのゴールに「行動」があります.得られた「情報」をもとに「行動」しなければそのデータ分析は役に立ったとは言えません.そのためには人を動かす必要がありますが,何の根拠もなく人は動きません.メリットとデメリットを秤に載せて,その均衡が破たれたときに人は初めて行動します.




    そこで必要になるのが交渉や折衝の場です.因みに,交渉と折衝の違いがわかりますか.交渉はお互いの意見に折り合いをつけて落とし所を見つけることです.一方,折衝とはお互いの意見とは別の着地点を見出すことです.いずれの場合でも,ステークホルダー(利害関係者)を説得したり納得してもらうことが必要になりますが,そのためには,自分の理解と相手の理解とが整合していることが重要です. 


    よくあるデータ分析の入門書では,統計学やデータ分析に秀でた先輩や上司がいて,わかりやすく指導してくれたり適切なアドバイスをもらえたりする夢のようなストーリーが多いのですが,こういうケースは実務では稀ではないでしょうか.むしろ自分よりも相手の理解の方が経験が浅く知識レベルが低いような局面に苦労することが多いと思います.このような場合,実務のデータ分析では「行動」を意識して,相手の理解できる範囲で分析手法を選ぶことが重要です.冒頭の図を使ってこのことを説明します.


    この図は,ある分析手法における自分の理解度と相手の理解度とを2軸にとった平面です.分析手法ごとにこの平面が異なることに注意してください.(この平面に分析手法がプロットされるわけではありません.)対角線上では自分と相手の理解度が釣り合うことになり,この線に近づくほどよりその分析手法は高い交渉力があるということになります.両者の理解力が釣り合うといっても,原点に近いほどお互いの理解度が低いので,より正しい意思決定のためには右上を目指すのが望ましいでしょう.(必ずしもそうとは限りませんけど.)


    この図の黒丸で現在採用されている分析手法が示されているとします.対角線の下側に離れているので,この分析手法に対する相手の理解度は自分の理解度よりも低い状況です.この状況を改善するには図の白丸を目指す必要があります.そのためには,二つの方法があります.一つは相手が理解できるように丁寧に説明するという正攻法です.とはいえ,相手に理解してもらうには時間もかかるので,手っ取り早く相手に理解できる分析手法を選択することも1つの道です


    例えば,自分が大学教養レベルで相手が高校レベルであれば「二変量の関係」や「一変量の分布」あるいは「パーティション」などの比較的難易度の低い分析手法の交渉力が高いでしょう.実務のデータ分析では難易度の高い手法が良いというわけではないと言っているだけですから,交渉力のある分析手法はもちろん各自の状況に合わせて工夫してみてください.

    来週はまた関西方面に出かけます.それではまた.


  • オーバーフィッティングとオッカムの剃刀

    先日は某社で実験計画についてお話しする機会がありました.関係者の皆様,貴重な体験をさせていただきありがとうございました.時間がない中で詰め込みすぎた感があるので,後日何か疑問が湧きましたらいつでもご連絡ください.大阪の会社だったのであまり馴染みのない大阪の街を歩き回ったのですが,電車の中で大声で話している人がいて喧しかったり,コンビニの前で大勢の人がタバコを吸ってたむろっていたり,おっちゃんが自転車で暴走していたり,久しぶりの大阪は賑やかでした.歴史的な建造物もちらほらあって,重みも感じてよかったです.今まで行ったことがある大阪は大阪大学だったり,SAS社のサテライトだったり北寄りで,今回もどちらかというとキタなので,これらの偏ったサンプリングでは真の大阪像は予測できません.機会があればミナミのサンプリングもしてみたいなと思っています.




    講演には『統計的問題解決入門』で勉強してくださったり,このブログをお読みいただいている方もいらっしゃったので,気恥ずかしい思いをいたしましたが,みなさんよく聞いてくださったので,思い切ってお引き受けしてよかったと思っています.とはいえ,人前で話すのは得意ではないので毎回緊張しますし,特に今回のように宿泊が伴うとホテルで寝られない質の私としては大変疲れました.今週は分析の交渉力について書く予定にしていましたが,しんどいので本日はメールでいただいた質問にお答えする形で,オーバーフィッティングについて話します.ご存知の方には当たり前なので,申し訳ないのですが,中高生向きの初心者用コンテンツとしてご容赦ください.


    現象としてオーバーフィッティングを確認するのは簡単です.むやみにべき乗項を加えることの禁忌は容易に理解できると思いますので,別の例を示します.例えば,以下の手順で新規データテーブルに列を作ってみてください.
    1.「データの初期化」を「シーケンスデータ」に変更して「列の新規作成」します.(設定値はデフォルトのまま)列名は「X」とでも.
    2.「Y」列を新規作成し「計算式」として例えば以下の数式を入力します.
    :X + Random Normal() * 20
    この計算式には「Random Normal」関数で乱数が組み込まれています.
    3.今度は「データの初期化」を「乱数」にして「追加する列の数」を20にして「列の新規作成」します.列名はデフォルトで「列3 01」から「列3 20」となります.この列は「Y」とは無関係な単なるノイズです.
    4.「モデルのあてはめ」で「Y」を『Y』に「X」と「列3 01」から始まる20列を「モデル効果」に『追加』して『実行』します.主効果のみにしてください.


    レポートの「効果の要約」を見てください.「X」以外の要因が有意になっていませんか.もしなっていなかったならば「やり直し>自動再計算」にチェックを入れて,「Y」の計算式の『適用』を繰り返し押して乱数を変えてみてください.おそらく,そのうち冒頭のように何かしら有意な列が出てくるはずです.この例では「列3 07」が有意となっていますが,何しろ単なる乱数列なので明らかに間違った効果です.このように,効果の数が多くなればたとえ意味のない変数であっても見かけ上の関係が出てきてしまいます.これがオーバーフィッティングの怖さです.観測データにはノイズが含まれているため,データを完璧に記述するモデルはノイズも正確に再現しています.これが災いの元です.ノイズは再現しないからノイズなのです.


    オーバーフィッティングは機械学習では過学習のことです.学習しすぎるとかえって役に立たなくなるのは人間も同じです.記憶は生存に直結しているとはいえ,人間は忘れることで生き延びてきました.例えば私たちの祖先の猿が獣に襲われたとします.命からがら逃げ延びたとして,その記憶が生存に役立つには細部を忘れることが重要でした.例えば「夏の初めの朝に,森の外れの見通しの良い草原で,尻尾が長く片耳の垂れた黒い縞模様のある黄色い四つ足の生き物に,飛びかかるように襲われた.」と小説のように5W1Hで細部を詳細に覚えていた猿は恐らくその後その経験を生かせなかったことでしょう.詳細な記憶は生存には役に立たないどころか,逆に弊害をもたらします.この記憶を正確に覚えていた記憶力優秀な猿は,秋の夕方に黒い獣に襲われてしまったかもしれません.忘れっぽかった猿は見通しの良い草原で敵に襲われたという記憶のみを保持していたため,生存に役立ったかもしれません.少なくとも詳細を忘れたことは生存レースに有利に働いたことは間違いありません.忘れっぽかった猿の子孫である私たちも同様に忘れっぽいはずです.


    話が逸れましたが,統計モデリングにおいても,良いモデルを作るには詳細を忘れることが重要です.データを完璧に説明したモデルは予測には役に立たないのです.特に説明変数が多いと目的変数をいかようにも説明できてしまうので,真の母集団にない関係をあたかもあるように見せてしまうことが可能です.この間違いを回避するには,できるだけ少ない説明変数でモデルを作ることです.科学では『統計的問題解決入門』のコラム(p153)でも説明している「オッカムの剃刀」という考え方があります.より少ない仮定で説明できる理論のほうが信頼できるという基本姿勢です.モデリングにおいて,オッカムの剃刀で何をそぎ落とすかというと,推定されたパラメータです.剃刀に当たるのが,モデル効果の削除ボタン(ボタンのGUIになってませんが)です.


    この意味で,重回帰分析に先駆けた単回帰分析も軽視できません.但し,OFAT(一因子実験)とは本質的に異なり,データは実験計画で取得することが前提です.この場合であれば,他の変数は層別に考慮することが可能です.共変量が考慮されていれば,単回帰分析でも実務においては十分価値があるように思います.なかなか現場が実験計画をやってくれないという皆様からの悩みを伺うに,1つ提案したいのが単回帰分析です.分析の交渉力とも関係あるので,この点を来週補足します.


    それではまた.


  • 近江商人の商売十訓にみる最適化設計

    本日は「DOEを成功させるための7つのヒント」その3の「動特性を評価しよう」ということについて書きます.講演ではあえて動特性という品質工学の言葉を使いましたが,相応しい言葉とは思いません.そもそも品質工学では,制御工学分野から引っ張ってきている用語が多く,初学者には紛らわしいものです.SN比とかエネルギーとか似て非なるものを同じ言葉で表現することは極力避けるべきです.SN比の定義で対数を取ることは加法性を意識してのことでしょうけれど,パラメータ設計に持ち込むならば,無次元化した平均2乗損失の逆数という一般化した定義の方がわかりやすいです.

    因みに,制御工学で動特性というときは,時間的に変化するシステムの応答関数を意味しますが,品質工学では設計因子と信号因子で二次元的に記述されたシステムの特性のことです.一方,このヒントでの動特性とは,設計因子と(目的)因子間の関係性を包含したシステムの統計モデルのことです.ですから動特性を評価しようということは,システムに目的因子を見出そうということと同義です.その上で,目的因子を取り込んだ実験をして統計モデルをつくり,更に目的因子の水準範囲で所望の特性を得る設計解を得ることを意味します.

    一つ注意して欲しいのは,この目的因子という言葉はわたしが勝手に名付けた名称ということです.本書で説明しているように,目的因子とはユーザーが目的を達成するために調整する(可能性のある)因子のことです.例えば,炬燵の設定温度とか,自動車のエンジンの回転数とかがその一例です.エンジンの特性をトルクとパワーとで定義して,最適なエンジンを作ろうとした設計者は,回転数が重要な因子であることを知っているわけです.かといって,最適解として「5000rpmでお使いください」と取り説に書くわけにはいきません.ドライバーが速度(目的)に応じてアクセルを踏むことで回転数を調節することを前提としてエンジンというシステムを最適化しなければならないのです.回転数を例えば5000rpmに固定した場合を品質工学では静特性と呼んでいますが,何のことはない,目的因子を固定因子とした場合に過ぎません.

    システムの目的因子が何かを考えることがポイントとなるわけですが,近江商人の商売十訓のその5にヒントがあります.松下幸之助が昭和11年の松下電器連盟店経営資料として書いたとされる「商売戦術30ヶ条」の第11条の出典としても有名です.「無理に売るな,客の好むものも売るな,客のためになるものを売れ」という言葉はどこかで聞かれた方も多いでしょう.客の好むものとは流行を追った商品であったり廉価商品であったりと様々ですが,そういう商品は売ってはいけないということです.そして,客のためになるもの,使って便利な商品を売りなさいと教えています.

    マーケティング業界の言葉でマーケットインとプロダクトアウトはよく知られています.両者は対立した概念と説明されることも多いのですが,実は製造者の視点からユーザーを見ているという点で両者は同じものです.作るものが先にあってマーケットを探すのか,マーケット(消費者のニーズ)があって作るものを決定するのかの違いに過ぎません.

    これら以外に,マーケットアウトという考えがあることはご存知でしょうか.マーケットアウトとは,ユーザーのニーズを踏まえて製品を作っていくというアプローチです.消費者の視点でマーケットから世の中が求めている製品を生み出すのがマーケットアウトであり,それを見据えて作るのがプロダクトインなのです.
    上述した「客の好むものも売るな,客のためになるものを売れ」という言葉は,まさにマーケットインではなく,マーケットアウトたるべしということを言っているのです.これは私たち技術者にとっては,プロダクトアウトでなく,プロダクトインたるべしということと捉えるべきでしょう.

    いささか脱線してしまいましたが,このプロダクトイン即ちユーザー目線での製造設計の肝が目的因子なのです.ですから,目的因子を考えるということはプロダクトインに繋がるはずです.ユーザーの求めるものがユーザー自身にもわからないことも多々あります.むしろユーザーは欲しいものは自覚できても,求めるるものは自覚できないと思った方が良いかもしれません.そこでわたしたち設計者が,顧客視点でそこに目的因子が潜んでいるはずだと深く考える必要があります.

    Appleはユーザーが望んでも顧客のためにならないものは作らないという精神では徹底しているメーカーです.ある意味ではプロダクトアウトとも言えますが,それだけではここまで成功しなかったでしょう.そこにはプロダクトインがあったのは明白です.例えば,MicrosoftのSurfaceのようなタッチパネル搭載PCは作らないと明言しています.(タッチスクリーンのコンセプト製品もあるようですが)それはキーボードとの併用ではユーザーが疲れてしまうからだと説明しています.PCの最適化設計に,ユーザーの手の移動距離のような目的因子が想定できるのではないでしょうか.その他にもiPodの「所有している全ての音楽をポケットに入れて持ち運べる」というコンセプトや,シンプルかつスタイリッシュということを最優先したためにフロッピードライブを撤廃してユーザーにブーイングを買った初代iMac等々,これらは全てユーザー目線のプダクトインの製品であったことは今になって見ればわかります.昔のPCはフロッピーがあって良かったなどという人はいませんから.

    あなたの製品の目的因子は何かをプロダクトインで考えてみてください.それではまた.


  • MacBookが故障した話

    先週の金曜日にJMPer’s Meetingで使ったMacBook Proですが,なんと翌日の土曜日に故障してしましました.先週のブログを書いているとき,なんか今日はタイプミスが多いなと思っていたんですよね.前の日の疲れからと思っていたんです.症状は「nキー」が二度打ちされてしまうというのもので,ローマ字入力なので,例えば「なんです」とタイプすると「nなんです」となってしまいます.調べたら,MacBook Pro (2016 以降) のキーボードには埃などが隙間に入って動作不良を起こすというトラブルがあるようです.MacBook や MacBook Pro のキーボードのお手入れ方法などという公式文書も公開されているくらいです.この本体を75度傾けるという指定がなんとも奇妙ですね.(分度器なしに正確に75度を知るにはどうすれば良いのかを考えること数分.正三角形を描いて60度を作り更にそれを4等分すれば良いことに気づきました.)面倒なので,おおよそ75度で書いてある通りに処置しても改善せず.最後の手段でAppleのサポートに連絡して持ち込み修理の予約をしました.

    幸いなことにこのトラブルはApple側が認識していて無償修理の対象となっていました.そうでなければ,正確な額は忘れましたが,5万円以上かかるのだとか.この無償修理は購入から4年という制限がありますので,MacBook Proのユーザーの方はキーボードの調子がおかしいなと思ったら様子見をせずに動いた方が良いです.因みに,その後に知ったところでは,第三世代のバタフライキーボードでは対策されているという噂もあるようです.

    サポートには最長1週間と言われたのですが,なんと中1日で修理品が輸送されてきました.それで本日はこれからバックアップデータをもとに戻すところです.言い訳が長くなりましたが,そういうわけで,本日のブログで書く予定だった「DOEを成功させるためのヒント」の最三回は来週に回します.三番目がなんだったか忘れてしまったので.そもそもあのヒントは「統計的問題解決入門」を執筆したときのドラフトがもとになっていて,全部で30以上もある中から今回の講演のために7つ(追加分を入れると8つ)を選んだものなのです.先日SAS社から参加者の皆様のアンケートをフィードバックしていただいたのですが,この7つのヒントが好評でした.そういうわけで気を良くしてこの企画は続けますが,今週は上記の事情により休載します.

    これだけですと物足りないので,問い合わせを頂いている「事例検討会」について補足します.正式にはHOPE事例検討会と呼んでいて,高橋先生が主催されているHOPEアドインを使った事例検討を研究するという集いです.その場ではHOPEアドインのライセンスがもらえるだけでなく,使い方の指導もしています.JMPユーザーであれば,参加資格は唯一自分の事例を落ち込むことです.あの場ではデータが必要と言ったかもしれませんが,それは正確ではなくて,これからどのような実験計画を組めば良いかの相談であっても構いません.その場合に必要なのはデータではなくて事例の背景です.その際,細かい技術内容は不要です.正確である必要もありません.データは実験した後に持ってきていただき,HOPEを使った最適化を試みるという流れになります.この場合も,因子名や水準値はマスクして構いません.とは言っても,社外発表等の承認手続きが必要になる会社もあると思いますので,そこらへんはメリットとデメリットを秤にかけてご検討をお願いします.現在,隔月で実施している検討会ですが,今後は毎月実施する予定ですので,最短では一月で問題解決できるかもしれません.

    因みに,MCDAアドインはこの検討会では対象外です.MCDAアドインは「統計的問題解決入門」の読者に多目的最適化の醍醐味を味わっていただけるように企画したものなので,SAS社でも事例検討会でもサポートしていません.HOPEアドインと違って,MCDAアドインはJMPネイティブのモデリング(モデルのあてはめ)を使いますので,そのぶん機能はシンプルですがHOPEアドインとはアプローチが異なるので注意が必要です.先週のJMPer’s Meetingの後に,早速本書を購入してMCDAアドインをダウンロードしてくださった方もいるとSAS社の営業の方に聞きました.その方がこのブログをご覧になっているかわかりませんが,不明な点あれば直接このブログのコメント蘭でお問い合わせください.事例相談等についても,できる範囲で協力します.東京近辺の方であれば,SAS社の会議室を借りて,直接お話しすることもできるかもしれません.

    本日は雑記でした.これからバックアップを復元します.それではまた.


  • 不正統計と統計リテラシー

    不正統計の報道で騒がしい昨今ですが,この言葉を聞くたびに「ちょっと違うのではないか」と思うのです.不正統計が何を指しているのかといえば,ご存知のように厚生労働省の毎月勤労統計の調査が正しく実施されていなかったという問題です.毎月勤労統計調査(いわゆる「マイキン」)では従業員500人以上の事業所はその全てが対象になっていますが,東京都内では3分の1しか調査していなかったとのことです.

    母集団からサンプリングしてその平均値を母平均の推定値とするという行為そのものは統計学としては全く問題ありません.問題はサンプリングがランダムでなかったことです.日本全国の平均賃金を推定する場合,東京都内でのみ三分の一サンプリング(少しい変な言い方ですが,そのほかではサンプリングは全数)していたのであれば,母平均の推定値は真値よりも小さくなります.東京都には比較的賃金の高い事業所が集中しているからです.この報道を聞いたとき,サンプリングして東京都の平均賃金を推定した後,東京のサンプルサイズを3倍したのかと思っていましたが,そんな単純な処理すらしていなかったようです.どうしてそのままでいいと思ったのでしょうか.謎ですね.

    とはいえ,この問題を不正統計と呼ぶのはやめていただきたい.確かにサンプリング手法は間違ってはいますが,統計手法が不正なわけではありません.おそらく不正統計というときの「統計」はデータの意味で用いていると思いますが,データ自身も捏造された不正なものではありません.この行為が問題なのは違法であるということです.毎月勤労統計調査は,それによって景気判断はもとより様々な政策が決定されるわけですから,国の基幹統計調査として統計法で定められているのです.ですから,今回の問題は不正統計ではなく不法統計と言って欲しいと思います.統計という言葉と不正という言葉が紐付けられてしまい,人のヒューリスティックな判断に影響をもたらすはずです.不正統計などという間違った言葉が蔓延るのは少なくとも統計教育にとって百害あって一利なしです.

    統計には嘘はありません.「嘘には三つある.一つは嘘でもう一つは大嘘(真っ赤な嘘とも),そして三つ目は統計だ.」などというマーク・トゥエインの言葉が有名ですが,彼がこのイギリスの首相の言葉(諸説あります)を引用したのは,元々は「(私は)数字に惑わされる」という文脈でした.確かに数学には嘘はありませんが,数字には嘘があります.それと同じく,統計学には嘘はありませんが,統計データ(結果)には嘘はあります.嘘があるのはそこに人間がいるからで,嘘をつくのは人間なのです.それを統計のせいにするな,とわたしは言いたい.とはいえ,嘘をつくつもりがなくとも人間に間違いや勘違いは付きものです.そのための最低限の能力が統計リテラシーです.

    例えば,マイキンでもその一部で全数検査が(本当に必要なのかは別にして)実施されているかもしれませんが,そもそも,日本の勤労者すべてを母集団とするならば,東京都のみ全数調査するのは正しいサンプリングなのでしょうか.精度を上げたいという意図は理解できますが,従業員が499人の事業所はおそらくサンプリング調査されているはずです.500人という区切りの根拠は明確ではありません.統計学の示すところによれば,所詮はサンプリングの結果に過ぎないのならば,推定値と合わせて信頼区間を提示すべきということです.

    信頼区間を提示するには提示する側もされる側にもある程度の統計学の知識が必要です.この統計学の知識を読んだり書いたりする能力が統計リテラシーとも言えます.統計リテラシーを前提にしてデータの開示がなされるようになるべきですが,とある科学分野の論文を読んでいても,SDとSEを取り違えているようなものも目に付くくらいですから,役所に統計リテラシーを期待すべきではないかもしれません.

    そもそもお上の統計の扱いには常々疑問を抱いています.e-Statが開設された時のゴタゴタは記憶に新しいところです.わたしもセミナー用のデータとしてe-Statをよく利用させていただいているのですが,そのほとんどがmessy dataです.JMPのマニュアルでは雑然データと訳されていますが,messyには散らばって汚らしいというニュアンスがあります.あまり触れたくない感じです.csvやxslで提供されているならまだしもPDFになっているデータがかなりあります.PDFというフォーマットは本来印刷用のものでデータ分析にかけることは想定されていません.

    xslデータであっても,例えばこの学校保健統計調査のような見ることを前提としたデータが圧倒的です.年齢という重要な変数がシートに分割されてしまっています.これは困りました.おかげでわたしとしてはこれを他山の石としてセミナーの題材にできるのですが.さて,データはe-Statからダンロードできます.このmessy dataをJMPで分析するのはどうすれば良いでしょうか?例えば,身長と体重からBMIを算出してそれが年齢でどのように変化するのかを男女別に見たいとして,どうすればいいでしょうか.実はこの処理で一箇所つまずくところがあります.来週のブログで手順を合わせて回答しますので,お楽しみに.

    因みに結果の一部を示しておきます.データは「学校保健統計調査平成30年度(速報)」を使ってBMIのクラスタリング結果(性別,年齢を区別しない)を表示していますが,この分布を再現できますか?

    それではまた.


  • 万年筆と最適化設計

    実は最近アクセス記録を見てしまったので,このブログにも結構な人がいらしてくださることを自覚してしまいました.あまり迂闊なことも書けないなと思いを新たにしていますが,本日は暇ネタを書かせてください.

    わたしは日常的に万年筆を使っています.他の筆記具ではどうにも書きにくいのです.滑らかだと定評のある水性ポールペン(ジェットストリームやアクロボール)でさえ,筆圧をかけなければ書けないので,長い時間書いているととても疲れます.ボールペンは構造上ペンの先の衝撃がダイレクトに手に伝わってくるのでそれも疲れる理由の一つです.そこで万年筆がわたしには疲れにくい筆記具なのです.

    司法試験の筆記試験にも万年筆がよいということで,専用の万年筆が売られていたりします.何しろ数時間もの間ひたすら書き続ける過酷な試験ですから, 疲れない筆記具は必須のようです.そもそも法務省の司法試験に関するQ&Aにも,「指定の筆記具は黒インクのボールペン又は万年筆(ただし,インクがプラスチック製消しゴム等で消せないものに限る。)」とあります.

    この万年筆にも重要な多目的最適化がなされているのですが,本日はこの話をしたいと思います.万年筆のペンポイントの材質は何だかご存知でしょうか?メーカーのロゴと一緒に14kとか18kと小さく書かれているのを見たことがあるかもしれませんので金と思われているかもしれませんが,この文字が書かれている部分はペン先です.ニブとも言いますが,その先に小さい金属(球体)が溶接されていて,そこが紙にあたって書けるのです.この金属の球をペンポイントと言って,材質はイリドスミンというイリジウム(Ir)合金が一般的です.オスミウム(Os)共々硬い金属の代表です.何しろこの二つの元素は全元素中一番目と二番目に比重が大きいのです.イリジウムとオスミウムの天然合金をオスミリジウムと言い,その中の白金属元素鉱物の一つがイリドスミン(Rutheniridosmine) と呼ばれてペンポイントの材質として使われてきました.(因みに,白金属元素鉱物の命名に関する決まりが変更されて,イリドスミンは現在は自然オスミウムと呼ぶのが正式ですが,万年筆業界ではいまだにイリドスミンで通っています.)

    ペンポイントに必要な特性はまず摩耗に強いこと,すなわち硬いことです.イリドスミンのモース硬度は6−7です.白金の硬度が4−4.5で,ガラスの硬度が5ですからかなり硬い合金です.国内でもイリドスミンの需要が高まった頃でしょうか,あの宮沢賢治が岩手県で砂金の中に入っている白い物質がイリドスミンであることを発見し,イリドスミンの採鉱を目指していたが叶わなかったということです.佐藤隆房(2012)「宮沢賢治ー素顔のわが友」,富山房企畫そういえば,宮沢賢治の詩集「春と修羅 第二集」の三六六に鉱染とネクタイという詩があります.「こゝらのまっくろな蛇紋岩にはイリドスミンがはいってゐるぞ」という一節があるのを思い出しました.

    話が逸れました.このペンポイントですが,現在では必ずしもイリジウムとは限らないそうです.その材質は企業機密とのことですが,成分は分析すれば簡単にわかることなので製法などにも色々ノウハウがあるのかもしれません.何れにしてもペンポイントの硬度が高ければそれだけ摩耗に強いということで,長持ちする万年筆になります.(もちろんペン先の交換は可能ですが,凝った軸でもない限りおそらく買い換えた方が安いです.)その長持ちするペン先のトレードオフにあるのが書き味です.

    万年筆の使い始めはペンポイントがまだ尖っていて,その部分が紙を引っ掻くことで,インクが滲み字幅が太くなっています.この時点ではまだ書き味も悪く,こんなものかと使うのをやめてしまう初心者もいます.ですが,我慢して使い続けているうちに角がとれ,自分の書き癖に馴染んだ形状にペンポイントが摩耗していきます.この時点で一番細く書けるペンポイントになります.更に書き続けていくと,徐々に摩耗が進み字幅は太くなっていきます.

    字幅が太くなると,一定のインク容量あたりの書ける線の長さが短くなります.この線の長さを一定の字の数で換算したものを字数曲線と呼ぶんだそうです.横軸に時間,縦軸に字数で万年筆の特性を表現できるわけです.この字数曲線は上に凸の関数になっていてその頂点の近傍で万年筆(のペン先)は線幅が最も細くなり書き味もこなれてくることになります.

    万年筆メーカーによってこの頂点をどの時点に設計するかがとても重要です.日本の万年筆メーカーは実用性を優先して硬いペンポイントになっているので,万年筆がこなれてくるまでに時間がかかります.ハードに使っても半年はかかるでしょうか.通常使用であれば,おそらく数年はかかります.一方,外国メーカーではもっと柔らかいペンポイントが付いているように思います.最初からユーザーに優しい万年筆なのです.しかしながら.末長く良い状態を保てるのは国産の万年筆です.しかも,国産メーカーのペン先はロバストです.外国製のように当たり外れがほとんどありません.性能として優秀な国産万年筆ですが,それが売り上げに結びついているとは言いがたい状況です.それはなぜかというと新品時の書き味で購入評価をされてしまうからです.

    文房具屋に万年筆を買いに行くと,試筆に新品を出してくるお店がありますが,そういうお店ではどうしても外国メーカーの万年筆が好まれるようです.何しろ最初から書き味が良いのですから.大きいお店では,パイロットやセーラーの試し書き専用の万年筆がありますが,それらは何ともこなれたいい書き味になっていたりします.国産メーカーも最初から柔らかいペンポイントの万年筆を出せばいいとは思うのですけど.国産万年筆のペンポイントが硬いのは,漢字を書くための細い線幅にはペンポイントを小さくする必要があり,摩耗もそれだけ大きくなるからではないかと考えています.

    耐久性(耐摩耗性)と書き心地の二つの特性を最適化した製品が万年筆であって,国内外の多くの万年筆メーカーのそれぞれの製品がその最適解の一つなのです.このように,製品には複数の特性があるのが普通です.ぜひ皆さんの製品にも複数の特性を見出してみてください.今まで見えなかったユーザーのニーズが見えてくるはずです.

    本日は暇ネタですいません.
    それではまた.