Upgrade to Pro — share decks privately, control downloads, hide ads and more …

確率統計 - 機械学習その前に -

Hidekatsu Izuno
November 20, 2021

確率統計 - 機械学習その前に -

以前公開した確率統計の勉強会資料について、その後得た知見を元に内容を更新したものです。
間違っている記述を見つけた際はご指摘頂ければ幸いです。

旧バージョン:https://www.slideshare.net/HidekatsuIzuno/v20-91382793

主な更新内容
- Twitter でご連絡頂いた指摘の反映
- 対数変換、誤差が正規分布でない場合の対応を追加
- 統計的因果推論についての記述を追加
- 例数設計の説明を追加
- 回帰分析にあたっての誤差の条件を追加
- 欠損データ処理、モデル平均に関する説明を追加(v2.4)
- 母集団と標本、分散、クラスター分析、関数データ解析に関する説明を追加(v2.5)
- 事前分布の選び方を追加(v2.6)
- 文章を一部見直し(v2.7)

Hidekatsu Izuno

November 20, 2021
Tweet

More Decks by Hidekatsu Izuno

Other Decks in Science

Transcript

  1. 説明と予測の違い ⚫説明=因果関係を明らかにする ⚫原因がわかる必要がある ⚫ 例:売上が下がった原因は、安価な他社製品が発売されたから ⚫予測=未知の部分を予想する ⚫必ずしも原因はわからなくてもいい ⚫ 例:夏になると売上が上がるので、この時期に注力しよう ⚫相関<予測<因果

    ⚫ 因果関係がわかるのが理想だが「データのみから因果関係を判別できる ような統計的手法は存在しない」 ⚫ 「関係がないわけではなさそう」を数学を使って判断する 4 4 因果と予測と相関の関係 予測がうまくいく、相関が高いから因果関係があるとは言えないのは当然ですが、逆に因果関係であ れば予測がうまく行く、あるいは相関が強い、というわけでもありません。因子が複数ある場合、因 果関係になくとも効果の大きい因子と強い相関を持つ要素の方が予測には重要です。
  2. 統計学にもいろいろある ⚫記述統計: データの要約が目的 ⚫ 個々のデータの集まりのままでは人間には理解できない ⚫ データの特徴を数値的に表現する:平均値、中央値など ⚫推測統計: データから全体を推測するのが目的 ⚫

    主に2つの方法論が使用される ⚫ どちらが正しいというわけではなく、推測=無から有を生み出す、ための指針が違う。 ⚫ 前提が違うので異なる結論を出すこともあるが、サンプルが無限個になれば一致する。 ⚫ 結局うまく推測できればよいので組み合わせて使うこともよくある。 ⚫ 頻度主義統計学: 無限回の試行の結果を確率と定義 ⚫ 誤差を含む観測データから真の分布を推測する(データが確率的) ⚫ 単に統計学といったら普通はこちらを指す。この資料も基本はこっち。 ⚫ ベイズ統計学: 主観確率に基づく合理的な意思決定の枠組み ⚫ 観測データを生成するだろう分布を合理的に推定する(パラメータが確率的) ⚫ 尤度原理と呼ばれる一貫性を持ち、理論的に優れているが、簡単に計算できないため ツールとしては使いにくい。 5 5
  3. 推測統計の考え方 ⚫ データ(標本/サンプル)から全体(母集団)を想像する ⚫ 得られるのは観測できたデータだけ ⇒ 様々な仮定から元の形を復元する ⚫ 母集団の特徴には「母」を標本の特徴には「標本」を付けて呼ぶ(例: 母平均、標本平均)

    ⚫ 独立同分布(i.i.d.): (誤差項のような)確率変数は同じ分布かつ独立しているという仮定。 暗黙的に仮定されることが多い。 6 6 サンプル数、サンプルサイズ、母数 統計学の慣例として、データの個数のことをサンプルサイズ、サンプリング回数のことをサンプル数 (標本数)と呼ぶ。日本語だと誤解しか生まないが、英語の sample は個々のデータポイントではな くデータ群を表すため。本文では「データの個数」で統一している。 また、「母数」も母平均、母分散などのことを指し、母集団のサイズのことを指すわけではない。 サンプリング 推測 母集団 標本/サンプル 推測された分布
  4. 平均値・中央値・最頻値 ⚫データの要約値としては平均値がよく使われる ⚫正規分布するなら平均値≒中央値≒最頻値 ⚫中央値=データを順番に並べて中央に位置する値 ⚫正規分布しないものは中央値の方が実感に近いとされる 8 8 正規分布の例 (中央値と平均値と最頻値がほぼ同じ) 0

    5 10 15 20 25 30 35 0 500 1000 1500 2000 2500 3000 割合(%) 資産額(万円) 保有金融資産額 最頻値=0 中央値=400 平均値=1078 0 1 2 3 4 5 6 7 8 150 155 160 165 170 175 180 185 190 人数割合(%) 身長 17歳男子身長 最頻値=170 中央値=169 平均値=171 非正規分布の例 (中央値と平均値と最頻値が全然違う)
  5. 分散・標準偏差 ⚫分散=データのばらつき ⚫ 平均が同じでもばらつきが違えば全然別物 ⇒ ばらつきを指標化 ⚫ 分散: 平均からの差の2乗を合計し、データの個数で割ったもの(単位が変わる) ⚫

    標準偏差: 分散の平方根(元の単位と同じ) 9 9 不偏分散=標本分散の母集団に対する偏りを調整したもの 日本では n-1 で割る標本分散を不偏分散と呼びます。ただし、この呼び方は日本独自で、単に標本分 散と呼べば不偏分散を指すのが標準的なようです。n ではなく n-1 で割ることに違和感を覚える人が 多いようです。 統計学では標本ではなく母集団の特徴を知りたいのですが、分散は平均値からのばらつきから計算さ れるため母集団と標本の平均のずれを調整する必要があるためです。
  6. 確率分布 ⚫「観測されたデータは代表的な確率分布に当てはまる」と仮定する ⚫ 誤差は正規分布を仮定する、など ⚫ 計算が簡単になり、様々な定理が使える 10 10 分布 範囲

    説明 離 散 型 ベルヌーイ分布 0,1 成功か失敗のいずれか 1 回試した時の確率の分布 カテゴリ分布 0, …, n 1回試したときにn 個の要素のいずれかがでる確率分布(ベルヌーイ分布の多値版) 2項分布 0, …, n 確率的な事象を n 回試した時に k 回成功する確率の分布 負の2項分布 0, …, n 確率的な事象が n 回失敗するまでに k 回成功する確率の分布 多項分布 0, …, n 確率的な事象を k 回試した時に n 個の要素それぞれが出る確率分布(2項分布の多値版) 離散型一様分布 0, …, n 事象の確率が等確率で発生する分布(サイコロなど) ポワソン分布 0, …, n ある期間に確率的な事象が n 回発生する確率の分布 (まれな事象の頻度分布) ゼロ過剰ポワソン分布 0, …, n 事象が発生しないグループ(確率 0)とある期間に確率的な事象が発生するグループが混在しており、 ゼロが過剰に発生してしまう場合のポワソン分布 連 続 型 正規分布 -∞ ~ ∞ データが平均値に集まるような事象の確率分布。身長の分布など 対数正規分布 0 ~ ∞ 対数を取ると正規分布となる確率分布。所得や株式収益率の分布など ベータ分布 0 ~ 1 ベルヌーイ分布の連続版。一様分布もベータ分布で表現できる。 指数分布 0 ~ ∞ ある発生確率で起きる事象が1回起きるまでの時間の分布。生存時間や待ち時間など ガンマ分布 0 ~ ∞ ある期間に確率的に起こる事象が k 回起きるまでの時間の分布 連続型一様分布 任意の範囲 ある区間で事象の確率が等確率で発生する分布 ワイブル分布 0 ~ ∞ 利用期間に対する故障率を表す分布としてよく使われる 逆ガンマ分布 0 ~ ∞ ベイズ推定で使われる。正規分布の共役事前分布 t 分布 -∞ ~ ∞ t 検定で使われるほか、裾が狭いため外れ値に強い分布として使われる。 ラプラス分布 -∞ ~ ∞ 0付近に集中するような分布。ベイズ版ラッソに使われる。 コーシー分布 -∞ ~ ∞ 平均や分散を持たない裾の広い分布として有名。逆ガンマ分布の代わりに0以上に制限した半コー シー分布が共役事前分布として使えるらしい。
  7. なぜ正規分布がよく使われるのか ⚫ある値を中心にランダムなばらつきがある⇒正規分布 ⚫ 中心極限定理:繰り返すと平均の分布が正規分布に近づいていく ⚫ 大数の法則:繰り返すと理論上の平均値に近づいていく ⚫ 大成功した翌年に調子を崩す、大失敗した翌年は奮起した、というようなケー スは実際にはこれかもしれない ⚫情報がない場合には正規分布(や一様分布)が仮定される

    ⚫ 意図がない ⇒ 偏りがない ⇒ ランダムな分布 ⚫ 統計手法には中心極限定理を理由に正規分布が仮定されているもの も多い(例:回帰分析、仮説検定) ⚫ 実際には正規分布を仮定できない場合も多い。例えば、システム開発の工数は 上がりやすく、下がりにくいので誤差が正規分布に従わない。 11 11 中心極限定理や大数の法則が成り立たないケース 中心極限定理や大数の法則は通常使われる多くの分布で成り立つため、すべての分布で成り立つと誤 解されることがありますが、コーシー分布など期待値が計算できない場合には成り立ちません。 た い す う
  8. ブートストラップ法 ⚫分布を仮定せずデータから母集団の性質を調べる手法 ⚫ 通常は(正規分布などの)分布を仮定し標本の性質から母集団の性 質を推定する ⚫ これに対し、得られたデータの中からランダムにサンプリングする ことで母集団の性質を推定する ⚫ 分布の仮定が不要(ノンパラメトリック)

    ⚫ ただし、得られたデータが母集団の特徴を反映していることが前提 12 12 ブートストラップの語源 ブーツについているつまみの紐(ストラップ)を引き上げることで自分自身を引き上げることに由来 し、外部の力を使わずに自分で自分を引き上げることを表現するのに使われる。 OSの起動のことを「ブート」と呼ぶのももOS自身がOSの起動をかけることからきている。
  9. 相関分析 ⚫相関係数:平均値から各点の乖離を足し合わせて、-1~1の範囲 に正規化したもの ⚫ 1に近いほどプラス方向に強い関係 ⚫ -1に近いほどマイナス方向に強い関係 ⚫ 0は無相関 14

    14 2変数の関係を簡単に分析できる 永岡 淳一 散布図と相関係数・回帰分析(http://www.cuc.ac.jp/~nagaoka/2011/ouyou/10/expr/index.html)より引用
  10. 相関が大きい=因果関係がある? 相関関係は因果関係を意味しない ⚫ 隠れた共通要因 ⚫ アイスクリームが売れると水死者が増える ⇒ 「暑い夏」という共通要因 ⚫ 朝食を食べる子供は成績がいい

    ⇒ 「良好な家庭環境」という共通要因 ⚫ 逆の因果関係 ⚫ 会社への満足度が高いほど業績も好調 ⇒ 業績が好調な職場自体が高い満足度をもたらす ⚫ 癌での死亡率が増加している! ⇒ 他の病気で死ぬ人が減って長生きになったため ⚫ 選択バイアス ⚫ サッカー場でスポーツ振興についてのアンケートを取る ⇒ 母集団にすでに偏りがある ⚫ データ個数が少ない ⇒ 一部の特徴あるサンプルに強い影響を受ける ⚫ 単なる偶然 16 16 疑似相関 このような相関は大きいのに因果関係がないことを疑似相関と呼びます。疑似相関は正しくは疑似因 果と呼ぶべきものであり、相関関係は成立していることに注意が必要です。
  11. 相関が小さい=因果関係がない? ⚫必ずしもそうとは言えない → 例えば「シンプソンのパラドックス」 ⚫ 他にも二つの逆向きの効果が打ち消しあう場合などがある。 ⚫ 相関関係はあくまでヒントに過ぎない 17 17

    データは同じ 因果関係はないどころか逆効果? 因果関係はある? Wikipedia: シンプソンのパラドックス(https://ja.wikipedia.org/wiki/シンプソンのパラドックス)より引用
  12. 回帰分析 ⚫例えば、機能数と工数の間の関係を調べたい ⚫散布図を書いて線を引く ⇒ (単)回帰分析 ⚫誤差の2乗和が最小になるように線を動かす 18 18 0 50000

    100000 150000 200000 250000 300000 350000 400000 450000 500000 0 200 400 600 800 1000 人時工数 機能数 機能数と工数の関係 0 50000 100000 150000 200000 250000 300000 350000 400000 450000 500000 0 200 400 600 800 1000 人時工数 機能数 機能数と工数の関係 「回帰」分析の語源 身長の高い親からは身長の高い子が生まれ、その逆も同様であることを示そうとしたら実際には 「平均に帰っていく」、すなわち「平均への回帰」が見られたことに由来するとのこと。 データは「ソフトウェア開発データ白書2016-2017」を加工したもの
  13. 回帰分析でわかること ⚫傾きと切片 ⚫ 結果=傾き✕原因+切片 ⚫ 原因=説明変数、結果=目的変数、傾きは係数、切片は定数項と呼ばれる ⚫ 先ほどの例だと「人時工数=97✕機能数+25000 」 ⚫

    切片は常に0と仮定し原点を通る前提で求めることも出来る 傾きや切片はEXCELを使うと簡単に求められる。 ⚫決定係数(R2) ⚫ 分散に対する影響の割合(寄与率)。1に近いほど当てはまりはいい ⚫ おおむね相関係数の2乗と捉えていい(実は定義が8種類もある) ⚫ 先ほどの例だと R2 = 0.08 ⇒ 当てはまりは良くない 決定係数もEXCELで簡単に求められる ⚫有意性(p値) ⚫ 効果がないのに効果があるとしてしまっていないかを判断する指標値。小さいほど有意性が 高い。 ⚫ 一般に p値<0.05 以下で統計的有意であると呼ばれる(5%有意) ⚫ 先ほどの例だと p値 =0.00000002 ⇒ 有意 p値を求める場合は、RやPythonを使う(EXCELでも計算できなくはない) 19 19
  14. 重回帰分析 ⚫重回帰:複数の説明変数に対する回帰 ⚫ 基本的には単回帰と同じ考えを多次元に拡張しただけ ⚫ 性別なども1/0で代替することで分析できる(ダミー変数) ⚫ 説明変数が複数になったことで問題も発生 ⚫ 説明変数が多すぎる

    ⇒ 過学習しやすくなってしまう ⚫ ラッソ回帰(L1正則化)で説明変数を削減 ⚫ ステップワイズ法も使えるが、変数選択に恣意性が入りやすい ⚫ 「予測」には有用だが「説明」には適さない ⚫ 説明変数同士が独立ではない ⇒ 多重共線性にて推定性能が悪化 ⚫ リッジ回帰(L2正則化)、主成分回帰、部分最小二乗回帰で独立な形に 変換 ⚫ 両方の問題に対応したい ⇒ Elastic Net(L1+L2正則化) ⚫ 自由度調整済み決定係数 ⚫ 通常の決定係数は説明変数が増えると1に近づく性質があるため重回帰分析で の使用は不適切 ⇒ 説明変数の数で正規化 21 21
  15. 次元の呪い ビッグデータならすごい分析ができる……? ⚫特徴(=説明変数)が増えると回帰がうまくいかなくなる ⚫ 理由その1: 可能性のある説明の数に組み合わせ爆発が起こる ⚫ 理由その2: 関係のある変数を探す行為自体が多重比較になる ⚫

    データを増やしても解決できない ⚫ 基本的には何とかして次元を減らすしかない ⚫ 解決策1:特徴選択 ⚫ 目的とは関係の弱い変数を削除する ⚫ L1正則化がよく使われるが、複数の相関を持つデータがひとつの基準で削除されてしまう 「特徴量の見落とし」が起こるという問題がある ⚫ 解決策2:特徴変換 ⚫ 複数の特徴をまとめ、合成や加工することで、元の特徴をある程度保ったまま次元を減ら した分析ができるようになる ⚫ 主成分分析:目的変数を少ない説明変数だけで表現できるよう座標変換する手法 ⚫ Feature Hashing:複数の特徴をまとめたベクトル値をハッシュ関数に入れ加工する手法 22 22
  16. バイアス(偏り) ⚫Garbage In Garbage Out (GIGO) ⚫クズなデータからは、クズな結果しか得られない 24 24 選択バイアス

    測定バイアス 母集団からサンプリングすると きに生じる偏りのこと • 標本抽出バイアス • 自己選抜バイアス • 脱落バイアス • 生存(勝者)バイアス • 所属バイアス サンプルから得られる情報や情 報の受け手による偏りのこと • 先入観バイアス • 報告バイアス • 測定バイアス • 想起バイアス • リードタイムバイアス
  17. 必要なデータの個数を決める ⚫例数設計 ⚫ データの個数が少なすぎる ⇒ 分析の条件が満たせない ⚫ 極端なデータ(外れ値)が結果に影響する ⚫ 誤差分布が正規分布とはみなせなくなる

    ⚫ データの個数が多すぎる ⇒ 意味のない効果も検出 ⚫ 推定の幅が狭くなりすぎ、重要ではない差があるだけで有意になってしまう ⚫ そもそも、集めるのが大変 ⇒ 必要十分なデータの個数があらかじめわかるとうれしい ⚫必要なもの ⚫ 検出したい差の大きさ ⚫ 個体間のばらつき ⚫ 有意水準:一般に 5% を設定 ⚫ 検定力:一般に 80% を設定 25 25 必要な データ の個数 ≒ 16× 検出したい 差の大きさ 個体間の ばらつき データの2度漬け 仮説検定ではデータは多すぎても少なすぎてもダメで、データを事後的に追加することもできません。 ベイズ統計学では少なくとも多すぎたり事後的な追加できないという問題はありません。
  18. 欠損データの補完 ⚫ 取得したデータの全項目が埋まっているとは限らない ⚫ 一部項目が欠落したデータは使えない? ⚫ 該当のデータを取り除く ⇒ もったいない かつ

    データが偏る ⇒ 欠損を補完するなどして、うまく使えば効果あり ⚫ 目的変数が欠損しているものは除去するしかない ⚫ 従属変数が欠損しているものは次の方法で対応する ⚫ 欠損値を補完する ⚫ 単一代入法: 予測値で補完する ⚫ 回帰代入法、比率代入法、ホットデック法 ⚫ 平均値を代入するのは推奨されない ⚫ 多重代入法: ベイズ統計学を使って補完する ⚫ 決定木ベースの手法を使う ⚫ 範囲や欠損値のありなしで分岐できるため、欠損値の影響を受けにくい ⚫ ベイズ統計モデルに含める ⚫ ベイズ統計では欠損値の生成分布をモデルに含めることで自然に扱えます 26 26 工数 欠損 画面数 8 帳票数 4 バッチ数 0 10人月 1 0 20 期間 3カ月 欠損 8人月 3 1 欠損 3カ月
  19. 回帰分析にも前提がある(1) ⚫前提を満たさないと、意味のない結論が出るだけ ⚫ データの個数が十分にある ⚫ 少数のデータだと偏ったサンプルになっている可能性がある ⚫ 外れ値の影響を無視できない ⇒ スミルノフ=グラブス検定

    ⚫ データの発生源に偏りがない ⚫ 基準を設けて分割したり選び出したりすると、人工的な偏りが生まれる ⚫ 収集後だけでなく、データの収集時にも偏りが出ないように気をつける必要が ある ⚫ (現実には難しいが)すべての原因(交絡要因)を説明変数に組み入れる必要 がある ⚫ データがすべて独立 ⚫ 多重共線性(マルチコ):説明変数に強い相関があると分散が大きくなり、適 切な分析結果が出なくなる。 ⚫ 分散拡大係数(VIF)を使うことで確認ができる。一般に VIF > 10 となる説 明変数は対処が必要とされる。除外や合成により回避する。 ⚫ 小サンプルでは影響があるが、データの個数が増えると影響は消える。 ⚫ 「説明」には影響があるが「予測」には影響しないとされている。 ⚫ 同じデータを水増しすると有意にできるが、独立ではないので分析の意味がな くなる ⚫ 時系列データも独立ではない(時間的自己相関) 28 28
  20. 回帰分析にも前提がある(2) ⚫誤差分布によっても適切な分析ができなくなる ⚫ 誤差分布は正規分布が仮定される……が、必ずしも実際の誤差が正規分布してい る必要はない ⚫ 正規分布だと最尤推定量と一致するため、正規分布であるに越したことはない ⚫ 説明変数や目的変数は正規分布である必要はない ⚫

    最低限必要な条件 ⚫ 誤差分布の期待値が 0 ⚫ 誤差分布が等分散 ⚫ 大数の法則が働くためデータの個数が多い場合は重要ではない ⚫ 誤差分布が独立 ⚫ 周期性や系列相関があるとだめ ⚫ 条件が満たせない場合 ⚫ 外れ値が多い ⇒ 除去あるいはロバスト回帰を使う ⚫ 分散が不均一 ⇒ 対数変換など式を変換する、Feasible GLS などを使う ⚫ 誤差がコーシー分布 ⇒ ランク基準推定を使う 29 29
  21. 検定(仮説検定) ⚫検定:分析結果が妥当か評価すること ⚫ 関係があるように見える ⇒ 単なる偶然かも ⚫ 検定は2群以上の分布に差があるかないかを調べる ⚫ t

    検定: 2群の平均値に差があるかを t 分布を使い確認 ⚫ ウェルチの検定: 母分散によらず2群の平均値に差があるかを確認 ⚫ F検定: 2群の分散に差があるかを F 分布を使い確認 ⚫ カイ2乗検定: 2群の割合に差があるかをカイ2乗分布を使って確認 ⚫ 回帰分析の場合、無関係(=傾きが0)の場合と得られた傾きに十分な差があるかを確認する ⚫ ノンパラメトリック検定: 分布によらず検定が可能 ⚫ ウィルコクソンの順位和検定: 大きさ順に並べたときの差により検定する手法 ⚫ 偽陽性(第一種の過誤 or αエラー) ⚫ 関係がないのに、あるとしてしまう間違い ⚫ p値はこの偽陽性を判定する検定を行った結果として得られる値(確率) ⚫ 有意水準:許容する偽陽性の水準(一般に 5% が使われる) ⚫ 検定方法は想定する分布に応じて様々なものがある ⚫ 偽陰性(第二種の過誤 or βエラー) ⚫ 関係があるのに、ないとしてしまう間違い ⚫ 検定力:正しく有意差を検出できる確率(1-偽陰性率) ⚫ 一般に検定力 80% 未満(=偽陰性率 20% 以上)だと NG ⚫ 偽陽性と偽陰性にはトレードオフがある。偽陽性を重視すると偽陰性が発生する可能性が増す。 30 30 データ収集にバイアスがないという前提での評価であることに注意!
  22. 有意である=因果関係がある? ⚫p値がよく使われるが完璧な指標ではない ⚫ p値は扱いやすいので普及しているが、問題も多い ⚫ アメリカ統計学会「統計的優位性とp値に関する声明」(2016) ⚫ データ個数を増やすと有意と判定されやすくなるという特徴がある ⚫ 有意である

    ⇒ 効果が 0 ではないことがわかるだけ ⚫ 効果の強さは何もわからない ⚫ 有意であるが決定係数が低いなら、誤差程度の関係しかないとも言える ⚫ 逆に「有意ではない」ならば「因果関係がない」とも言えない ⚫ 有意水準 5% では、偽陽性を十分に排除できない ⚫ 有意水準 0.5% に設定すべきという提言がなされている(2017) ⚫ 心理学論文の半数は再現性に問題があるとするデータもある ⚫ 多重比較の問題:様々な条件で実験を繰り返すと偽陽性となる確率が上がる ⚫ ボンフェローニ補正法、チューキー・クレマー法 31 31 なぜ有意水準は5%なのか フィッシャーが標準偏差の約2倍の水準となり使いやすいからという理由で導入され、統計ソフトのデ フォルト値となっていたことからコンピューターの普及とともに広まりました。そのため、5%という 基準自体に特別な意味があるわけではありません。 ちなみに95%信頼区間がゼロを含むことを有意と呼ぶこともありますが、5%有意と同じ意味です。
  23. じゃあ、どうすればいいの? 1. 他の方法を使う ⚫ 効果量とその信頼区間を示す:統計学者おすすめの方式 ⚫ 効果量:関係の強さを表す指標。データ個数に依存しない。 ⚫ 効果量はいくつかあるが、一般には d

    属のヘッジスの g 効果量が使われる ⚫ 信頼区間:サンプリングを繰り返すとある確率で真値が含まれる区間(≠信用区間) ⚫ 95%信頼区間は、95%の確率で真値が含まれる区間を意味しないことに注意 ⚫ 情報量基準:変数が少なく予測精度が高い方を採択するための指標 ⚫ AIC(赤池情報量基準)、BIC(ベイズ情報量規準)、DIC、WAIC、WBIC ⚫ 予測には AIC、説明には BIC の方が適しているとされる ⚫ 信用区間:データがある確率で含まれる区間。ベイズ推定を使うと算出できる ⚫ HDI(最高密度区間):左右の確率が異なるという信用区間の欠点を改良したもの ⚫ ベイズファクター:尤度の比率から算出できる ⇒ いずれも p値ほど簡単に使えるものではない 2. 気にしない ⚫ 論文書くならともかく、業務ならもっとカジュアルに使えばいい ⚫ たいていの場合、因果関係があるかないかは自ずと明らかでは? ⚫ データを眺めるだけでも気づきがある ⚫ そもそも、未知の要因は無数にあるため、因果関係を機械的な方法だけで判定するのは無理がある ⚫ とはいえ、因果関係がある! と決めつける前に「そうでない可能性」がないかは検討し たほうがいい ⚫ 特に時系列データには注意が必要(後述) 32 32
  24. 統計モデリング ⚫いつでも(普通の)回帰分析の枠にはまるとは限らない ⇒ 問題に合わせて統計モデルを作って分析したい ⚫統計の構成要素 ⚫ モデルの形 ⇒ 普通の回帰なら「一次方程式」 ⚫

    誤差分布の形 ⇒ 普通の回帰なら「正規分布」 ⚫ 推定の方法 ⇒ 普通の回帰なら「最小二乗法」 ⚫ モデルは「☓☓関数」、誤差分布は「◯◯分布」に、など問題に合わせ て前提を変えたり緩めたりしたい ⚫ 推定の方法は、モデルと誤差分布の形でだいたい決まる 34 34 モデル 説明 変数 係数 目的 変数 入力 データ 出力 データ サンプル サンプル 推定アルゴリズム
  25. 誤差の正規性を確認する ⚫誤差:目的変数の値 – 予測された値 ⚫正規性=正規分布に従うか ⚫グラフで確認する ⚫ 残差プロット: 説明変数がひとつの場合には残差の散布図を使う ⚫

    部分残差(成分+残差)プロット: 説明変数が複数ある場合に使える ⚫ Q-Qプロット: 直線に近ければ正規分布 ⚫正規性検定を使う ⚫ シャピロ・ウィルク検定 ⚫ 検出力に優れているが、同じ値を多く持つデータやデータ数が2000を超える場合には適し ていない ⚫ コルモゴロフ・スミルノフ検定 ⚫ アンダーソン・ダーリング検定 ⚫ ジャック・ベラ検定 35 35
  26. 外れ値に頑健な分析法 誤差が条件を満たさないと通常の回帰分析が適用できない ⇒ 式を変換したり、重みを付けて誤差を分析に適した形に変換する ⚫ 重み付き線形回帰(加重最小二乗法) ⚫ 分散の変動要因でデータに重みを付けることで分散を小さくする 例:規模の逆数で重みを付けて機能数と工数の関係を求める ⚫

    ロバスト回帰 ⚫ 線形回帰は外れ値の影響を受けやすいので、外れ度合いに応じて説明変数に重みを付ける ⚫ ロバスト標準誤差線形回帰 ⚫ 通常の線形回帰では誤差の分散は一定であると仮定 ⚫ 誤差の分散をロバストにすることで、通常の検定が使える ⚫ 順位(ランク)基準回帰 ⚫ 順位を使うことで、外れ値を使いながらその影響を無視できる ⚫ 分位点回帰 ⚫ 25%分位点、50%分位点、95%分位点など分布範囲ごとにモデルを導出できる ⚫ 50%分位点=平均値ではなく中央値に対する回帰分析を意味している。 ⚫ 外れ値や非対称な分布を持つデータにも適用でき、分散の大きいシステム開発の分析に向いている ⚫ 式を変換する ⚫ 対数変換:対数化することで誤差分布が対数正規分布に従うようになる ⚫ Box-Cox変換:誤差分布が正規分布となるように変換 ⚫ Yeo-Johnson 変換: Box-Cox変換を負値でも扱えるよう拡張したもの 36 36
  27. 対数変換 ⚫弾力性(xの変化率に対するyの変化率)を推定したい ⇒ 対数(log)化して一般線形モデルで扱えるようにする 37 37 y = b xa

    log(y) = a log(x) + log(b) 対数変換 ⚫ 原則として x も y も正の値をとるデータに対して使う ⚫ ゼロや負の値を含む場合は下駄をはかせて正の値にして計算する 例:log(y + 1) 、log(y + 0.01) ただし、この下駄が有意性に影響を与える危険性がある ⚫ HIS変換という手法を使うことで影響を防ぐことができる ⚫ 誤差分布は対数正規分布に従う ⚫ 対数正規分布を対数変換すると正規分布になる ⚫ 後述の一般化線形モデルを使う場合とは誤差分布に違いがでる ⚫ 片側だけ対数化することもよくある
  28. 線形統計モデルの種類 (一般)線形モデル (LM) • 通常の単回帰/重回帰分析のモデルのこと • 誤差構造は正規分布を仮定 • 誤差構造=目的変数の確率分布 一般化線形モデル

    (GLM) • 誤差構造を自由に設定可能なモデル • リンク関数を使い誤差構造に適した形に変換 • 関数の形はリンク関数の逆関数になる 一般化線形混合モデル (GLMM) • 地域差のように、すべてに共通しないがグループご とには相関がある場合に対応したモデル • 例:シンプソンのパラドックスの場合 • 分野によりマルチレベルモデル (ML)、階層線形モデル (HLM)、混合効果モデル、変量効果モデル とも呼ばれる 正規分布以外の誤差 構造を使いたい 38 38 グループごとに相関す る対象を分析したい ⚫ 次の3モデルが基本。下に行くほど前提条件が緩くなり、その分推定が難しくなる
  29. 一般化線形モデル(GLM) ⚫リンク関数で-∞~∞の範囲に変換することで線形モデルで扱いやすくする ⚫ リンク関数は誤差構造でだいたい決まる ⚫ 誤差構造で使う確率分布は離散型と連続型があるので問題に合わせて使う ⚫ ロジスティック回帰:回帰モデルだが2値分類に使われる。生存率のような累積判断にはプ ロビット回帰、時間的な打ち切りがある場合にはコックス回帰が使われる。 ⚫

    ポアソン回帰:誤差構造がポアソン分布。影響割合(リスク比)の導出に使われる。 39 39 2項分布 (0~N) 離 散 型 連 続 型 ポワソン分布 (0~∞) 正規分布 (-∞~∞) ガンマ分布 (0~∞) 誤差構造 リンク関数 ロジット関数 対数関数 恒等関数 逆数関数 or 対数関数 関数の形 ロジスティック 関数 指数関数 恒等関数 逆数関数 or 指数関数
  30. 回帰分析の手順 ⚫手法は様々でも、手順自体は同じ 1. モデルの選定 ⚫ データを説明するのに適したモデルを選んだり作ったりします 2. 係数の推定 ⚫ モデルとデータの差などペナルティが最小になるように係数を最適化

    (=最小値を探索)します ⚫ 推定の方法としては最小二乗法、最尤推定法、ベイズ推定などがあります 3. モデルの評価 ⚫ 有意性判定: p値と有意水準を比較し有意性を判定する ⚫ 正規分布には t 検定、その他の分布にはワルド検定 ⚫ モデル選択: 情報量基準を使い複数のモデルからより良いものを選ぶ ⚫ 交差検証: サンプルを分割し予測精度を確認する ⚫ 確認には MSE(平均二乗誤差)、MAE(平均絶対誤差)などを使う 40 40 係数 ペナルティ
  31. 尤度(ゆうど)に基づく推定 ⚫ 得られたデータ(=観測値)から確率分布を推定 ⚫ 最小二乗法は誤差の2乗差を最小化して推定する ⚫ 尤度(関数):得られたデータが、逆にどのパラメータから得られたか、 その尤もらしさの度合い(の関数) ⚫ 尤度であって犬度ではないので注意。

    ⚫ 尤度自体は確率ではない(積分しても1にならない) ⚫ 最尤推定 ⚫ 観測値になるであろう確率(尤度)を最大化することで推定する手法 ⚫ 分布を定めず平均値と分散だけから推定する疑似尤度法という手法もある。 ⚫ 誤差を正規分布と仮定した最小二乗法は最尤推定と見なせる ⚫ MAP推定 ⚫ 観測値に加えデータ量の補正を加えた手法 ⚫ 逆に言えば、最尤推定はデータ量が少ないときには使えない ⚫ ベイズ推定 ⚫ 事前分布と観測値から事後分布を推定 ⚫ 係数が定数ではなく確率分布として得られる ⚫ 最尤推定やMAP推定は、ベイズ推定の特殊パターンとみなせる 41 41
  32. ベイズ推定 ⚫従来の統計手法(頻度確率)の代わりにベイズ統計学を使う ⚫ 事後分布を次の事前分布とすることで繰り返し情報を更新できる ⚫ 事前分布を工夫することで1度しか起こらなかったことでも分析できる ⚫ 値の範囲や経験的な常識(ドメイン知識)を事前分布として利用できる ⚫ 統計モデル自体は既存のものを使う

    ⚫ 一般線形モデルでも状態空間モデルでも何でもOK ⚫ どんなモデルでも同じ手法が利用できるので分析の自由度が上がる ⚫ 教師あり/なし、強化学習、ラッソ、ロバスト、欠測データなどを統一的に扱える ⚫ 係数が定数ではなく確率変数になる ⚫ 係数の値が確率分布として求まるため、結果にどれくらい自信があるのかがわかる(裾が狭い =確信度が高い) ⚫ 従来の統計モデルに比べて合理的な意思決定に基づくしっかりとした理論体系から構築されて おり結果の解釈も行いやすい 42 42 事前分布 得られたデータ 事後分布 A B
  33. 事前分布の選び方 ⚫事前分布は究極的には重要ではない ⇒ データが増えれば影響は小さくなる(極端な話、何でもいい) ⚫ データを見なくてもわかること(ドメイン知識)は事前分布として与える ⚫ 過去の研究ではこうだった、一般的にはこのような分布を使う、など ⚫ 事前分布を置くことで少ないデータでも適切な結果が得られやすくなる

    ⚫悪い事前分布 ⇒ データが増えても影響が消えない! ⚫ ゼロの影響 ⚫ 事前分布に確率がゼロの部分があると、事後分布もゼロになる ⚫ 少しでも可能性があるならゼロにするのはNG ⚫ 分散の値やサイコロの出目のように絶対に負値にならないない場合はゼロでOK ⚫ 半正規分布、半コーシー分布など半分にして正値のみに制限したものを使う ⚫ 無情報事前分布 vs 弱情報事前分布 ⚫ 無情報→一様分布を使うが、一様分布は操作すると無情報ではなくなる ⚫ 無情報ではなく情報がほとんどない分布の方が適切。平均0、分散10の正規分布など ⚫ 用途によって適切な事前分布は異なる ⚫ 階層パラメータには半コーシー分布を使うほうがよい 43 43
  34. ノンパラメトリック回帰 ⚫特定の確率分布を想定せず、データからモデルなどを推定する手法 ⚫ 関数が複雑だと結果の解釈も難しい ⇒「説明」よりも「予測」向き ⚫ 解析的に解けないことが多く、解の探索が必要 ⇒ 結果にブレがあり確 定しない

    ⚫一般化加法モデル(GAM) ⚫ 平滑化スプライン関数などを使い曲線フィッティングを行う ⚫ 近年、時系列予測でよく使われている prophet もこれがベース ⚫ 交差検証を使って良い予測をする関数を見つけ出す ⚫ データの抜けや突然の変化にも強い ⚫ 説明変数間の相互作用を考慮できる GA2M というものもある ⚫機械学習による回帰分析 ⚫ 機械学習で使われる手法を使って回帰曲線を推定する方法 ⚫ SVR(サポートベクター回帰):SVMを使い回帰曲線を推定する ⚫ 決定木回帰:決定木を使って回帰曲線を推定する ⚫ ニューラルネットワーク回帰:NNを使い回帰曲線を推定する 44 44
  35. モデルを組み合わせる ⚫見積は複数を組み合わせるのが良いとされる ⇒ 根拠がある ⚫ 異なるモデルの結果の平均を取ると予測が改善される ⚫ 単一の最適モデルよりも良い場合が多い ⚫ それぞれのモデルが想定していない状況に対処できる

    ⚫モデル平均: 単純平均が意外にもかなり良い結果をもたらす ⚫ 複数のモデルの結果を単純に平均することで精度が改善できる ⚫アンサンブル学習: 機械学習で使われる手法 ⚫ 単純なモデルを大量に作り平均を計算する ⚫ 決定木モデル ⚫ 速度が速く結果も良いとされる LightBGM や XGBoost もこれ ⚫ 外れ値や欠損データにも強い 45 45
  36. 時系列分析 ⚫時系列データの特徴=強い自己相関 ⚫ ある時点のデータは過去のデータに依存している ⚫ 時系列データならではの特徴も多い ⚫ トレンド(長期的な趨勢)がある ⚫ 周期的変動(月の日数や季節ごとの気温の影響など)

    ⚫ 外部要因(制度変更など)の影響が残る ⚫ ランダムなノイズの影響が蓄積される(ランダムウォーク) ⚫ 時系列で依存性があるので交差検証も工夫が必要 47 47 トレンド 周期的変動 外部要因 ランダムショック
  37. データの定常性 データが定常でなければ正しく分析できない ⚫定常:一定範囲をばらつくデータであること ⇒ 定常でないデータは過去との差分を取って定常化する ⚫ ただし、差分をとると本来の関係が見えなくなるので、適用する のは非定常のデータ限定 ⚫ 「共和分」と呼ばれる、足し合わせると定常になるような長期的

    な関係性がある場合には、差分を取るだけではダメ ⚫単位根検定 ⚫ データが定常かどうか判定する検定手法 ⚫ ランダムウォークと区別できるか調べる ⚫共和分検定 ⚫ 共和分があるか判定する検定手法 ⇒ 共和分がある場合は、ベクトル誤差修正モデルを使う 49 49
  38. ARIMAモデル ARIMA = AR+I+MA ⚫時系列分析に使用される代表的なモデル ⚫AR:自己回帰 ⚫ データはその過去から計算できる ⚫I:和分 ⚫

    データは前期からの差分を足し合わせて計算される ⚫MA:移動平均 ⚫ データは過去のランダムノイズの蓄積に影響される ⚫ARIMAの拡張 ⚫SARIMA:周期性を追加可能に ⚫ARIMAX:外生変数を追加可能に ⚫ARFIMA:差分階数を実数値で指定できるようにすることで階 差の悪影響を緩和可能に 50 50
  39. VARモデル VAR = ベクトル(V)自己回帰(AR) ⚫時系列の多変数(=ベクトル)を同時に分析する場 合に使うモデル ⚫経済計量分析でよく利用される ⚫VARIMAモデル(=ARIMAモデルのベクトル版)もあるが、 一部の係数が一意に決まらないなど実務上の問題があり、 ほとんど使われないらしい

    ⚫TVP-VARモデル:VARでは係数は変化しないことが仮定さ れているのに対し、係数がランダム・ウォークするなど一 定の変動するモデル ⚫グレンジャー因果性検定 ⚫VARモデル変数間の因果関係を推定する手法 ⚫グレンジャー因果は、因果関係そのものではなくより良い ヒントにすぎないことに注意 51 51
  40. 状態空間モデル (SSM) ⚫モデルを「状態モデル」と「観測モデル」に分ける ⚫ 状態モデル:真の状態を表現したモデル ⚫ 観測モデル:実際に観測される値を表現したモデル ⚫トレンドや周期的変動も観測誤差と考える ⚫ 不要な成分は観測誤差として統一的に扱えるため分析の自由度が高い

    ⚫ 推定はフィルタを使う方法とMCMC(マルコフ連鎖モンテカルロ法)を使う方法がある ⚫ 逐次処理が必要な場合はフィルタ(カルマンフィルタなど) ⚫ 一括処理できる場合はMCMC 52 52 時刻 真の 状態 真の 状態 真の 状態 真の 状態 観測値 観測値 観測値 観測値
  41. 関数データ解析 ⚫系列データを関数化し、関数のまま解析する ⚫ 時系列データのままだと間隔や欠損の扱いが難しい ⚫ 時系列データを平滑化して関数データにする ⚫ Bスプライン関数やウェーブレット関数、混合効果モデルなど ⚫ 目的変数だけ、説明変数だけ、両方を関数化するパターンがある

    ⚫ データと違い微分できる ⚫ 関数化したデータを使って従来同様の分析をするための手法群 ⚫ 関数データに対する記述統計 ⚫ 関数データ回帰分析 ⚫ 関数データ主成分分析 ⚫ 関数データクラスター分析 などなど 53 53
  42. クラスター分析 ⚫ 複数のグループに差があるか調べたい ⚫ 分散分析: 複数のグループが同じなのか、違うのかを検定を使って判定する ⚫ 一元配置分散分析: 複数のグループの母平均に差があるかを調べる ⚫

    二元配置分散分析: 2つの要因(因子)によって複数のグループの母平均に差があるか、要 因の相乗効果(交互作用)があるかを調べる ⚫ データから似たものを集めてグループ分け(分類)したい ⚫ 階層クラスター分析: データごとの距離によって分割を繰り返し階層化することでグループ に分ける ⚫ 重心法、メディアン法、ウォード法 ⚫ 非階層クラスター分析: 距離関数を使わずグループを分ける ⚫ k-means (k平均)法: 指定した k 個のクラスタに分割 ⚫ エルボー法: 残差平方和の変化を使いクラスタ数を推定する ⚫ 理論的に適切ではなく、誤った結論を導くことが多いので推奨されない ⚫ X-means 法: BIC を使いクラスタ数を推定する ⚫ ロジスティック回帰を使う ⚫ 回帰モデルだが2群の分割にはよく使われる ⚫ 分類の評価 ⚫ 数値による評価:正答率、LogLoss、AUC、マシューズ相関係数、重み付きカッパ係数 ⚫ 視覚的評価:シルエット分析 55 55
  43. 時系列クラスター分析 ⚫複数の系列の類似性を調べたい ⚫ 時系列データの比較は難しい ⚫ 強い自己相関 ⚫ 周期変動や外部要因、ランダムノイズ ⚫ スケールの違いや反応するタイミングのずれ

    ⚫ 何の類似性を知りたいのかによって手法が変わる ⚫ 時点データの類似性 ⚫ ユークリッド距離を使った比較 ⚫ 周波数の類似性による比較 ⚫ 時系列形状の類似性 ⚫ DTW(動的時間伸縮法)距離を使った比較 ⚫ 最長共通部分列を使った比較 ⚫ 変化点の類似性 56 56
  44. 因果関係を特定するには 厳密には特定は不可能 ⚫ ある時点では因果関係のように見えても偶然かもしれない ⚫ 過去、1しかでたことがないサイコロがあったとしても、次の瞬間には成立しな いかもしれない ⚫ うまく予測できるからといって因果関係があるとは限らない(隠れた共通要 因)

    ⚫ そもそも因果関係のすべての必要条件が何かはわかっていない ⇒ 科学哲学の世界 ⚫ それでも必要条件の一部を満たすかは確認できる ⚫ミルの三原則 ⇒ 因果関係があるとみなせる条件として有名 ⚫ 時間的先行性: 原因Xは結果Yよりも時間的に先行していること ⚫ 共変関係: 原因Xが変化すると結果Yも変化すること ⚫ 交絡要因の除去: 結果Yに影響する要因が原因X以外にないこと 58 58 線形回帰分析などで因果関係を特定できるのは、手法の外側で 時間的先行性や交絡要因の問題を解決していることが前提
  45. 統計的因果推論とは 反事実モデルを使って統計的に介入効果を推定する ⚫反事実モデル 1. Aを実施する ⇒ Bが起きる/起きない 2. Aを実施しない ⇒

    Bが起きる/起きない ➢ 特定の事象としては、1か2どちらかの結果しか得られないが、多数の事象を集めれば 両方の結果が得られる ➢ 介入を契機に因果関係を特定する • 因果関係に介入は必要ではないが、介入があれば因果関係が確認できる (男女差には介入できないが、男女差を原因とする現象はある) ➢ 上記の事象“以外”の影響がランダムあるいは調整して除去できれば、ミルの三原則を 満たせそうか推測できるのでは? • 時間的な先行関係 ⇒ 反事実モデルによる仮想的な介入 • 共変関係 ⇒ 統計的に検定し有意性を確認 • 交絡要因の除去 ⇒ ランダム化/調整による交絡の除去 ⇒ 交絡要因が除去しても効果が残るなら因果関係があるとみなす 59 59
  46. 統計的因果推論の手法 ⚫ 実験計画を工夫して交絡要因を除去する手法 ⚫ ランダム化比較試験(RCT) ⚫ 自然実験 ⚫ 共変量を調整してマッチングする手法 ⚫

    傾向スコア・マッチング ⚫ 操作変数法(IV) ⚫ 回帰不連続デザイン(RDD) ⚫ 差分の差分法(DID)、合成コントロール法(SCM)、Casual Impact ⚫ 周辺構造モデル(MSM) ⚫ Casual Forest: ランダムフォレストを使った因果推論手法 ⚫ 因果構造を分析して除去が必要な交絡要因を見つける手法 ⚫ 因果ダイアグラム(DAG)、バックドア/フロントドア基準 ⚫ 統計的因果探索 ⚫ 因果探索では、どのような因果構造があるかをデータから推測する。 ⚫ 因果推論は、あくまで先に用意した因果構造において介入効果があるかを確認する手 法 ⚫ LiNGAM:誤差の偏りをヒントに因果ダイアグラムを推測する手法 60 60
  47. 参考文献 ⚫ Takashi J. OZAKI「『統計学と機械学習の違い』はどう論じたら良いのか」など ⚫ 小杉考司「Cauchy分布について」 ⚫ 佐藤俊夫「回帰分析の語源」 ⚫

    林岳彦「因果関係がないのに相関関係があらわれる4つのケースをまとめてみたよ」など ⚫ アレックス・ラインハート「ダメな統計学」 ⚫ 高橋 将宜、渡辺 美智子「欠測データ処理」 ⚫ himaginary「新発見の統計的有意性のp値の閾値は5%から0.5%に下げよ」 ⚫ 久保拓弥「GLMM の紹介 - GLM→GLMM→階層ベイズモデル」 ⚫ Logics_of_Blue「時系列データへの回帰分析」 ⚫ Hiroshi Shimizu「MCMCでマルチレベルモデル」 ⚫ 山口順也「一般化線形モデル (GLM) & 一般化加法モデル(GAM)」 ⚫ 吉田 寿夫、村井 潤一郎「心理学的研究における重回帰分析の適用に関わる諸問題」 ⚫ MARC F. BELLEMARE「Metrics Monday: What to Do Instead of log(x +1)」 ⚫ Erin Leahey「Alphas and Asterisks: The Development of Statistical Significance Testing Standards in Sociology」 ⚫ Xiaoqian Wangら「Forecast combinations an over 50-year review」 ⚫ Hidetoshi Matsui「関数データ解析の概要とその方法」 ⚫ 10001 IDEAS「時系列クラスタリングの研究サーベイ論文を読んだ」 ⚫ hoxo_m「階層モデルの分散パラメータの事前分布について」 ⚫ Stan Wiki「Prior Choice Recommendations」 ⚫ 餡子鈴の倉庫 「コーシー分布とのつきあい方」 62 62