UA-115498173-1

2019年02月23日

システムを意識しよう

昨日のJMPer’s Meetingさ参加してくださった皆様.どうもありがとうございました.当日は花粉症の影響で喉の調子がよろしくなく,体調的にも今ひとつでしたが,多くの方にお会いできてとても有意義でした.
さて,昨日もお話しした「DOEを成功させるためのヒント」について続けます.今週はその2として「システムを意識しよう」ということについて書きます.システムという言葉は,日本語ですとSEに代表されるようにコンピュータ関連の特にソフトウェアに限定して使われることが多いのですが,そもそもは系という訳が与えられている広範囲な概念をも意味します.例えば太陽系はソーラー・システムです.一企業の囲い込みを「エコシステム」などときれいごとで表現することもあります.

DOEによる問題解決の場合,最適化する対象をシステムと見做すことが大切です.この場合のシステムは,個々の構成要素が全体として機能していると考えます.ですから,ほとんどのモノはシステムです.例えば,自動車,PCと言った工業製品はもちろん,カレーライスやおでんなどの料理もシステムと考えることができます.そうだからこそ,こう言ったモノは最適化即ちその機能を最大化することができるのです.最適化設計ではDOEによるデータでシステムを数式化するわけですが,そのDOEがカスタム計画であるときは,システムの構成を仮定する必要があります.鶏と卵のようではありますが,物理学で理論構築の際にモデルを立てるのと似ています.このシステムモデルを元に統計モデルという別のモデルを立てるのがややこしいところです.

システムのモデルをもとにDOEを構築する場合,設計因子と特性はシステムの縦糸と横糸であると意識します.こういうときに,よくフィッシュボーン・チャートを使うように書いてある本もあります.JMPではishikawaダイアグラムとして実装されていますが,わたしはそれよりもマインドマップ的なものを紙に書くことをお勧めしています.マインドマップはフリーも含めていろいろソフトやアプリがリリースされていますが,紙に書いた方が絶対いいです.A4のコピー用紙を横にして使うのがお勧めです.ノートに書くならば無地に限ります.どう書いていくかというと,ステークホルダーでシステムを把握することがコツです.

例えば,「おでん」というシステムには作る人と食べる人というステークホルダーがいます.作る人は,レシピ(材料の種類と量)や調理方法・手順などで「おでん」に関わります.食べる人は代金を支払って味や食感などを得ることで「おでん」に関わります.これで一通りの縦糸と横糸が導かれたわけですが,実践的なDOEではもう一人の重要なステークホルダーがいらっしゃいます.それは誤解されることを恐れず言ってしまえば,神様です.神様は「おでん」に気温などの環境として影響します.関東か関西かという場の違いを考慮するならば,固定因子とすべきかノイズ因子とすべきかで悩むこともあるかもしれません.然しながら,この段階では作る人(お店)または食べる人が関東にあるか関西にあるかという関わり方で捉えるに留めておきます.

今日は昨日無理したせいで喉の調子がいまいちなのでここまでとしますが,ここらへんの説明は本書P173をご参考にしてくださるとわかりやすいかと思います.

それではまた.
posted by Tad at 19:00| Comment(0) | TrackBack(0) | 講演コンテンツ

2019年02月16日

DOEは必殺技

今年最初のJMPer's Meetingはいよいよ来週に迫りました.後半のジャパン・セミコンダクターの事例発表が実践編なので,私の担当する前半の基礎編で何をお話しようか今も考えているところです.「JMPerはDOEをやろうよ」ということからは外れない予定なのですが,割とアドリブで話してしまうタイプなので,聞いてくださる方の反応次第では脱線することはあるかもしれません.JMPer's Meetingは既に満席でキャンセル待ちとなっているのですが,ご興味あれば直接連絡ください.

先日SAS社から連絡ありまして,都合でキャンセルされた方から資料配布の予定はあるかとご質問いただいています.理由はいろいろありますが,どのような講演でも資料は配布していません.プレゼンのノウハウ本の中には「資料は配布しない」ように指導しているものもありますが,それに従っているわけではありません.学会発表とも違って講演のスライドは「話し」が主でそれを補足するためのものです.ですから,スライドだけを「読む」と政治家の発言のように主張が(結果的に)部分的に切り取られてしまうことを懸念しているからです.更には,講演の場は一期一会であることを大事にしたいと言う理由もあります.どんな講演であっても,資料はそのために毎回作成していますし,講演後に使用した資料は必要な部分だけを残して削除してしまいます.自分の手元にも残ってない資料が他所様にあるのも不自然です.

このような事情をご理解いただければありがたいのですが,興味はあるけれど参加できないと言う方もいらっしゃるかしれません.最近参加したカンファレンスで,資料非公開だけど自らのfacebookに投稿すると言う方がいて,なるほどと思ったので,このブログで追加補足した内容を書いていくことにしました.私はfacebookもTwitterもアカウントは持っているのですが,性に合わないのか全くの休眠状態ですので.
前置きが長くなりましたが,そこで本日は「DOEを成功させるための7つのヒント」のその1「DOEは必殺技」について書きます.

必殺技と聞いて何を思い浮かべるかで年齢がわかりますよね,例えば,「週刊少年ジャンプ」のヒーローたちが繰り出す最強必殺技20選のいくつをご存知でしょうか?わたしの場合,必殺技で思い浮かぶのは90年代後半にアメリカで大流行したプロレスです.まさにこの時期にアメリカに滞在していたのですが,WCWとWWFの視聴率競争がMonday Night Warsなどと呼ばれていて,私も毎週月曜日を心待ちにしていました.特に好きだったのが,ゴールドバーグのジャックハマーとダイヤモンド・ダラス・ペイジのダイヤモンド・カッターでした.話が脱線しました.
なぜDOEが必殺技なのかと言うと,(問題解決に対する)威力が絶大であると言うことだけではありません.必殺技はそれを出すタイミングが重要なのです.ジャックハマーは大技なので相手が元気なうちは仕掛けられるものではありません.スピアーなどの他の技で相手が弱らせてから技をかけてフィニッシュに至るわけです.

DOEでもタイミングは大変重要です.DOEでは実験は背景因子の影響を可能な限り低減したり,特性を通常とは異なった手法で測定したりします.即ち,DOEを実施するには金も時間もかかかるのです.私たちとしてもこの一回で勝負をつけると言う気迫が必要です.ですから,システムの考察が不十分なうちはまだDOEを実施するタイミングではないのです.特にカスタム計画を採用するならば,交互作用の事前知見は大変重要です.よくモデルに二次までの交互作用と二乗項全て(いわゆるフルモデル)を入れているものを見かけます.もちろん,その部分の交絡がなくなるのでやってはいけないと言うことではないのですが,実験数が増大すると言うデメリットを忘れてはならず,実験数の制約のために設計因子を削るなどという事態だけは避けるべきです.なぜならば,カスタム計画には拡張計画が適用できるからです.交互作用にはデータ構造にパッチを当てることはできるけれど,設計因子を追加することはできないからです.

DOEという必殺技を繰り出すためには,既存データの分析結果や計測手法の工夫など様々な準備を整えてからにしようという話,お解りいただけましたでしょうか.といっても,まずは手始めにDOEを実施するというのもアリです.でも,このときはExploratory(探索的)DOEであって,Confirmatory(確認的)DOEが後続することを忘れないでください.当日はこのようなヒントをあと6つお話ししますが,このブログに後日機を見て投稿していきます.

それではまた.
posted by Tad at 19:00| Comment(0) | TrackBack(0) | 講演コンテンツ

2019年02月09日

こぎれいなデータ(tidy data)

先週は「不正統計」という言葉に待ったをかけました.不正統計ではなく不法統計と呼ぶべきであると.もっと正確には,不法なデータサンプリングであって,そこに統計の誤用が合わさったということです.この問題の根っこにはデータ軽視があるように思います.更には,正しく統計を使わなければいけないという決意も欠如しているように思います.それは,データは統計分析してこそ意味があるという認識がそもそも欠如しているからでしょう.先週予告したように,このことを実例を元に見ていきます.

以下で対象とするファイルの¥ダウンロードでクリティカルな間違いをしてしまいましたので訂正しています.申し訳ございません.

サンプルデータは学校保健統計調査を選びました.このページの調査の結果の統計表一覧をクリックすると,そこに書いてあるようにe-Statに飛んでいきます.データはどれでも同様ですが,昨年の12月21日公開の最新の平成30年度(速報)から全国表をクリックして,表番号1の「年齢別 身長・体重の平均値及び標準偏差」をダウンロードしてください.都道府県表をクリックして,表番号3の「都道府県別 身長・体重の平均値及び標準偏差」をダウンロードしてください.ファイル名は「h30_hoken_tokei_03.xlsx」となっているはずです. このエクセルファイルをどう思いますか?見ることを前提としたデータなので,JMPで分析しようにも一苦労です.決定的にダメなのは年齢という重要な変数がシートに分割されてしまっていることです.
このmessy dataを分析可能なデータ(tidy data)に変換するのが本日のお題です.この作業をData Tidyingと呼びます.tidy dataを整然データと訳されている方もいらっしゃいますが,自分的には整然ではどうもしっくりこないので「こぎれいなデータ」と呼んだりしています.整然とした部屋というニュアンスとこぎれいな部屋というニュアンスでは後者の方がtidyに近いからですが,学術用語としては適さないですね.素早く分析に着手できるという意味では「整頓」というのも近いです.
さて,以下に手順を示しますが,操作の順番は絶対ではありません.正解は一つではなく,以下は一つの例とご理解ください.
 
1.   まずはエクセルファイルをExcel読み込みウィザードで開きます.前の設定が保存されているときは一度「デフォルト設定に戻す」を実行しておいたほうが間違いがありません.このファイルでは以下の設定にしてください.
image001.png
ここで「連結の際,ワークシート名を含む列を作成する」にチェックを入れることが重要です.この他の設定はデフォルトで構いませんので,直ちに「読み込み」を実行します.空白の行や列などのデータの欠測値を処理することも可能ですが,初めてのデータの場合はこの段階では放置しておくことをお勧めします.
2.  JMPテーブルに変換できたら,最初にやるのは標準偏差の4列を削除します.(ここでは平均値のみを対象とします.)
3.「男-身長」「男-体重」「女-身長」「女-体重」の4列を積み重ねます.デフォルトでは,「ラベル」列と「データ」列ができます.以下の説明では列名はデフォルトのまま処理をすすめていきますが,適宜変更しても構いません.
4.「ラベル」列を選択して,「列>ユーティリティ>テキスト」を実行します.区切り文字は半角のハイフォン「-」です.全角が好きなお役所もここだけ半角なのが謎ですね.
5.「ラベル」列は削除します.「ラベル3」列もすべて「平均値」と入っていて分析には無意味なので削除します.(削除するのは後でもかまいません.)
6.「ラベル2」列には身長と体重というラベルがデータとして入っているのでこれを分割します.それには「列の分割」で「基準となる列」に「ラベル2」,「分割する列」に「データ」を割り当てます.このとき「残りの列はすべて保持」にチェックを入れるのを忘れないようにして下さい.
7.「ラベル1」を「性別」に名称変更して,「ラベル」列は削除しておきます.
8.区分には都道府県名が入っているのですが,このままではグラフビルダーで認識しないので,シェイプファイルが呼び出せません.なぜかというと,「北 海 道」のように意味のない空白が入っているためなので,これを削除します.それには「検索>検索」で「全角空白」を「」に検索置換します.この操作は二回繰り返さなければなりません.三文字の名称に合わせて二文字の名称が青(全角空白三文字)森のようになっているからです.このよう無駄な空白は誰が得するのか?お役所のデータを他山の石とすべきです.
9.いよいよ「元のテーブル」列に取り掛かります.例えば.「3県別発育(5歳)」となっている5を取り出すために区切り文字を(歳 とします.普段何気なくつけているワークシート名もJMPに呼び込むことを考えてつけるべきですね.
10.「元のテーブル2」には全角数字で年齢が入っていますので,列情報を名義尺度とし,列名も「年齢文字」と変更します.
11.回帰分析などのためには年齢を連続尺度にしておきたいところです.そのためには新規に連続尺度の列を作成して,そこに以下の計算式を入れます.ようするに全角の数字を半角の数字に置き換えるのです.
 
Num(
        Substitute( :年齢文字,
                "0", "0",
                "1", "1",
                "2", "2",
                "3", "3",
                "4", "4",
                "5", "5",
                "6", "6",
                "7", "7",
                "8", "8",
                "9", "9"
        )
)
 
この計算式の関数NumもSubstituteも文字のところにあります.Substituteは下のほうです.
12.「区分」をデータフィルタにかけて,都道府県名以外の三つ(???と調査対象者(人)と全国)を選択して行を削除します.
13.列名は適当でかまいませんが,一般的「身 長(cm)」という全角半角入り混じった列名は「身長」としたいところです.一般的には列名には単位は入れないことをお勧めします.列名は変数名でもあるのでモデリングの際に見やすくなるからです.列の選択リストにも単位が表示されないので見やすいです.
14.どうしても単位をレポートに表示させたい場合は,列情報の列プロパティで単位を選び,所望の単位を入れてください.グラフなどには単位が表示されます.

この後,先週のグラフを作成するには,都道府県をクラスタリングしてから,「BMI」列を計算式で作成するだけですが,本日は所用があり続きは後日とさせてください.このグラフを見ると興味深いことが見えます.考察すべきこと色々あリますが,長くなったので本日はこれにて.

それではまた.
タグ:JMP
posted by Tad at 19:00| Comment(0) | TrackBack(0) | JMP