統計学

統計学
「ちゃんと分析するための分析」は運動の前の準備体操みたいなものである
今回は「課題発見のためのデータ分析手法」を紹介します。 「(ビッグ)データがあるから分析して下さい。何か分かるでしょ?」 と偉い人から言われて、泣く泣く分析作業に取り掛かった戦士たちの血と汗と涙の記録です。   ”発見”のための分析は必要だ 準備運動もせず、いきなり100kmマラソン走ってくださいと言われたら、誰だって「えっ?」と仰け反りますよね。 しかし、これが多くのデータ分析の現場で起きていることだと考えていただければ幸いです。 どういうデータなのか、どういう課題があるのか、何を解決して欲しいのか、まったく説明もないままに「データ渡すから何かわかるでしょ?」と言われて「えっ?」と仰け反っている人は多いです。 筋肉が目覚めていないのに急に身体を動かしたら、悲鳴をあげるに決まっています。したがって、まずは筋肉を目覚めさせるストレッチをする。 これを私は「ちゃんと分析するための分析」だと呼んでいます。   通常、データ分析は課題を発見し、課題の原因となる仮説を構築し、仮説を立証して課題を解決します。 重要なのは「どんな課題があるか?」だと考えています。言い換えると「何を解決したいのか?」を決めることです。 これだけはデータ分析だろうが人工知能だろうが何だろうが自動的に導き出されるものではなく、誰かの意思決定の元で「それが課題です」「それを解決したいです」という議論が必要です。   しかし、ある程度なら「これが課題じゃないですか?」と提案することはできます。貰ったデータを読みほぐしていけば「こういう傾向が出ているな」「こういう可能性があるな」と、様々な仮説を発見できます。 こうした「ちゃんと分析するための分析」は意外と不人気だし、高名なデータサイエンティストともなると「それぐらいは下処理してから暖簾くぐれや!」と言っているとか言っていないとか。 とはいえ、データ分析業界の深夜食堂を自称したいマメ研としては、こうした下処理もコツコツ励んでおります。 今回紹介する手法が全てではないですが、こういう下処理もあることを知って頂ければ幸いです。   横断面データの場合その1 データが横断面データだった場合を考えます。 横断面データって何?という方は、以下のコンテンツを参照してください。 「1+リンゴ」は足せない!質的データと量的データの違いを知ろう https://www.mm-lab.jp/report/correct-understanding-as-type-and-form-of-data/   対象のデータが定性的データ(名義尺度や順序尺度など整理するために数値を使っているデータ)の場合、まずはクロス集計の作成に取り掛かります。層別集計とも言います。 「層別」はQC7つ道具に取り入れられており、傾向や特徴を明らかにするためのメジャーな手法の1つです。 例えばアンケートデータの場合、ユーザー属性という「層」と属性の行動結果(アンケート回答)の二軸に分かれます。 そこで、まずは一方のユーザー属性(性別、年齢別など)で、もう一方の行動結果(例:品質に満足いただけましたか?)を集計します。つまりデータをまず分けるのです。   次に、分けて集計したデータに対して、差が現れているか確認します。そのためにデータを分けたと言ってもいいでしょう。 差が現れているなら「なぜ差は生まれたのか?」を考えます。これが、1つの課題発見に繋がります。 もちろん、白銀号事件よろしく「犬が吠えなかったことがおかしい!」と同様に「なぜ差は生まれなかったのか?」を考えても良いかもしれません。 差をキチンと見る場合、カイ二乗検定やフィッシャーの直接確率検定を用います。 分割表のセルの期待値に10未満のものがある場合や、表中の数値の偏りが大きい場合はフィッシャーの直接確率検定を用いましょう。   > q=matrix(c(67,41,21,3,1, +...
2017.08.09
統計学
NHKスペシャル「どうすんのよ!?ニッポン」AIに聞く前のデータ処理間違ってた!?
文責:松本 健太郎 マーケティングメトリックス研究所所長   2017年7月22日(土)に放映された、NHKスペシャル「AIに聞いてみた どうすんのよ!?ニッポン」が各所で波紋を呼んでいます。 その理由の1つとして「AIひろしは相関関係があるデータ項目を線で紐付けただけなのに、人間が勝手に因果関係だと解釈しているのではないか?」という声が多い点を挙げます。   しかし、放送を見ると、言うほど悪くなかったと思うのです。 近藤正臣さんが「因果関係は分からないけれど」と前提条件を説明したり、映像のテロップで「時系列の変化も分析」「『健康になった⇒病床数が減った』の順ではなく、『病床数が減った⇒健康になった』を導き出した」と注意書きが出たり。 一般市民としては「意外とちゃんとしてんちゃう?」感を抱きました。 そもそも時系列なデータのみで因果関係を証明するのは非常に難しく、統計的因果推論などの手法を用いて統計的に因果性を推論するしかありません。もし世間一般の皆さんが「その結果すら実際の意味での因果関係とは言えないだろ!」とご指摘されるのであれば、困ってしまう研究者の方は多くおられるのではないでしょうか。 そこで後追いですが、私も検証してみることにしました。以下、検証結果が続きますが、最初にまとめを掲載しておきます。 ・病床数(人口10万人対)とがん年齢調整死亡率(人口10万人対)のデータで検証。 ・前処理せずに都道府県別の相関係数を求めるとそこそこ高い結果が多い。 ・単位根過程のデータが多いので前処理すると、使えないデータが多い(要意見求む)。 ・前処理後、グレンジャー因果性検定を行った結果、3県だけ因果性を発見した。 ・これでは「健康になりたければ病院を減らせ」とは言えないのではないか。もしかして「見せかけの回帰」に引っ掛かっているのではないか。   どのデータを検証するか? NHKの今回の放送をまとめたWEBページに「AIの分析結果から読み解いた提言」が掲載されております。画像を引用するのは憚られるので、気になる方はリンク先をご参照ください。 http://www.nhk.or.jp/special/askai/otsuge2017_01.html   この中で「病院数が減ればがん死亡者が減る」に着目しました。元々の提言が「健康になりたければ病院を減らせ」だったので、一番それに近しそうな関係に注目しています。   「病院数」と書かれていますが、番組が進行する過程で「病床数」だと分かっています。また「病床数(人口対)」と記載されていましたので、そのデータを探します。 データ元は厚生労働省医療施設調査・病院報告だと思われます。こちらについては、WEB上で1995年~2015年の21年分都道府県別のデータが公開されていました。残り9年分は入手できませんでした。 厚生労働省 医療施設調査・病院報告 http://www.mhlw.go.jp/toukei/list/79-1a.html   続いて「がん死亡者数」ですが、それに該当すると考えられるデータは2つあります。いずれもデータ元は国立がん研究センターがん情報サービスが公開しています。 国立がん研究センターがん情報サービス がん統計 年次推移 http://ganjoho.jp/reg_stat/statistics/stat/annual.html   1つは単純な「がん死亡者数」、もう1つは「がん年齢調整死亡率(人口10万人対)」です。 年齢調整死亡率とは、簡単に言えば高齢化による影響を取り除いた値です。高齢になるほどがんによる死亡率が高くなるため、高齢者が多い集団は高齢者が少ない集団よりがんの粗死亡率が高く現れるようになります。そこで、元データを加工してその影響を取り除いているわけですね。 病床数を人口10万人対で作成したのであれば、「がん年齢調整死亡率(人口10万人対)」を採択したのではないか?と考えます。そもそも単純な「がん死亡者数」であれば、高齢化という大きなトレンドがあるので除去は必須であり、すでに調整済みのデータを使うべきかとも考えます。 ちなみに、いずれもWEB上で1995年~2015年の21年分のデータが公開されていました。残り9年分は入手できませんでした。   何も考えずに散布図と相関係数を出してみる...
2017.07.26
統計学
因果関係を見つけ出すQCA(質的比較分析)で考えるアトリビューションモデル
今回は、QCA(質的比較分析)という手法を用いた新しいアトリビューション分析モデルの開発経過を報告します。 あまり聞き馴染みの無い単語だと思いますが、Rでのサンプルプログラムも記載しているので皆さんの環境でも再現可能です。 「R触れないよ!」という方のためにも概念や考え方も軽く紹介するので「へぇ~、こういう考え方もあるのね」と思って頂ければ幸いです。   アトリビューションとは何か? ご存知かもしれませんが、簡単にアトリビューション分析およびモデルの説明をします。 アトリビューション分析とは、ユーザーが最後に接触した媒体のみ評価するのではなく、それまで接触してきた媒体も含めて評価する分析手法を指します。 デジタルな環境ではユーザーを一意に認識できるようトラッキングできるので、どの媒体に接触したかという「過程」を把握できます。このあたりの技術の進化がアトリビューション分析を後押ししたのだと思います。 過程を評価するアトリビューション分析のモデルについては、様々なアプローチが提案されています。仔細は以下のサイトを見て下さい。 アトリビューション分析5つのモデル|デキるマーケターは知っている? http://blog.ebis.ne.jp/marketing/attribution-analysis-of-five-models/   接触した媒体を均等に評価するか、最初を評価するか。様々なモデルが提案されています。   QCAとは何か? 質的比較分析(Qualitative Comparative Analysis)とは、簡単に表現すると「ブール代数や集合論を用いて、データに潜む因果関係を見つけ出そうとする手法」です。 要は、組み合わせから因果性を明らかにしていこうとするのです。 この手法はカリフォルニア大学で社会学を教えるチャールズ・レイガン(※1)によって提唱されました。 最近では森大輔先生(※2)、田村正紀先生(※3)、豊田裕貴先生(※4)他多くの先生方が研究されておられ(巻末に参考文献として掲載しています)、定性的手法と定量的手法の架け橋として注目を集めています。   考え方を簡単に紹介します。 広告A、B、Cを「原因」、商品の購入を「結果」と定義して、ある2人が広告を見たかどうかで承認の購入に影響を与えたか考えます。 ある組み合わせ 違いを比べてみて下さい。 「原因」がこの3つの広告施策のみなら、広告Bが原因で商品が買われたという結果になることが想定されます。 …が、世の中こんなシンプルな世界でまとまっていません。世の中はいつだって複雑に入り組んだ現代社会であり、そこにメスを入れるのが探偵ナイトスクープです。 先ほどとは異なるある組み合わせ もしも上記の結果だった場合、違いを比べる方法だと、「原因」がこの3つの広告施策のみだったとしても想定される原因が分かりません。 例えば、広告Eと広告Fの両方を見たという「相乗効果」があってこそ商品が買われたという仮説、広告Dを「見ていない」から買ったという仮説…色々思い浮かびます。 つまり、実際の世の中は「原因が1つのみ」の条件であるという前提には立てないということです。 そこで手法として用いるのがQCAです。 先図のような限られた原因の列挙という点に変わりはないのですが、十分条件と必要条件を考慮したうえで、考えられる原因の組み合わせと結果の関係を導き出します。 先ほど挙げたような「広告Eと広告Fの両方を見た相乗効果」をQCAは示してくれます。   現在のアトリビューション分析の多くは、過去に接触した広告の評価はできても、接触した広告の組み合わせの評価(オウンドメディア⇒GoogleならCVはあるけど、メルマガ⇒GoogleならCVは起きにくい等)はされていない場合が多いのではないでしょうか。 またデータ的には「CVした人」と「CVしていない人」の両方を対象に、「原因」と考えられる接触媒体との接触度と「結果」との組み合わせを見ることになります。多くのアトリビューション分析が「CVした履歴」に限られる中でQCAは「CVしていない履歴」も含めて評価します。 この2点がQCAをアトリビューション分析に応用すると新しいと感じました。  ...
2017.03.28
統計学
2017年こそリアルガチで\横浜優勝/するのか分析してみた
昨年、広島カープの優勝を予想して見事に的中したマメ研所長。 2016年プロ野球順位予想!監督の選手時代から勝利数は予測できる!? https://www.mm-lab.jp/statistical/professional_baseball_standings_expected_2016/   今年は、躍進を遂げている横浜DeNAベイスターズが優勝するか検証します。   2016年の成績をピタゴラス勝率の観点で振り返る 2016年の結果を振り返ります。広島の圧倒的な優勝で終わったセ・リーグでした。   2016年のセ・リーグ成績 得失点が多い横浜DeNAと、得失点が少ない巨人がほぼ同じ勝率という点に違和感を抱くかもしれません。 しかしピタゴラス勝率を求めると、だいたい似た勝率に落ち着きます。 P勝率列を参照ください。   チームの傾向は、打力の横浜DeNAと投手力の巨人という位置付けで良いかと考えます。 ちなみに、打撃系指標を比べるとOPSは巨人と横浜DeNAで同率なのに、得点は巨人が60点も下回っています。 WBSでも4番を務める筒香という傑出した存在がいることの証左ですね。 もし筒香が怪我で長期離脱でもしたら…ゾッとします。   さて、これを交流戦と公式戦の2つに分けてみましょう。   交流戦とそれ以外のセ・リーグ成績 巨人と横浜DeNAの命運を分けたのは、交流戦だったことが分かります。 交流戦以外は、全く同じ勝敗数でした。   山口の抜けた穴は埋まるのか? 去年の成績を基準に新戦力面では「抜けた人」と「加わった人」、そして既存戦力面では「成長した人」と「衰えた人」を足し算・引き算すれば今年のおおよその成績が出せます。 しかし何れも非常に予想が難しい。 例えば、2014年、2015年と2年連続最多ホールドを獲得した福原選手が、急に衰えて2016年にプロ野球選手を引退するとは思ってもいませんでした。 逆に2014年に阪神を自由契約になった新井選手が2016年に101打点でリーグMVPを受賞するとも思っていませんでした。   そんな中で抜けた戦力がどれくらい痛手なのか、これはまだ予想しやすいです。 例えば去年の優勝を広島だと断言した時に、周囲は「マエケンの抜けた広島は無い!」といった反応を示した。 恐らく「2015年は前田健太で15勝したから、彼が抜けることで15勝分無くなる」という思い込みによるものです。2013年に24勝をあげた田中将大が抜けた楽天が、翌年に最下位に落ち込んだことも拍車をかけているかもしれません。 しかし投手がいくら0点に抑えても、打線が1点以上取らなければ勝つことはありません。つまり3点取られようが5点取られようが、それを上回る得点をあげれば勝つことができます。 これをRS(援護点)と言います。 去年の広島の場合は、前田健太の抜けた穴を野村祐輔が埋めました。防御率、WHIPともに2015年の前田健太に及びませんでしたが、ほぼ同じ16勝をあげました。 RS/9(9イニングあたりの援護率)で見てみると2016年の野村祐輔が5.66に対して、2015年の前田健太が3.40です。野村の能力は前田に劣りますが、援護点が多かったので勝利数はほぼ同数だったのです。 このあたりが投手の能力を勝利数で図ることが間違っていると言われる証拠なのだと感じています。  ...
2017.03.14
統計学
サブスクリプションが当たり前の今こそ解約率を改善する方法を生存期間分析で考えたい
所長が生まれた頃から「月額課金」「年会費」という課金形態はあったと思うのですが、それにしてもここ数年でいっきに増えましたよね。 最近では月額課金ラーメンの可能性も語られており、そのうち定額制風俗、1授業100円予備校、1曲10円カラオケとかも出てきそうですね。 “月額会員制のラーメン屋”も登場する?「サブスクリプションモデル」の衝撃 http://diamond.jp/articles/-/115056   ビジネスモデルが変わると、追うべきKPIも変わります。サブスクリプションの場合は「解約率」ではないでしょうか。 というわけで、今回は「解約率分析」について考えたいと思います。   前段:なぜ解約率を下げることが大事なのか? 従来の売り切りとは違い、サブスクリプションはユーザーの継続的な利用を前提としているので、いかに顧客と長期的な関係を構築できるかが大切だと言われています。 このあたりの詳しいビジネスモデルの解説はググって貰うとして、簡単に言えば、買うと云十万する製品が月額何千円で利用できるのがサブスクリプションというビジネスモデルです。 課金形態は様々ありますが、主に「定額制」「使った分だけ」が主流かと考えます。 課金のパターン例 ユーザーの利用期間が長ければ長いほど、元が取れて、やがて利益が出てくるビジネスモデルなので、そもそも元が取れないタイミングでの解約は非常に辛い。 つまりXか月目の解約率Y%以内という数字がKPIになりやすいのです。 この人口減少時代、いかに低い単価で新規顧客を獲得するか?という争奪戦から、いかに長い期間顧客で居続けて貰うか?という育成戦にルールが変わっている今、解約率を下げる要因探しは非常に重要な分析だと思います。   生存期間分析を用いた解約率の分析 解約率とは、ある時点で解約した数/ある時点での総数で求まります。 例えば月額課金であれば、X月時点の解約ユーザー数 ÷ X月時点の全ユーザー数(X月以降も利用するユーザー数+X月時点の解約ユーザー数)で解約率が求まります。 しかし全数で見ると様々な要因が隠れてしまうので、改善しようがありません。せめて層別には表現したいところです。 特にサブスクリプションの場合、X月時点の解約率ではなく、利用Xか月目の解約率を見たいはずです。X月時点解約率はユーザーによって利用何か月目か違っているので全く意味をなさないでしょう。 そこでKaplan-Meier法による生存期間分析という、イベント発生までの時間に関する分析法を代替として用いたいと思います。 「○○がん5年後生存率はステージⅡなら30%だけど、ステージⅣなら5%だ」みたいな数字を聞いたことはないでしょうか。ある一定の期間が経過した集団が、その時点で生存している割合を「生存率」と言い、その生存率の算出は生存期間分析で求まります。 生存とか死亡とか表現が恐ろしいですが、イベントの例題なだけで、機械の故障、会社の倒産、製品の打ち切りなど、様々応用が可能です。もちろん「解約」にも。 Rを使って分析してみましょう。   > library(survival); > library(MASS); > data(gehan); > head(gehan); pair time cens...
2017.02.07
統計学
リスティングの運用に必要なのは機械学習による異常検知の発想かもしれない
今回は、リスティングなどの運用型広告で『今までと違う何かが起きる≒異常』を知らせる検知の仕組みについて考えます。 常時出稿される広告だからこそ「異常」発生の監視は自動化されるべきですが、多くの人が「異常」の基準(閾値設定)に頭を悩ませているはずです。 どこまでが「正常」で、どこからが「異常」なのでしょうか。何をもって境目を見つければいいのでしょうか。   その基準作りは、大量のデータからパターンを見出す機械学習(機械が自動で学習する人工知能研究の一分野)と相性が良さそうです。 つまり過去の傾向からの「違い」を見つけ出し、過去のパターンから作られた一定の基準を超えれば「異常」と見なすのです。 そこで今回は、機械学習を用いた異常検知の方法を調査してみました。Rでのサンプルプログラム付きとなっています。   何をもって「異常」と定義するのか? 業種別マーケティングトレンド予報(16年10月~12月編)でも紹介したこの本をベースに、「異常」の定義をしていきましょう。 本コンテンツに掲載されたコマンドは、この本を参考にしています。凄く分かりやすい本なので購入をオススメします。   井手 剛 コロナ社 2015-02-19   異常検知と聞くとものすごく高度な技術的対応に聞こえますよね。 ただ、端的に説明すると①正常と言えるモデルを過去のデータからつくって、②そのモデルから外れたものを、③外れ具合がある基準を超えれば「異常」とするだけです。 いわゆる「ルールベース」と言われる広告運用では①が人間の経験によって成り立っていました。CPAが1,200円を超えればメールを飛ばす、とかです。 ですが、人間の経験で作るルールベース型の「異常」検知には大きく2つの問題があります。 1.同じ経験を踏まえても人によって捉え方が違う。(INは同じでもOUTが違う) 2.ルールの多様性には限界がある。 1.なんかは極めると職人が誕生しそうですが、膨大な経験と時間が必要そうです。 なにより広告主に対する説明責任という観点では「職人の◎◎さんがCPA1,200円以上は変だと言ったから」では納得して貰えないでしょう。 2.は言い換えると「人間の考えることには限界がある」と同義です。先入観と思い込みが、ルールという人間の思考の塊の広がりを阻害します。   もっとも今回紹介する異常検知の方法も「これが絶対正しい!」というものでもなく、ケースバイケースだし、状況によっては適応しがたいこともあると思います。 以降の異常検知の説明は、イメージし易いようにCPAをKPIに設定している体で話を進めていきます。   データの準備 まず意図的に1地点だけ大きいデータを生成します。Rを使います。 ## 正規分布なデータの作成 cpa.a <- rnorm(80, mean=1300, sd=200) cpa.3σ<-...
2016.12.13
統計学
完全最下位のオリックス・バファローズが1年で失点を161減らしてCSに進出する話(予定)
オープン戦、交流戦、ペナント1軍、2軍、全て最下位、通称「完全最下位」というプロ野球初の不名誉な記録で終えた2016年のオリックス。 それでも多くの関西人は、堕ちるところまで堕ちたオリックスより金本阪神1年目に厳しい目を向けているのが現状です。   なんとかして手っ取り早くクライマックスシリーズに進出する方法はないか。セイバーメトリクスで考えてみましょう。   どうすれば手っ取り早くクライマックスシリーズに行けるか? 上位3チームのみ出場することが許されているクライマックスシリーズ。つまり1位である必要はなく、3位に滑り込めばいいわけです。 そこで過去10年間のパリーグ成績を見てみます。各順位の勝率を箱ヒゲ図で表現し、3位の四分位範囲を確認してみましょう。 ペナント順位毎の勝率の箱ひげ図 少し厳し目に見て、4位の四分位範囲を超える勝率0.524であれば3位は間違いなさそうです。 ちなみに今シーズンの成績は以下の通りです。 2016年パリーグ結果 勝率0.117上げるということは今より18勝分積み増す必要があります。ですが、方法は至ってシンプルです。得点を増やすか、失点を減らすかしかありません。 ではどれくらい増やせ(減らせ)ばいいのでしょう? ここでピタゴラス勝率の考えを用います。(ピタゴラス勝率に関する説明はコチラの記事を参照して下さい) ちなみに今シーズンの得失点から算出されたピタゴラス勝率は以下の通りです。 ピタゴラス勝率の算出と実際の勝率との差分 ピタゴラス勝率が0.524となるよう得失点をそれぞれ増減させてみましょう。 すると失点を161点減らすか得点を170点増やせば、ピタゴラス勝率が0.524になることが分かります。   この1年で手っ取り早くクライマックスシリーズに行くことを考えると、投手と打線のどちらに戦力補強を集中させればいいでしょうか? それは、出た得失点の結果が現実的かを見れば分かります。 得失点を偏差値に置換してみると…。 直感的に分かるよう、偏差値で表現してみました。 2016年の各チームの得失点で見ると、失点を161点減らせば偏差値は41.52から63.37に、得点を170点増やせば偏差値は32.56から67.65に上がることが分かります。 今シーズンは貧打にも程があるわけですが、そこから170点増やすとなると破壊力抜群のソフトバンクすら上回らなければなりません。 一方で投手陣の整備なら、日ハムやソフトバンクに追いつけば良いだけなので、まだ希望はありそうです。 楽な方を選びましょう。失点を161点減らす方法を考えてみます。   オリックスの先発投手陣は何がダメなのか? 先発防御率はリーグ6位、中継ぎ防御率はリーグ5位とダメな点を上げればキリがないので、まず弱点を明確にします。 83の負け試合のイニング別失点を見てみましょう。 パリーグ平均とオリックスの失点量推移 パリーグ平均を大きく上回っていますね。ただ、よくよく考えるとリーグ平均の負数は69で、オリックスが14個分負け数が多いので、上回って当然です。 そこで、イニング別の失点を負け数で割ってみます。合わせて、HOMEとAWAYで勝率が違うので、個別に見てみます。 AWAYでの負け試合あたりのイニング平均失点量 HOMEでの負け試合あたりのイニング平均失点量 HOMEでの先発の立ち上がりの悪さが特に目立ちます。 オリックスのQS率は48.95%と、西武の45.45%に次ぎリーグ5位です。ソフトバンクが64.34%ですから、22試合の開きがあります。 規定投球回数に到達した先発は3人いますが、いずれも防御率は3.50以上で、合わせて26勝にしかなりません。金子の失速は計算外でしたが…。...
2016.11.01
ボクたちの命を救うAEDの設置場所をデータから提案してみる
統計学
ボクたちの命を救うAEDの設置場所をデータから提案してみる
以前知人と待ち合わせをしている時、隣にあるモノがありました。それは「AED」です。僕が知人を待つようにAEDも活躍するその時を待っていました。 そんなAEDを見てふと思ったことがあります。「使う日が来るのだろうか(こない方が良いに決まってる)」「AEDって何台あるんだろう?」「本当に人を助けられるのか?」などなど。 ということで、今回は改めてAEDについて理解していきながら、データ分析から「どこにAEDがあると良いのか?」について考えて見ます。   そもそもAEDとはなんぞや そもそもAEDってなんだっけ?どんな場面で活躍するんだっけ?という方もいるかもしれないので、もう一度確認してみましょう。 AEDとは「Automated External Defibrillator」の略称で「自動化された体外式の除細動器」という意味になります。 つまり、心臓がけいれんし血液を流すポンプ機能を失った状態(心室細動)になった心臓に対して、電気ショックを与え、正常なリズムに戻すための医療機器ということです。   なんだか難しそうと思う方もいると思いますが、AEDは自動で患者の状態を判断してくれて、しかも音声で正確に指示をしてくれるという優れものです。 なので一般市民の方でも救命活動をすることができます。 消防白書によると2014年の一般市民のAED使用事例は約1,600件あったそうです。これを多いととらえるか少ないととらえるか。 どちらにせよ私たちがバイスタンダーとなる確率は0ではないので、頭の片隅に入れておかなければいけないことだと思います。   AEDの設置数はどのくらい? いつどこで、自分が心停止で倒れるかはわかりません。それならAEDはどこにでもなくてはいけないし、相当な数が必要になります。今のところ日本にあるAEDは約50万台を超えるようです。ものすごい数ですね…。 今回は東京都に焦点を充てて分析していきたいと思います。まずは東京都のAEDの設置状況について見てみましょう。データは「AEDオープンプラットフォーム」というAEDに関するデータが無償で提供されていたのでこちらを使用します。 東京都内の市区町村別の設置件数   市区町村別でのAEDの数を可視化してみました。まだまだ登録数が少ないので市町村だと特に件数が少ないですね…。もっとAEDに関するデータを公開して欲しいところです。 区内だと人口が多いせいかそれだけAEDの設置数も多いようです。足立区では約700台もあるようです。 ホットスポットの検出   それではAEDの最適な設置場所について考えてみます。 調べてみたところAEDは1台購入するのに30~50万円ほどするようです。なので、むやみに各地域の穴場に設置するなんてことはできなさそうです。 また、単純に考えると「急病患者が多い地域に設置する」となりますが、それだと人口が多い地域になってしまいがちなので、今回は急病患者が現れる確率が高い地域(ホットスポット)を特定していきたいと思います。 まずはShapeファイルを使って、市区町村ごとの急病患者数のコロプレス図を作成します。Freq.csvにはあらかじめ市区町村別の総人口や患者数などのデータを作成しておきました。   library(maptools) jpn <- readShapePoly("JPN_adm2.shp") tokyo <- jpn[jpn$NAME_1 == "Tokyo",] Freq...
2016.10.04
統計学
お互いに「ありがとう」と言える職場ってなんか素敵やん
株式会社ロックオンには「企業理念の理解浸透、体現促進」を目的として理念プロジェクトなる体制があります(参考記事はコチラ)。   理念プロジェクトでは現在、「OKAGE SUN プロジェクト」を推進しています。 登録フォームを設けてロックオンで働く人全員(正社員、バイト、子会社とか一切関係なく!)の「おかげさんです(ありがとう!)」という声を集め、WEB上で掲載しているのです。   WEB上では、仕事上での「ありがとう」という掛け声が飛び交います。例えば以下のように。   「ありがとう」って言えば「ありがとう」って言う。 こだまでしょうか?いいえ、誰でも。 そんな職場って、素敵やん。   今回は、そんな素敵さの「見える化」に挑戦します。   データの分布:「ありがとう」の内訳 フォームのデータは、プロジェクトが始まった2014年10月分から、およそ2,500件分あります。営業日が260日だとして、およそ1日あたり5件の投稿がある計算になります。 こうした取り組みは年月が経つことに徐々に過疎るものですが、今でもコンスタントに投稿され続けているので、今やロックオンに根付いた文化だと言えるでしょう。 データフォーマットは以下のように、「あなたのお名前」「相手のお名前」「理由」の3項目で構成されています。 データのイメージ。 まず、「あなたのお名前」(以降、投稿者)の分布から見てみましょう。 投稿回数多い順ランキング 圧倒的に投稿回数が多いのが品田、次に藤原の両名。品田は理念プロジェクトのメンバーとしても現在活躍中の新卒2年目です。 投稿数の多い上位者は殆どが東京支社勤務か新卒・若手組で占められていて、こういうのってノリとか勢いとか大事だよな〜と感じます。 λ=1の指数分布に見えなくもないのですが、それは脇に置いて話を進めます。   次に、「相手のお名前」(以降、おかげな人)の分布を見てみましょう。 「ありがとう」言われている回数多い順ランキング 投稿者の分布とは違った傾向になりました。 上位10名全て東京支社勤務が占めました。仲の良さ、人間関係の濃さが伺い知れます。   ただ、「おかげな人」=「ありがとうと感謝されている人」だから、下位の人はダメなのか?と言うと、決してそんなことは無いでしょう。 普段滅多に投稿しない人の「ありがとう」って、凄く重みがあると思うからです。そんな貴重な「ありがとう」を言われた人、素敵じゃないですか? つまり量も大事だけど質も大事。両方含めて、ありがとうの「見える化」したいのです。どうすればいいでしょうか?   系列パターンマイニングで「ありがとう」は見える化できる 系列パターンマイニング(Sequential Pattern Mining)を使って、質と量を含めた「ありがとう」の見える化に挑みます。 今回もRを使って分析します。...
2016.09.27
統計学
昨日と違う今日はいつ始まった?逐次確率比検定でマメ研が急成長を始めた日を分析する
2010年4月から始まったマメ研は10月で6.5周年を迎えます。色々あった6.5年間。 そんな感謝の気持ちをALWAYS風のアイキャッチに込めてみました。   さて、当研究所のサイトは、月2~3本の更新頻度ながらコツコツとマーケティングとデータに関するあらゆる研究成果を発表してきました。 おかげで、少しずつ認知度も向上し、サイトのアクセス数もようやく少しずつ増えてきました。 我武者羅にやってきたので、本当に「いつの間にか増えた」といった感じですが、今回は「それはいつの日だったのか」を定義する分析手法をご紹介します。   改めて振り返るマメ研の6年半 改めてマメ研発足から今日までの6年半を振り返ってみましょう。週次毎のSU数を面グラフで表現してみました。初代、2代目、3代目の時代の色分けも合わせてマッピングしてみます。 ここ直近でもっとも伸びているのは「おじさん分析」で、その手前が「有馬記念分析」ですね。 横軸のSU数はあえて表示していませんが、両コンテンツのFBいいね数から、おおよその単位を弾き出して下さい。   こうしてみると、2014年4月ごろから面グラフの範囲が広がっているように見えます。 そこでRのstl関数を使って6年半(334週)分の週次SU数をトレンド(trend)、周期変動(seasonal)、残差(remainder)の3つに分けて見てみます。   ts.su<-ts(mm$su,frequency=52, start=c(2010, 15)) stl.su <- stl(ts.su,s.window="per") plot(stl.su) トレンドで見ると2013年後半からSU数が伸び始め、いったん滑らかになるものの、2015年半ば以降は右肩上がりの急成長を続けています。3代目所長、鼻高々。 ただ、こうした「変化点」を長期トレンドでのみ判断するのは危険ですし(季節変動どうするの?残差は考慮しなくていいの?等)、何よりもう少し細かい粒度で見たいですよね。 理想は昨日と違う今日はいつ始まったのかを知ることです。それを「構造変化点を知る」と言い換えましょう。これは逐次確率比検定を用いれば見えてきます。   逐次確率比検定とは? 逐次確率比検定とは「仮説検定」の応用的手法にあたります。 そもそも「仮説検定」とは、帰無仮説と対立仮説を立て、①帰無仮説を棄却しないか、②帰無仮説を棄却し対立仮説を支持するか、何れかを観測値に基づいて決める統計手法です。 帰無仮説と対立仮説の考え方は「性能テストの結果にダメ出しをしてください」というコンテンツに記載しているのでご覧下さい。   通常の仮説検定は標本の数が決まっており、その標本に基づいて検証が行われます。 ですが逐次確率比検定は最初に少量の標本を与え、上記の①か②のみでなく、新たに③そのいずれとも言えない場合は結論を留保しさらにデータを収集する、という第3の選択肢が登場させた統計手法です。 品質管理工学や医学診断などでは比較的にメジャーに使われているようです。   計算式は意外とシンプルです。標本の中から無作為に抽出したデータZiを1つずつ観測し、以下の式で尤度比(確率比)λiを求めます。 分母のPは帰無仮説H0の下でデータZiを観測する確率、分子のPは対立仮説H1の下でデータZiを観測する確率を表します。 λiが求まると、それが境界値より上か、下かを確認します。   ①λiがC1[β/(1-α)]未満:帰無仮説H0棄却しない...
2016.09.13