統計の手法には記述統計と推測統計があると説明したが、ここでは記述統計の話。記述統計の考え方を通じて、より進んだデータの見方を学んでいく。記述統計とは記述統計とはすべてのデータを見て正しく全容を把握・認識するための方法論・作法。全てのデータを見るのでデータマイニング的なアプローチ。仮説ありきではないので、記述統計の方法だけではデータの組み合わせが膨大だと有効な知見を得るに至らないこともある。後でどんな手法を使う際にも、それは推測統計や機械学習の手法を使う場合であっても、データを見るという観点ですべての基本の考え方になる。データの種類データは特徴によって分類される。種類によってデータ加工方法から分析手法も変わってくる。どんな観点で分類するのか、分類のポイントを紹介していく。尺度とは、ざっくり言うと数字のなす意味、その数字が対象の特徴をどのように説明するかによる分類。言うと難しいので、実際の内容を具体的に見ていこう。定性的データ(カテゴリカルデータ)名義尺度:数字は単なる名前・ラベルであって、その大小に意味はない。順序尺度:大小比較できる。定量的データ間隔尺度:差に意味がある。:比率にも意味がある。下の尺度は上の尺度の性質をすべて含む。尺度によって使える分析手法が異なる。1次元データ2次元データ多次元データビジネスの世界で実際に直面するデータは多次元データばかりだろう。横断面(クロスセクション)データ1つの時間を切り取って(同じタイミング)、その中で複数の対象(顧客など)についてのデータ時系列データ1つの対象についての時間経過とともに記録したデータパネルデータクロスセクションかつ時系列のデータ、複数対象の時をまたいだデータ。購買履歴などの履歴データや、同じ対象に対する同一アンケート調査を毎年行ったデータ(横断面データを定期的に収集していったもの)がこれに該当する。集計済みデータデータというのは自動取得されるアクセスログや、実査を行うアンケートであれば個票データになる大元のデータがあり、それをアクセス解析ツールやアンケート集計ツールを使って集計された形でアウトプットが出てくるという流れになっていることが多い。この大元の生のデータか、それとも集計済みのデータか、それが大きな分類となる。GAの管理画面のデータ生ログは情報自体は豊富に含まれるのだが、人間が見ても分かりにくい、認識しにくいものである。わかりやすく集計されたデータを見れば何が起こっているか、データの意味がよくわかる。われわれは集計済のデータを使って分析するのが基本である。生ログからはいかようにも集計が可能だが、一度集計されてしまうとログに戻すことはできない。集計は何らかの情報を切り取る作業であり、データのサイズは小さくなる(ことが多い)が、同時に失われる情報もある。通常生ログから集計を何ステップか経てデータを扱うが、データを保持するとき、どの段階のものを保持するのか、その後の利用シナリオを考慮したうえで設計する必要がある。集計データを扱う場合、集計の過程で集計の切り口が限定されてしまい、任意の変数の関係を見ることができない何らかのロジックに基づいて分類を行った場合、その分類ロジックがブラックボックスになってしまう。アンケート結果を要約してポジティブ/ネガティブと分類したうえで集計した場合、ポジティブ/ネガティブの分類基準は集計結果データには含まれない。ことに留意する必要がある。代表値とばらつきデータの特徴を一言で、ではなく、一つの数値で表したもの。代表値(中心傾向)代表値はデータを代表する、データを一言で言い表す値。身長のデータだったら「大体このくらいの長さだよね」というのが代表値を意味する。それそのものでは意味の分からない「○○指数」のようなものであったとしても、「この○○指数というのは大体このくらいの大きさだよね」というのが最初の議論になるだろう。データの中心の位置、数値の大小を表すものになる。算術平均(mean)一般的な平均の概念。観測値の合計を個数で割る。込み平均は外れ値や歪んだ分布に対しても頑健(外れ値があっても中央値は変わらない、分布が少々歪んでも中央値は変わらない)。このような分布においては最頻値<中央値<算術平均となる。代表値は数値の大小を議論するものだったが、こちらは数値がどれだけばらついているかという観点である。\bar{x})^2$$すべての観測値に対する算術平均との差の2乗の(算術)平均値。外れ値に影響されやすい。|$$分散/標準偏差では観測値と算術平均との差の2乗を取ったが、観測値と算術平均の差の絶対値をとったもの。2で割ったもの四分位範囲と四分位偏差、こちらも順位に関する統計量だが、外れ値があっても影響されない。同じ平均でもばらつきが大きいか小さいかで意味は変わってくる。分布が左右対称でない場合もあるが、ばらつきの指標ではそれも分からない。代表値だけを比較するのではなく、分布を見るのが重要。分析手法には特定の分布を前提としているものが多く、分布を見ないと危険である。)は外れ値や分布の形状に大きく左右されない(頑健、ロバスト)。分布がゆがんでもそれなりに意味をなすという意味で、結構便利。逆に算術平均、分散などは分布がゆがむと意味をなさなくなる。外れ値を除外して分析する外れ値に影響されにくい分析方法を採用するなどの対応が必要になる。外れ値が発生する場合、その原因を念頭に置いておかないと、それが本当に意味をなさないデータなのか、意味はあるが分析結果を壊すために分析対象から除外しなければならないものなのか分からない。それによって分析結果の意味も変わってくるはずなのに。「男性のほうがコンバージョンしやすい」では意味が違う。この「○○だったら△△しやすい」という傾向を偏りという。分析の目的は「特定の傾向」を導くことでもあるので、平均値や分散が同じであったとしても、特定の傾向があるかどうかで結果の意味が変わってくる。ばらつきというのはランダムなもののことを指し、ランダムでない傾向を偏りという。多くの統計手法でランダムなばらつきか偏りなのかによって扱い方が変わってくるので、この見極めが重要となる。ばらつきの考え方もともとばらつきの大きいデータなら、少し離れた値でも正常値(偶然の範囲)。ばらつきの小さいデータなら、少し離れただけで問題に。70点どちらの学校が優秀?まあこれだけ見ると高校Bのほうが男女いずれも平均点が高く優秀ということになる見えるが、もしこういう事情があったらどうなるか。高校Aの平均点のほうが高くなる。Aが増えるとBも増える?減る?厳密には相関係数はAとBの間の線形の関係、つまり1次関数で表される関係である。両者の関係が線形でない場合に相関係数は意味をなさない。因果関係データそのものから因果関係はわからない。「AだからB」を成立させる理論があって、かつデータがそれを示している場合のみ因果関係があるといえる。データ上は関係が見られたものの、中には「偶然の一致」のケースもある。因果関係があれば相関関係は発生する。相関関係があるからといって因果関係があるとは限らない。「AとBの間に相関がある」といっても「AだからB」なのか、「BだからA」なのか、それとも偶然の一致なのか、データとは別に理論がないと判断がつかないのである。「広告投下量」と「認知度」の間には相関がある。認知度が高いから広告投下量が多くなるわけではない。広告投下量が多いから認知度が高くなる。現在見ている変数に対して、共通に影響を及ぼしている変数を指す。上の図ではCがAとBに対して共通して影響を及ぼす交絡因子となっており、この場合AとBの間に相関関係が発生する。交絡因子がある場合も相関は発生する。それは実質的な意味はない、見かけ上の相関である。これを疑似相関という。アイスクリームの売上が伸びると、水死者数も確実に増える。いってアイスクリームの売上と水死者数に因果関係はない。夏だからという季節、気温が両現象の共通した背景にある。複数の現象の背後に共通して潜む因子がある場合、それが交絡因子となる。統計の世界ではよく出てくる「独立」という言葉の正確な意味がこれである。上でデータの代表値やばらつきの指標を見るだけではなく分布を見ることが重要だと説明した。いうことで、分布を見るためにチャートを作ってデータを図示する定石を説明する。必要なチャート散布図(点でプロット→位置で認識)棒グラフ(定性データ、長さで量を認識)ヒストグラム(定量データ、分布)折れ線グラフ(推移)箱ひげ図(複数の分布を並べて比較)データを正しく把握するためにはこれらのチャートだけで十分。いうのも人間は位置と長さでしか正確に量を認識できないからである。これ以外のチャート、たとえば円グラフ、レーダーチャート、面積で表すもの(バブルチャートなど)では正しく数量を把握しにくい。何かを強調して誘導するために違う種類のチャートを使うことは有効である。長方形から上下に伸びたひげの終点にはさまざまな基準がある。(代表的なものは各四分位点から外側に四分位範囲の1.5倍だけ離れた点)探索的データ解析(EDA)データを眺めることについてのより進んだ理論。データをプロットし、分布を見る。どんな分布に当てはまるか把握する。わかりやすく可視化する。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は機械学習手法として比較的簡単に扱える目的変数や損失関数の自由度が高い(欠損値を扱える)高精度の予測をできることが多いドキュメントが豊富(日本語の記事も多い)ということで大変便利。