視聴率の二項推定をやってみる精度とサンプルサイズ確率分布これまで「分布」という言葉が何度も出てきたが、この「分布」とは確率分布のことを指している。ここでは具体的なさまざまな確率分布を紹介する。確率分布の定義であるが、確率分布とは、確率変数の各々の値に対する、その生起しやすさをプロットしたものである。確率変数とは、確率的に取る値が変わる変数を指す。発生する事象が確率的に変化するものを想像しよう。その生起しやすさを表すのが確率分布である。事象が1回の試行で成功するかどうか期待値=$p$、分散=$p(1-p)$期待値は確率分布の中心的位置を表す。分散は平均からのバラつきの程度を数量的に表す。あるため、二項分布やポアソン分布を正規分布で近似することもある。\frac{\sigma^2}{n})$に従う本来は正規分布でない分布に従うものも平均をとれば正規分布に従うという便利な性質。これがあるため、中心極限定理が適用可能かどうか吟味せずに何でもかんでも正規分布を仮定する風潮がある。データが正規分布に従うことを分析手法が前提としているデータがの分布が正規分布でない平均とは違うもの(式変形しても平均値の定数倍になっていない変数)を見ている場合、分析手法の選択においても間違いを生じることになる。平方根をとる、対数変換をかけるなどして、正規分布でないデータを正規分布にあてはまるように変換する。全数データだと計算しきれない、時間がかかりすぎる場合なども(こちらはコンピュータリソースを割けば何とかなる場合もあるが)一部のデータに基づいて分析する。「一部」=サンプル「母集団を推測する」=母集団の分布や、それを特徴付けるパラメータを推測する正しく推測するためには、偏りのない抽出(ランダムサンプリング)が必要データソース、サンプルにかかわる問題サンプルの偏り「一部」の抽出に何らかのメカニズムがある場合、サンプルが偏る。アンケート調査においてアンケートに回答した人アンケートに回答する時点で何らかの志向性があるという点で回答者のみを分析対象にするというのでは、対象が偏ることになる。「無回答バイアス」DMPの年収情報の正体って?そもそも「自分の年収などの情報を登録するサイトで年収情報を登録する人」というのがデータソース。これってインターネット上でも特異な行動パターンではないだろうか。高年収ターゲティングが実際はほとんどポイント欲しい主婦だったということもある。自社データによらない、第三者によるインターネット視聴率(どのサイトをどのくらいの人数が見ているか)のデータ。これらは基本的にブラウザにツールバーをインストールして、ブラウザの行動履歴を取得しているものである。ブラウザにツールバーをインストールする人って、一体どんな人だろうか。全インターネットユーザからのランダム抽出ではないことはわかるだろう。サードパーティーデータは、その取得方法を確認し、サンプルの偏りを想定することが望ましい。偏って抽出した調査を行うことで間違った誘導が可能になる。インターネットのおかげで調査自体は簡単になっているが、同時にバイアスが発生しやすくなっているので気を付ける必要がある。厳密に誤差と言われるものには以下の3種類がある。測定誤差:測定方法に起因する誤差。解析ツールの性質によって生じるもの(ビーコン型であればタグの読み込みのタイミング)計算誤差:コンピュータの計算時に生じる誤差。float型(浮動小数点型)の計算では計算誤差が発生する。標本誤差:サンプリングによって生じる誤差。日本人全員から10人選んで身長の平均値を取る。それを何回か繰り返したら毎回変わる。その違いが「日本人の身長の平均値」の標本誤差。ランダムに抽出された標本に基づく分析においては、正確に標本誤差を見積もることができる。その意味でもランダムサンプリングは重要。測定誤差は測定方法によって異なるので測定方法を確認しておく必要がある。「視聴率が20%」というとき、真の(関東全域の世帯の)視聴率はちょうど20%20%前後に収まっているどちらなのだろうか。実際には、17.4%から22.6%の間にほとんど収まっているということである(サンプルサイズ=900)。この「ほとんど」というのは「95%の確率では」ということになる。このようにある程度の幅をもって推測することを区間推定という。サンプルサイズが大きいと、この区間が狭くなる。これに対して点推定は特定の値を一点で推定すること。実際にその値であることなどほとんどない。ちなみに上記の例で視聴率がちょうど20%である確率は3.3%にすぎない。np(1-p))$$ということ。0.0133$pの95%信頼区間は0.2±0.0133*1.96、つまり20±2.6%※サンプリングに伴う標本平均のばらつき(標準偏差)を標準誤差という。ばらつきが標準誤差)精度とサンプルサイズ$p$の信頼区間の幅を1/2にするには$p$の分散を1/4にする、そのためにはサンプルサイズを4倍にする必要がある。Colaboratory。GPUと12GBのメモリ、350GBのディスクまで使える環境であり、手元のPCよりハイスペックな人も多いだろう。RユーザにとってはPythonだけでなくRでも使えたらいいのにと思うところである。)https://www.marketechlabo.com/normal-distribution-javascript/Javascriptで正規分布の乱数発生(rnorm)、確率密度関数(dnorm)、累積分布関数(pnorm)、累積分布の逆関数(qnorm)を実装する(逆関数は参照で)。すべて標準正規分布を想定。Javascriptに限らず使えるアルゴリズムだが、日本語でまとまっている情報があまりな...marketechlaboRのdata.tableパッケージの使える関数一覧https://www.marketechlabo.com/r-data-table-functions/Rのdata.tableはデータフレームを高速に扱えるように改良した形式だが、この機能を提供するdata.tableパッケージには添え字を使ったdata.tableの処理機能だけでなく、さまざまな関数が実装されている。中にはdata.table以外の形式にも使える関数もあり、dtの形式で使...marketechlaboRのおすすめパッケージ2019年版https://www.marketechlabo.com/r-best-packages/Rのおすすめパッケージをアップデートしてまとめた。定番の分析手法をはじめ、可視化やデータ処理に便利なものなど、幅広く紹介した。中にはマストというものもあるし、意外と知られていないがインストールしておくと便利なものまで、使い方の例も挙げて説明している...marketechlaboRを使ったXGBoostの高度なパラメータチューニングと細かいノウハウhttps://www.marketechlabo.com/r-xgboost-tuning/XGBoostは機械学習手法として比較的簡単に扱える目的変数や損失関数の自由度が高い(欠損値を扱える)高精度の予測をできることが多いドキュメントが豊富(日本語の記事も多い)ということで大変便利。