1

データサイエンス概論I＆II
予測と回帰分析

九州大学 数理・データサイエンス教育研究センター

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

2

データを用いた「予測」

だれでも予測をしながら生きている．
でも正直，正確な予測は，現代でも難しい
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

3

身近な予測①
未来の予測
 試験の勉強 過去の傾向からみて，明日はきっとこの問題が出るだろう スポーツ 次はストレートを投げてくるに違いない 買い物
 この値段・素材のものを買えば，5年は大丈夫だろう 天気予報 過去の天気データを用いて，明日以降の天気を予測

他にも…
•株価の予測•競馬等のギャンブル•就職活動などなど
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

4

身近な予測②
未来ではなくても，「だろう」がつけば全部「予測」
 画像認識 (無意識に)「この動物は犬だろう」
 (無意識に)「あ，機嫌が悪そうだ」
 この本（表紙とタイトル）は，きっと面白いだろう「見た目」（画像）がすべてではない．
それでも我々は（ある程度正確に）「これは何だ！」と予測して生きている！

 推量・診断 これぐらい勉強すれば，これぐらいの点数は取れるだろう この体温ならば，インフルエンザだろう 因果推論(＝こういう結果になったのはこういう原因があったからだ) 警察の推理，故障原因の推定，考古学
 推薦
 このユーザーなら，この商品なら買ってくれそう！

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

5

データを用いた予測の方法：
難しそうに感じるかもしれませんが，みんな無意識にやっていることです

予測モデルを作成

年

平均気温

過去のデータ準備

後述（回帰分析）

平均気温

平均気温

 未来を予測する場合

予測
未来

年

年

今年

体温

予測モデルを作成

体温

インフルの重症度

過去のデータ準備

インフルの重症度

インフルの重症度

 （未来に限らない）より一般的な予測の場合
予測

体温九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

6

予測モデルのうれしいところ10回分のデータ

体温

インフルの重症度

インフルの重症度

 過去になかった状況に対しても予測可能
データにない(=見たことない)ケースでも予測が可能に！

体温 我々人間も，過去の数回の経験(=データ)に基づいて，未知の状況でも何らかの予測を行いながら生きてる！

 「以前こうなったから，今回はたぶんこうなる」という知識が皆さんの「予測モデル」
 例：医師も，他の患者の診察結果に基づいて，初診の患者を診察している
 例：見たことのないタイプの犬でも，過去に見た犬に基づき，犬とわかる
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

過去のデータ準備

体温

体温“柔らかい”
モデル

適切な予測モデルを選ぶのも，腕の見せ所

体温

インフルの重症度

体温予測

インフルの重症度

インフルの重症度

体温

インフルの重症度

インフルの重症度“固い”
モデル

予測モデルを作成

インフルの重症度

インフルの重症度予測モデルは様々考えられる．そして，モデルによって予測結果は異なる(精度が違う)

7

体温

体温

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

8

さらに…
同じ予測モデルでも，「あてはめ方」は色々
 例えば同じ「まっすぐな予測モデル(線形予測モデル)」でもデータへの「あてはめインフルの重症度インフルの重症度方」は色々考えられる

体温

緑が一番よさそう..
体温 なるべく多くのデータを正確に予測できるように，適切にあてはめる必要がある

 後述する「最小二乗法」が一般的
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

9ちなみに，小学生でも予測をやっている！
折れ線グラフ，実は最も単純な「予測」
 予測モデル＝折れ線

 未測定の勉強時間(ex. 25分)でも点数を予測可能(63点ぐらい)
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

10

しかし予測は難しい！
 過去のデータを十分に集められない場合がある 「あなたの10年後の給料」を予測するためには，「あなたと似たような人」を

 予測結果を決める要因が不明な場合がある インフルの重症度は体温だけでよいのか？
 上記の「10年後の給料」予測に必要な要因は？

インフルの重症度

たくさん集める必要がある

 天気予報のように要因がほとんど無限に存在する場合もあり要因
体温 現時点と予測時点では状況が違う場合がある
 2年後に突然不況が起こったら，「10年後の給料」予測結果は外れる ＝いつまでも同じ予測モデルが使えるとは限らない専門家でも，予測は難しい

 どの予測モデルを使えばよいかは，自明ではない… など様々な難しさがある！

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

11

回帰による予測

すでにお伝えしたことをもう一度
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

12

回帰による予測（ステップ1/3）:
データ収集
結果

入力

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

13

回帰による予測（ステップ1/3）:
データ収集の例
試験の点数

A君の
データ

B君の
データ

E君
D君
C君

勉強時間

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

14

回帰による予測（ステップ2/3）:
モデルあてはめ
結果

これ大事

入力
モデル＝「条件 or 入力」と「結果」間に成り立つと予想される関係．
上記は「線形モデル」
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

15

回帰による予測（ステップ3/3）:
予測
結果

入力
この入力に対する予測値がほしい(ex. 勉強3時間だと何点取れそう？)
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

16

回帰による予測（ステップ3/3）:
予測
結果

予測値(65点)入力
この入力に対する予測値がほしい(ex. 勉強3時間だと何点取れそう？)
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

17

回帰分析とは いくつかの（入力，結果 ）の事例に基づいて， それらの関係をモデル化することで， 新たな入力に対して，その結果を予測する方法．
 専門的な用語としては
 入力→説明変数
 結果→外的変数
 とか言ったりしますが…

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

18「モデルあてはめ」の方法

最小二乗法で解く！
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

19

どういう「あてはめ結果」が望ましい？(1/3)
結果

入力

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版20

どういう「あてはめ結果」が望ましい？(2/3)
結果

これが小さいほうがよい
あてはめ誤差入力
෍ 第𝑖データのあてはめ誤差 →最小化𝑖

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

21

どういう「あてはめ結果」が望ましい？(3/3)
結果 𝑦

二乗誤差で「あてはめ誤差」を定義

𝑦𝑖 − 𝑎𝑥𝑖 + 𝑏

2𝑥𝑖 , 𝑦𝑖𝑦 = 𝑎𝑥 + 𝑏𝑥𝑖 , 𝑎𝑥𝑖 + 𝑏𝑥𝑖

𝑎と𝑏をいじって ෍ 𝑦𝑖 − 𝑎𝑥𝑖 + 𝑏𝑖

入力 𝑥2を最小化

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

22

これを「最小二乗法」と呼ぶ
二乗誤差を最小にしたいから最小二乗法𝑎と𝑏をいじって ෍ 𝑦𝑖 − 𝑎𝑥𝑖 + 𝑏

2を最小化

𝑖

どうやって？？
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

23

最小二乗法，どう解く？
まず問題をよく見る(1/3)
最小化したいもの෍ 𝑦𝑖 − 𝑎𝑥𝑖 + 𝑏2𝑖= ෍ 𝑦𝑖 − 𝑎𝑥𝑖 + 𝑏𝑦𝑖 − 𝑎𝑥𝑖 + 𝑏

落ち着いて考えれば= ෍ 𝑥𝑖2 𝑎2 − 𝑦𝑖 − 𝑏 2𝑥𝑖 𝑎 + 𝑦𝑖 − 𝑏 2 𝑎に関する2次関数𝑖𝑖= ෍ 𝑥𝑖2 𝑎2 − 2 ෍ 𝑦𝑖 − 𝑏 𝑥𝑖 𝑎 + ෍ 𝑦𝑖 − 𝑏𝑖𝑖

2𝑖

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

24

最小二乗法，どう解く？
まず問題をよく見る(2/3)
最小化したいもの෍ 𝑦𝑖 − 𝑎𝑥𝑖 + 𝑏2𝑖= ෍ 𝑦𝑖 − 𝑎𝑥𝑖 − 𝑏𝑦𝑖 − 𝑎𝑥𝑖 − 𝑏

落ち着いて考えれば𝑏に関しても2次関数𝑖= ෍ 𝑏 2 − 𝑦𝑖 − 𝑎𝑥𝑖 2𝑏 + 𝑦𝑖 − 𝑎𝑥𝑖 2𝑖= ෍ 1 𝑏 2 − 2 ෍ 𝑦𝑖 − 𝑎𝑥𝑖𝑖

𝑖𝑏 + ෍ 𝑦𝑖 − 𝑎𝑥𝑖 2𝑖

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

25

最小二乗法，どう解く？
まず問題をよく見る(2/3)෍ 𝑦𝑖 − 𝑎𝑥𝑖 + 𝑏2𝑖𝑎方向から見ても2次関数𝑏方向から見ても2次関数𝑏𝑎ということは…

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

26

最小二乗法，どう解く？
要するに誤差はこんな形になっています誤差෍ 𝑦𝑖 − 𝑎𝑥𝑖 + 𝑏

2𝑖

この(𝑎, 𝑏)がベスト
誤差大この(𝑎, 𝑏)はイマイチ𝑏
誤差最小𝑎
ベストは１か所→ベストな「モデルあてはめ」は一つ！
(by 一か所だけ出っ張った二次関数の美しい特性)
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

27

最小二乗法，どう解く？
解き方の細かいところ
𝑎と𝑏をいじって ෍ 𝑦𝑖 − 𝑎𝑥𝑖 + 𝑏2を最小化𝑖

解き方(要は「極値なら微分してゼロ」という条件)
2
𝜕 σ𝑖 𝑦𝑖 − 𝑎𝑥𝑖 + 𝑏

𝜕𝑎𝜕 σ𝑖 𝑦𝑖 − 𝑎𝑥𝑖 + 𝑏
𝜕𝑏=02=0

高校時代
二次関数の極値問題を解かされたな...

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

28

主成分分析と回帰分析の違い：
どちらがいい・悪いというものではなく，目的からして全く違う
要素 𝑥2

第1主成分=分布の近似方向

要素 𝑥1

主成分分析
要素 𝑥1 , 𝑥2 を交換しても同じ

結果 𝑦

回帰直線=
入力と結果の関係

入力(原因)𝑥(線形)回帰分析
入力
𝑥と結果𝑦を交換すると違う直線
九州大学
数理・データサイエンス教育研究センター／ 2022年9月版

29

重回帰分析
重たくないのに入力＝複数の変数
結果＝単一の値
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

30

重回帰による予測（ステップ1/3）:
データ収集
バスケット
ボールの得点B君のデータ

A君のデータE君

体重𝑥2
入力が二次元に身長𝑥1
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

31

重回帰による予測（ステップ2/3）:
モデルあてはめバスケットボールの得点

B君の
データ

E君

A君の
データ
体重𝑥2

身長𝑥1
→ やはり最小二乗法になります
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

32

重回帰による予測（ステップ3/3）:
予測
バスケット
ボールの得点

12点

体重𝑥2

身長𝑥1
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

33

余談：なんで「重」回帰？ 何か重たいのか？
 英語では Multiple regression analysis
 このmultipleを「重」と訳した
 Regression analysis = 回帰分析
 Multiple＝「複数のものを(同時に)」という意味合いか というわけで「何かが重たい」わけではない

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

34

より複雑なモデルの利用

多項式モデル
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

35

回帰分析は「線形モデル」だけじゃない：2次関数モデル
結果

2𝑦 = 𝑎𝑥 + 𝑏𝑥 + 𝑐
入力
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

36

回帰分析は「線形モデル」だけじゃない：
𝑁次多項式モデル結果

全データを通過→誤差ゼロ
でも...これOK？
(この点，後述)

入力

𝑦 = 𝑎𝑛 𝑥 𝑛 + 𝑎𝑛−1 𝑥 𝑛−1 + ⋯ + 𝑎1 𝑥 + 𝑎0
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

37

回帰分析で注意したい点

アウトライヤとオーバーフィット
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

38

アウトライヤ(はずれ値)の悪影響(1/3)
アウトライヤ
結果 𝑦• センサの異常• 測定ミス• イイカゲンな返答

入力 𝑥
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

39

アウトライヤ(はずれ値)の悪影響(2/3)
アウトライヤ
結果 𝑦

アウトライヤも等しく扱うためにこうなる

こちらのほうがよさそうだが...

入力 𝑥
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

40

アウトライヤ(はずれ値)の悪影響(3/3)
対策：「ロバスト最小二乗法」
 ロバスト(robust)=頑健

結果 𝑦
第一回目のあてはめ結果

入力 𝑥
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

41

アウトライヤ(はずれ値)の悪影響(3/3)
対策：「ロバスト最小二乗法」

結果 𝑦

依然として
誤差大

第一回目のあてはめ結果

入力 𝑥
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

42

アウトライヤ(はずれ値)の悪影響(3/3)
対策：「ロバスト最小二乗法」

結果 𝑦
第一回目のあてはめ結果

このデータについては誤差があっても小さめに評価しよう！

入力 𝑥
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

43

アウトライヤ(はずれ値)の悪影響(3/3)
対策：「ロバスト最小二乗法」

結果 𝑦
第2回目のあてはめ結果

このデータについては誤差があっても小さめに評価しよう！

入力 𝑥
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

44

オーバーフィッテイングと汎化能力(1/3)
結果予測値(いいの？)

入力

事前に与えられたデータにとってはハッピーだが未知データにとっては使い物にならない(オーバーフィット)
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

45

オーバーフィッテイングと汎化能力(2/3)
 汎化能力(generalization)とは？
 回帰曲線を求めるときには使わなかったデータについても，ちゃんと妥当な予測結果が得られるか？
 だから下の例は「汎化能力」がない例

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

46

オーバーフィッティングと汎化能力(3/3)
高次多項式モデル

線形モデル(良)事前に与えられたデータに対する誤差小さい(悪)大量に事前データがないと回帰結果に汎化能力がない恐れ(悪)事前に与えられたデータに対する誤差大(良) 事前データ数が少なくてもひどいオーバーフィッティングは少ない
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

47

オーバーフィッティングやアウトライヤの影響を見つける方法：バリデーション(validation)
1. 事前に収集されたデータ集合をランダムにA, Bに分ける
2. 集合Aの中のデータを使って，モデルフィッティングを行う
3. 求まったモデルを使い，集合Bのデータがどれぐらいきちんと予測できるかを評価する
 ※集合Bのデータも正解値はわかっている
ダメじゃん…
Aにオーバーフィットしてるな

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版