狠狠撸

狠狠撸Share a Scribd company logo
確率統計
-機械学習その前に-
伊津野 英克
hidetkatsu.izuno@gmail.com
Version 1.02
なぜ確率統計を学ぶのか
?システム開発に確率統計なんて使うの?
1. プロジェクトやログデータの分析
?必要になったときにトンチンカンな分析をしてしま
わないように最低限の理解は必要
2. 機械学習の基礎として
?機械学習と確率統計はベースが同じ
?線形回帰だって立派な機械学習のひとつ
2
確率統計?機械学習の違い
?確率統計:データを「説明」する手法
?例:あるシステムは10人月で出来た。開発工数は一般的
なレベルだろうか
?機械学習:データを「予測」する手法
?例:あるシステムは10人月で出来た。別のシステムなら
何人月で出来るだろうか
3
データがあらわれた。どうする?
※目的は違うけれども道具立てにはかぶるところも多い
データを要約する
4
平均値?中央値?最頻値
?データの要約値としては平均値がよく使われる
?正規分布するなら平均値≒中央値≒最頻値
?中央値=データを順番に並べて中央に位置する値
?正規分布しないものは中央値の方が実感に近いとされる
5
正規分布の例
(中央値と平均値と最頻値がほぼ同じ)
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
非正規分布の例
(中央値と平均値と最頻値が全然違う)
なぜ正規分布はよく使われるのか
?ある値を中心にランダムなばらつきがある?正規分布
?中心極限定理:繰り返すと誤差が正規分布に近づいていく
?大数の法則:繰り返すと平均に近づいていく
?大成功した翌年に調子を崩す、大失敗した翌年は奮起した、
というようなケースは実際にはこれかもしれない
?情報がない場合には正規分布(や一様分布)が仮定される
?意図がない?偏りがない?ランダムな分布
?統計手法には正規分布が仮定されているものも多い
(例:回帰分析)
?実際には正規分布を仮定できない場合も多い。例えば、シス
テム開発の工数は上がりやすく、下がりにくいので誤差が正
規分布に従わない。
6
データの関係を調べる
7
相関分析
?相関係数:平均値から各点の乖離を足し合わせて、-1~1の範囲
に正規化したもの
? 1に近いほどプラス方向に強い関係
? -1に近いほどマイナス方向に強い関係
? 0は無相関
8
2変数の関係を簡単に分析できる
永岡 淳一 散布図と相関係数?回帰分析(http://www.cuc.ac.jp/~nagaoka/2011/ouyou/10/expr/index.html)より引用
相関が大きい=因果関係がある?
?高い相関係数のデータが見つかる?因果関係があるのでは?
9
「科学?宇宙技術への投資金額」と「自殺率」の関係を示したデータ
? 単なる偶然!
Spurious Correlations(http://www.tylervigen.com/spurious-correlations)より引用
相関が大きい=因果関係がある?
相関関係は因果関係を意味しない
?隠れた共通要因
? アイスクリームが売れると水死者が増える
? 「暑い夏」という共通要因
? 朝食を食べる子供は成績がいい
? 「良好な家庭環境」という共通要因
?逆の因果関係
? 会社への満足度が高いほど業績も好調
? 業績が好調な職場自体が高い満足度をもたらす
? 癌での死亡率が増加している!
? 他の病気で死ぬ人が減って長生きになったため
?選択バイアス
? サッカー場でスポーツ振興についてのアンケートを取る
? 母集団にすでに偏りがある
? サンプル数が少ない
? 一部の特徴あるサンプルに強い影響を受ける
10
回帰分析
?例えば、機能数と工数の間の関係を調べたい
?散布図を書いて線を引く ? (単)回帰分析
?誤差の2乗和が最小になるように線を動かす
11
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」を加工したもの
回帰分析でわかること
?傾きと切片
? 結果=傾き?原因+切片
? 原因=説明変数、結果=目的変数、傾きは係数、切片は定数項と呼ばれる
? 先ほどの例だと「人時工数=97?機能数+25000 」
? 切片は常に0と仮定し原点を通る前提で求めることも出来る
傾きや切片はEXCELを使うと簡単に求められる。
?決定係数(R2)
? 当てはまりの良さを表す指標値。1に近いほど当てはまりはいい
? おおむね相関係数の2乗と捉えていい(厳密にはいろいろある)
? 先ほどの例だと R2 = 0.08 ? 当てはまりは良くない
決定係数もEXCELで簡単に求められる
?有意性(p値)
? 効果がないのに効果があるとしてしまっていないかを判断する指標値。小さいほど有
意性が高い。
? 一般に p値<0.05 以下で統計的有意であると呼ばれる(5%有意)
? 先ほどの例だと p値 =0.00000002 ? 有意
p値などを求める場合は、RやPythonを使う(EXCELでも計算できなくはない) 12
EXCELで回帰分析
?原因と結果の2つのデータ列を選択し、グラフ(散布図)を挿入
? 「グラフ要素を追加」から「近似曲線」?「線形」を追加
? 「近似曲線のグラフ設定」で式と決定係数を表示できる
13
回帰分析は一番簡単な
「機械学習」でもある
【余談】係数導出の考え方
?回帰分析に限らず係数導出は同じパターンで考えられる
1. 入力と出力をつなぐモデルを考える
? 回帰分析であれば一次式、ディープラーニングであればニューラルネット
? 単純なモデルで十分な場合に複雑な手法を使う必要はないし、むしろ単純なモ
デルの方が適切な結果が高速に得られる
2. モデルと実際の出力の差が最小になるように係数を最
適化(=最小値を探索)する
14
モデル 出力入力
係数
係数
出力の差
重回帰分析
?重回帰:複数の説明変数に対する回帰
? 基本的には単回帰と同じ考えを多次元に拡張しただけ
? 性別なども1/0で代替することで分析できる(ダミー変数)
?説明変数が複数になったことで問題も発生
? 説明変数が多すぎる ? 推定の自由度が上がってしまう
? ステップワイズ回帰、ラッソ回帰で説明変数を削減
? 説明変数同士が独立ではない ? 多重共線性にて推定性能が悪化
? 主成分回帰、部分最小二乗回帰、リッジ回帰で独立な形に変換
? 両方の問題に対応した Elastic Net やそれらのパラメータを機械学習
で推定するサポートベクター回帰などもある
?自由度調整済み決定係数
? 通常の決定係数は変数が増えると1に近づく性質がある
? 説明変数の数で正規化
15
その他の回帰分析手法
?ロバスト回帰
? 回帰分析は外れ値の影響を受けやすい
? 外れ度合いに応じて説明変数に重みを付ける
?分位点回帰
? 25%分位点、50%分位点、95%分位点などデータの分布範囲ごとに直
線を導出できる
? 誤差の分布に偏りがあるシステム開発関係のデータを分析するのに向
いている
16
結論を確認する
17
検定
?検定:分析結果が妥当か評価すること
?関係があるように見える ? 単なる偶然かも
?偽陽性(第一種の過誤)
? 関係がないのに、あるとしてしまう間違い
? p値はこの偽陽性を判定する検定を行った結果として得られる基準値
? 検定方法は想定する分布に応じて様々なものがある
? t 検定、カイ二乗検定、F検定、U検定、などなど
?偽陰性(第二種の過誤)
? 関係があるのに、ないとしてしまう間違い
? 偽陽性と偽陰性にはトレードオフがある。偽陽性を重視すると偽陰性
が発生する可能性が増す。
18
有意である=因果関係がある?
?p値はよく使われるが完璧な指標ではない
? p値は扱いやすいので普及しているが、問題があるとの指摘も多い
? アメリカ統計学会「統計的優位性とp値に関する声明」(2016)
? サンプル数を増やすと有意と判定されやすくなるという特徴がある
? 有意である ? 効果が 0 ではないことがわかるだけ
? 効果の強さは何もわからない
? 有意であるが決定係数が低いなら、誤差程度の関係しかないとも言える
? 逆に有意ではない=因果関係がない、とも言えない
? 有意水準 5% では、偽陽性を十分に排除できない
? 有意水準 0.5% に設定すべきという提言がなされている(2017)
? 心理学論文の半数は再現性に問題があるとするデータもある
19
有意である=因果関係がある?
?回帰分析には前提がある?前提を満たさないと使えない
?サンプル数が十分にある
? 少数のデータだと偏ったサンプルになっている可能性がある
?データの発生源に偏りがない
? 基準を設けて分割したり選び出したりすると、人工的な偏りが
生まれる
? 収集後だけでなく、データの収集時にも偏りが出ないように気
をつける必要がある
?データがすべて独立
? 独立=個々のデータには相互に関係がないということ
? 同じデータを水増しすると有意にできるが、独立ではないない
ので分析の意味がなくなる
? 時系列データも独立ではない(時間的自己相関)
20
じゃあ、どうすればいいの?
1. 他の方法を使う
? 効果量の信頼区間:統計学者おすすめの方式
? 効果量:サンプル数に依存せずに関係の強さを表すことができる指標
? ベイズ統計を使う:仮説が正しい確率を直接的に計算できる
? いずれも p値ほど簡単に使えるものではない
2. 気にしない
? 論文書くならともかく、業務ならもっとカジュアルに使えばいい
? たいていの場合、因果関係があるかないかは自ずと明らか
? データを眺めるだけでも気づきがある
? そもそも、未知の要因は無数にあるため、因果関係を機械的な方法だ
けで判定するのは無理がある
? とはいえ、因果関係がある! と決めつける前に「そうでない可能
性」がないかは検討したほうがいい
? 特に時系列データには注意が必要 21
時系列の関係を調べる
22
時系列分析
?時系列データの特徴=強い自己相関
?現在は過去に依存する
?周期性や季節性がある(月の日数や気温)
?ランダムショックの影響が蓄積する
? データの独立性がない
?業務データは時系列データが多い
?時系列データをランダムウォークに対し回帰分析すると
強い関係性が得られる(みせかけの回帰)
?拡販費と売上の推移のようなデータをそのまま分析する
と間違った結論を導くことになる
23
単位根検定
データ列が分析可能(定常)であるかを確認する手法
?定常:一定範囲をばらつくデータであること
?定常でないデータは過去との差分を取って定常化する
? 定常データの差分をとると本来の関係が見えなくなってしまうので、
非定常なことを確認して実行する
?共和分検定
?共和分:足し合わせると定常になるデータがあること
? それぞれのデータは定常ではないが、複数のデータの足し合わせが定
常になる場合、みせかけの回帰が起こらない
? みせかけの回帰が起こらないだけで、分析が正しく行われているわけ
ではない。ベクトル誤差修正モデルを使う
24
ARIMAモデル
ARIMA = AR+I+MA
?AR: 自己回帰
?現在は過去の値に影響される
?I: 和分
?過去との差分を取り、トレンドや周期性を取り除く
?MA: 移動平均
?現在は過去のノイズの蓄積に影響される
25
VARモデル
VAR = ベクトル(V)自己回帰(AR)
?時系列の多変数(=ベクトル)を同時に分析す
る場合に使うモデル
?経済計量分析でよく利用される
?VARIMAモデルもあるが、一部の係数が一意に決まら
ないなど実務上の問題があり、ほとんど使われない
らしい
?グレンジャー因果性検定
?VARモデル変数間の因果関係を推定する手法
26
参考文献
? Takashi J. OZAKI「統計学と機械学習の違い」はどう論じたら良いのか」
? http://tjo.hatenablog.com/entry/2015/09/17/190000
? 佐藤俊夫「回帰分析の語源」
? http://satotoshio.net/blog/?p=1264
? 林岳彦「因果関係がないのに相関関係があらわれる4つのケースをまとめてみたよ」など
? http://takehiko-i-hayashi.hatenablog.com/entry/20130418/1366232166
? http://takehiko-i-hayashi.hatenablog.com/entry/20130902/1378119705
? アレックス?ラインハート「ダメな統計学」
? http://id.fnshr.info/2014/12/17/stats-done-wrong-toc/
? himaginary「新発見の統計的有意性のp値の閾値は5%から0.5%に下げよ」
? http://d.hatena.ne.jp/himaginary/20170829/Redefine_Statistical_Significance
? Logics_of_Blue「時系列データへの回帰分析」
? https://logics-of-blue.com/time-series-regression/
27

More Related Content

确率统计-机械学习その前に