統計学の理解が進む統計手法の整理
どの統計手法を使うか。あるいはRやExcelはどのように使うか。「統計学が最強の学問である(実務編)」より引用して、追加しました。特に、RやExcelによる具体的な統計の手法に言及し、1枚の表を使って説明します。(説明個所は色で示していますので、ご参考ください)
データからアウトカムと説明変数の関連性を分析できる
アウトカムは最大化したい/最小化することで利益に繋がる成果指標を言います。例えば、売上、来店回数、営業成績、労働生産性、在庫破棄、配送ミスの回数などで、量的(数値型)になります。一方、性別、職業、商品ジャンル等それぞれのジャンルに該当する割合は質的(分類型)なアウトカムとなります。
説明変数はアウトカムの大小を左右しうる要因で、分析軸とも言えます。性別、年代、心理特性、広告接触、ブランドイメージ等質的な物や量的な物があります。
よく使われる手法と、その使い方を量的及び質的な物で分けるのがこの表です。(色別にしています)
平均値と割合(本質的に同じ)
各手法に行く前に、そもそもの平均値や割合とは何か。本質的には同じですが、平均値は量的変数を集計します。例えば、年令、収入、購買金額などです。 割合は質的変数でそれぞれのジャンルに該当する割合です。 性別、職業、商品ジャンルなど文字で表すものです。
量的あるいは質的変数?「5段階で満足度を回答する(値が大きいほど満足)」を量的変数として、平均値を計算する。あるいは5つの各段階に該当する者の割合とすれば質的変数となります。
検定(統計的仮説検定)
データの件数を加味した標準偏差を用いて、具体的な統計手法として、検定を行います。平均値や割合の差は偶然の誤差か否か、質的に分類する性別などの説明変数とアウトカムとの関係性を分析します。
比較に用いるデータ数が数百~数千以上ある場合は、正規分布に基づくZ検定を平均値の差及び割合の差に用います。 Rはqnorm関数(平均値の差)やprop.test関数(割合の差)を使います。Excelは、 z.test関数を使います。
データが少ない場合 平均値の差はt検定を行います。Rはt.test関数を使います。Excelは、t.test関数を使います。割合の差はフィッシャーの正確検定を行います(詳細は割愛)。この場合、Rはfisher.test関数を使います。Excelは combin関数を使って計算します。
3グループ以上の比較は分散分析やカイ二乗検定でおこないます。 Rはanova関数とchitest関数を使います。Excelは、分析ツールの「分散分析」とchitest関数を使います。基準カテゴリーとの複数2グループ間比較を行うことの方が多く、3グループ以上の比較を行うことは余り多くはありません。
回帰分析
グループ間の比較をするには「ある量的な説明変数が1大きくなるごとに、量的なアウトカムはいくつ大きくなるか/小さくなるか」
1つの説明変数とアウトカムの関係性を分析するのは単回帰分析です。 Rはlm関数をお使います。Excelは 分析ツールの「回帰分析」を使います。
複数の説明変数を使って同時に「他の説明変数の値が同じだとして、この説明変数が1大きくなるごとに、アウトカムはいくつ大きくなるか/小さくなるか」は重回帰分析です。 単回帰分析と同様に、Rはlm関数、Excelは分析ツールの「回帰分析」を使います。
ロジスティック回帰分析
アウトカムが質的に分類される場合、例えばヘビーユーザーかライトユーザーか。 他の説明変数が同じだとして、この説明変数が1大きくなるごとに、アウトカムが一方の値(ヘビーユーザー)になる確率はオッズ比にして何倍になるかはロジスティック回帰分析といいます。Rは glm関数を使いますが、Excelには該当機能はありません。 質的な説明変数を用いて分析する場合は、ダミー変数の変換を行って、重回帰分析とロジスティックス回帰分析を行います。
因子分析、クラスター分析
多くの説明変数が互いに相関しあっている場合は縮約(まとめあげる)を行います。 量的な因子得点に縮約するのが因子分析、 質的なクラスター分類という変数に縮約するクラスター分析です。
縮約後、説明変数あるいはアウトカムとして重回帰やロジスティック回帰による分析に用います。因子分析は、Rはfactana関数を用います。Excelは該当機能はありません。 クラスター分析は、Rはkmeans関数を用います。ExcelはSQLserverとの連係で「データマイニグ」を用います。
統計学の理解が進む統計手法の整理(実用版)
これ等の表を覚えるのが面倒であれば、実際にはもう一段階「実用上使うものだけ」と絞り込めば、次表のように整理できます。
つまり、説明変数が質的な物であれば基準カテゴリーを決めて(複数の)2分類比較を行う。 2値か量的かという違いがあるだけで、どちらもそこからのズレの2乗の合計が最小となる直線を考えている回帰モデルです。説明変数が質的(2値、基準を決めて2分類)か量的(数値・質を含む)で分けます。
説明変数が質的
平均値の差をt検定(数百件以上のデータがあるかもしれないが、念のためt検定を行います) 目的変数が量的(数値型)の場合、Rはt.test関数を使います。Exceもやはりt.test関数を使います。
割合の差についてはより少ないデータの件数でも問題にならないのでz検定かカイ二乗検定を用います(両者の結果は一致します) Rはxtabs関数とprop.test関数を使います。Excelは、ピボットテーブルとchitest関数を使います。
説明変数が量的(量・質を含む)
重回帰とロジスティックについても目的変数(アウトカム)を変換しているだけです。(線形モデルとなります)
(重)回帰分析 単回帰分析は「説明変数が1つの場合の重回帰分析」として重回帰分析の中に包含されます。目的変数が量的(数値型)となり、Rはlm関数を使います。Excelは分析ツールの「回帰分析」を使います。
ロジスティック回帰 2値論理に関する目的変数(アウトカム)を分析するための回帰分析で、 目的変数が質的(分類型)となり、Rはglm関数を使います。Excelは該当機能はありません。
目的変数を縮約
目的変数が量的の場合は因子分析を行い、Rはfactana関数を使います。Excelは該当機能はありません。 目的変数が質的はクラスター分析を行い、Rはkmeans関数を使います。Excelは SQLserverとの連係で「データマイニング」を使います。
ビジネスで用いる場合の分析の手順
以上統計の手法について説明しましたが、ビジネスの現場では手順は異なります。(全く異なる順番で行われる)
基本的な手順としては、まず一通りのデータの整理と確認を行います。
データの中でアウトカム(最大化したいもの/最小化したいもの)を決めます。
① 他の項目は全て説明変数の候補として重回帰分析又はロジスティック回帰を行います。
② その結果から何が言えるかを考えます。
③ 因子分析やクラスター分析を使い説明変数の取捨選択と結果の解釈の試行錯誤を重ねます。
④ 儲かりそうなアイデアが見つかったら、A/Bテストを行います。A/Bテストというのは、AグループのアウトカムがBグループと比べ偶然の誤差とは考えられないものであれば、統計的仮説検定(t検定やz検定)により、因果関係を示すものです。
以上 小宮