2017年10月〜2018年3月で読んだ本

2017年度下半期で読んだ本。 ...

平均にひと手間加えて統計的に分析する方法

統計的推計を業務内で何度か試す機会があったのですが、ある程度知見も溜まってきたので、共有しておきたいと思います。(以前読んだ本のまとめとして……) 平均だけで良いのか 「最強の学問は統計学である」(西内啓)の書籍の中では、「平均」は19世紀の統計学者がやる集計だと言っていました(たしか)。ちょっとひと手間加えるだけで、統計的な推計ができるようになるので、データへの信頼度?安心度?を高めることができます。 (当然ながら、単なる数字の上の話なので、実際にはどうなのかは、やってみなければわからない) 平均以外のアプローチ 平均以外にも、Excelやスプレッドシートでできるアプローチがいくつもあります。ここではざっくり、4つ挙げておきます。 中央値、最頻値 分散、標準偏差 中央値、最頻値(MEDIAN、MODE) 外れ値があって平均を大きく上げ下げするようなデータがあるときは、中央値や最頻値を出しておくと、データの傾向をつかみやすくなります。中央値は、ソート済みの全データを2分した場所の値。最頻値は、読んで字のごとく、最も多く出現する値のこと。 下の画像は、とあるバッチの実行時間の平均、分散、標準偏差、中央値、最頻値を求めたものです。時間を扱うときは、単位を秒に変換すると便利ですが、変換しなくても計算はできます。 秒に変換してから計算するとやりやすい ↑7回目と8回目のデータが、平均(AVERAGE)に大きく影響しています。一方で、中央値(MEDIAN)は全体の傾向をうまく表せています。ばらつきの大きいデータのため、分散(VAR.P)、標準偏差(STDEV.P)が大きな値になりました。 ※ 全体のデータから最大値・最小値を取り除いたデータで分析にかけることもあるようです(データのばらつきを抑えることができる) 分散、標準偏差(VAR、STDEV) これらの数字は見てもピンとこないし、普段は使いません。もっとも、これらの値の使いみちは、「あるデータは、全体の中でどれくらいの位置にいるのか(いわゆる偏差値)」を知るときに使うわけですがここでは扱いません。 ※得られた数字がよく出てくる数字なのか、はたまためったに出現しなさそうな値なのかを調べるときに使えます。 推計 データは取ったし、平均も出たけど、いまいち心もとないときには、区間推定が役に立ちます。これさえ覚えておけば、だいぶ統計っぽくなります。 95%の信頼区間で推計します。この95%というのは統計では「ほとんど確実にそうなりそうといえる」という意味になるそうです。 母平均が95%の確率で取りうる範囲の推計 何回か試行をやってみた結果から、さらにデータが増えていったときの平均(母平均)の範囲を推計することができるそうです。「平均値はこの範囲に収まるっぽい」と言えるみたいです。 わかりにくいですが、[データ範囲]のところだけ書き換えればOK。 (上限) =AVERAGE([データ範囲]) + TINV(0.05, COUNTA([データ範囲])-1) * SQRT(VAR([データ範囲]) / COUNTA([データ範囲])) (下限) =AVERAGE([データ範囲]) - TINV(0.05, COUNTA([データ範囲])-1) * SQRT(VAR([データ範囲]) / COUNTA([データ範囲])) 面倒なことは考えず、平均とTINV(0.05, COUNTA([データ範囲])-1) * SQRT(VAR([データ範囲]) / COUNTA([データ範囲]))だけ計算しておきます。あとはこの2つを ± で繋いであげればOK。 スクショをサンプルとして載せておきますが、下のような結果が出てきます。(上で挙げたデータ例とは異なります) バッチの実行時間や、データサイズの傾向を示すことができるようになります。 データの95%が取りうる範囲の推計 とりあえずデータをとって、95%のデータがこの範囲に収まる、というのを計算したい場合は以下の式が使えます。[データ範囲]のところだけExcelやスプレッドシートで置き換えればOK。(データを母集団としたときの場合) ※ 以下の式が合っているのかは、ちょっと不安がある。本には書いてあったけど。 (上限) =AVERAGE([データ範囲]) + 1.96 * STDEVP([データ範囲]) (下限)...

「仕事ではじめる機械学習」のメモ

仕事ではじめる機械学習 オライリー・ジャパン 有賀康顕、山中心太、西林孝 読んだので、印象的だった部分をメモする。 本の内容と構成 機械学習についてベースとなる知識は知っているけど、それを実際に業務に適用させるにはどうしたら良いのかといった、現実の課題解決にフォーカスした内容だった。そのため、具体的な実装や数式関しては多くは紹介されていない(Jupyterのサンプルコードが利用できる https://github.com/oreilly-japan/ml-at-work)。詳しい内容を学べる文献も多く紹介されていた。構成は以下の通り。 機械学習をプロジェクトに導入し、運用する話 プロジェクトの進め方 アルゴリズムの選定と評価 システムへの組み込み データ収集 効果検証 効果の有り無しを統計的に検定する話がメイン 実践的な内容を3つの例で紹介 映画の推薦システム(協調フィルタリング、Factorization Macine) Kickstarterの分析(機械学習しない例、Excel) Uplift Modeling(DMのコンバージョンアップ、A/Bテスト) ...

「専門知識ゼロでも使いこなせるビジネス統計入門」を読んだのでメモ

監修:内田学 著:兼子良久 発行:アスキー・メディアワークス 記述統計 データの特性をつかむ 集計表(度数分布表)、棒グラフを作成する 最大値、最小値を見つける、データの区分(階級)を決める、区分ごとにデータの件数を数える、データの件数をパーセントに直す(相対度数) 変化の特徴をつかむ 平均 偏差(各データの平均からの離れ具合、平均との差) 分散(偏差の2乗の平均、偏差の合計は0になるため2乗する) 標準偏差(分散の平方根) データに偏りがあるとき 中央値、最頻値 より実態に近い特徴を示すことができる 確率95%で推定 正規分布、正規分布曲線 「平均-1.96×標準偏差〜平均+1.96×標準偏差」の中にデータの95%が存在する 統計学では「95%」を、ほぼ間違いのない基準として採用 特定の値になる確率 標準正規分布、標準正規分布表 標準正規分布(平均0、標準偏差1の正規分布) 標準正規分布表(平均から特定の値までに何%のデータが存在するかを示す表) 標準化  標準正規分布上の値に変換する 単位に関係なくデータを比較できる (データの値 – 平均)÷標準偏差 推測統計 母平均の区間推定 標本から得た結果がどの程度信頼できるかを確認する 母平均が95%の確率で取りうる区間の推定 母平均-1.96×(不偏分散の平方根÷標本数)〜母平均+1.96×(不偏分散の平方根÷標本数) 標本分散 = 偏差の2乗の合計÷標本数 標本標準偏差 = 標本分散の平方根 不偏分散 = 偏差の2乗の合計÷(標本数-1) 標本数が少ないときの推測方法 「t分布表」を使って「1....