1
九州大学大学院システム情報科学研究院
データサイエンス実践特別講座
データサイエンス概論第一
第4回 確率分布と検定:
4-1 相関・頻度・ヒストグラム
システム情報科学研究院情報知能工学部門
内田誠一
2
データサイエンス概論第一の内容
 データとは
 データのベクトル表現と集合
 平均と分散
 データ間の距離
 データ間の類似度
 データのクラスタリング
(グルーピング)
 線形代数に基づくデータ解析の基礎
 主成分分析と因子分析
 回帰分析
 相関・頻度・ヒストグラム
 確率と確率分布
 信頼区間と統計的検定
 時系列データの解析
 異常検出
3
相関
「身長が高ければ,体重も重い」傾向
4
相関とは?
Aを聞いてBを知る
55
前にやった「分散」を思い出しましょう
実はあの時ちゃんと言わなかったことが...
6
データの広がり方(=分散)に潜む関係~相関
𝑥1
𝑥2
𝑥1
𝑥2
𝑥1
𝑥2
Case 1
Case 2 Case 3
身長と体重は?
身長と数学の点数は?
身長とバレーボール攻撃失敗率は?
77
データの広がり方(=分散)に潜む関係~相関
 Case 1: 無相関
 𝑥1 →大,𝑥2 →特段の傾向無し
 要するに,𝑥1と𝑥2は無関係
 身長と数学の点数
 Case 2: 正の相関
 𝑥1 →大,𝑥2 →大
 身長と体重
 Case 3: 負の相関
 𝑥1 →大,𝑥2 →小
 身長とバレーボール攻撃失敗率
シーソー的
二人三脚的
88
相関とは?
データの要素間の関係・傾向
Ex. 𝑥1 →大なら𝑥2 →大 ,とか
これは平均では記述できない
各軸独立の分散では記述できない
皆さんがすでに学んだ「主成分分析や回帰分析」も,ある
意味で相関を見つけているわけです
99
多次元(𝑑 > 2)ベクトルの相関
もちろん同じようなことがわかる
関係はより複雑になりうる
右図では
𝑥1 →大,𝑥2 →大,𝑥3 →小
こういう相関関係をどうやって
見つけるか?
主成分分析が便利です!
𝑥1
𝑥2
𝑥3
10
相関係数
相関の程度を測る
1111
相関係数ρ~相関の定量化 (1/3)
簡単のために𝑥1も𝑥2も平均ゼロとする
=分布をずらしただけ
この時,相関を(なるべく簡単な言葉で)定義すると...
𝜌 =
𝑥1 ∙ 𝑥2 の平均値
𝑥1の分散 ∙ 𝑥2の分散
分子が大事
分母は正規化の役目
(標準化)
1212
相関係数ρ~相関の定量化 (2/3)
「𝑥1が定まると𝑥2がどれぐらい定まるか」の指標でもある
 𝑥1と𝑥2の相関が±1 (※)
→どちらかが決まれば他方は一意に定まる
 𝑥1と𝑥2の相関が0
→両者は無相関.一方の値は他方に影響せず
𝜌 =
𝑥1∙𝑥2 の平均値
𝑥1の分散∙𝑥2の分散
=
𝑥1∙𝑎𝑥1 の平均値
𝑥1の分散∙𝑎𝑥1の分散
=
𝑎 𝑥1∙𝑥1 の平均値
𝑎 𝑥1の分散
=
𝑥1∙𝑥1 の平均値
𝑥1の分散
=
𝑥1∙𝑥1 の平均値
𝑥1∙𝑥1 の平均値
= 1
もし𝑥2 = 𝑎𝑥1 すなわち𝑥1が決まれば𝑥2の値は𝑎𝑥1に一意に決まる なら, 𝑎>0の場合
※参考
𝑥1
𝑥2
1313
相関係数ρ~相関の定量化 (3/3)
相関係数ρがわかると,分布の形をある程度想像できる
Wikipedia “相関係数”
𝑥1
𝑥2
14
頻度とヒストグラム
シンプルだが重要なデータ可視化法
1515
頻度~わかりやすい場合
さいころを1000回振って出た目の回数
「1」が168回,「2」が164回, ..., 「6」が164回
5段階アンケートの回答結果の集計
「非常によい」が103名,「よい」が30名,...,
「非常に悪い」が0名
今日のメニュー注文者数
「かつ丼」が58食,「ラーメン」が102食, ...,
「高菜めし」が21食
16
ヒストグラムによる頻度分布の可視化:
さいころを1000回振って出た目のヒストグラム
4の目が出た回数
頻度
164回
それぞれの値のことを
「ビン」と呼ぶ
1717
頻度~そのままでは計りにくい場合(1/2)
あるクラスの学生の身長
..., 167.301cmが0人,167.302cmが1人,
167.303cmが0人,....
ピッタリ同じ身長の人はほぼいないだろうから,頻度は高々1
ある交差点での1日の車の通過台数
..., 1829台が0日,1830台が1日,1831台が0日,....
同じ台数になるというのは,結構ミラクル?
「値が連続的に変化しうる対象」の場合,頻度は計りにくい
1818
頻度~そのままでは計りにくい場合(2/2)
→ 区間を考えればOK
あるクラスの学生の身長
「140cm未満」が1人,「140-145cm」が2人,...,
「160-165cm」が9人, ...
ある交差点での1日の車の通過台数
「1500台未満」が0日,「1500-1600台」が3日,....
頻度がよくわかるように!
(ただし区間幅の設定によって集計結果が変わることに注意)
19
ヒストグラム=頻度分布 (2/2)
あるクラスの学生の身長のヒストグラム
160cm
~165cm
頻度
9人
それぞれの区間のことを
「ビン」と呼ぶ
2020
以上2ケースのまとめ
データ𝑥が取りうる値が有限個(例えば𝐵個)の場合
 𝐵個のビンからなるヒストグラム
1つのビン=1つの値に対応
データ𝑥が取りうる値が無限個の場合
 𝑥の値の全範囲を𝐵個の区間に分ける
 𝐵個のビンからなるヒストグラム
1つのビン=1つの区間に対応
=値が連続的に
変化する場合
2121
2次元ヒストグラムも可能(1/2)
あるクラスの学生の(身長, 体重)
50kg以下
50-60kg
60-70kg
70kg以上
0
2
4
6
8
10
12
14
2222
2次元ヒストグラムも可能(2/2)
ヒートマップで表す場合も
先ほどの(身長, 体重)
もっと本格的(?)なヒートマップの例
Excelの
「条件付き書式」で
簡単にできます
Python +
Matplotlib +
plt.hist2d
2323
参考:相関がある場合の2次元ヒストグラム
これは無相関
正の相関
負の相関
負の相関
𝑥1
𝑥2
𝑥1
𝑥2
𝑥1
𝑥2
𝑥1
𝑥2
2424
参考: 散布図
区間に分けずに連続値の分布をそのまま表す
2次元ベクトル 𝑥, 𝑦 の集合の可視化におすすめ
ただし...
同じ値がたまたま2回以上あってもわからない
データが増えすぎると...
𝑥
𝑦
散布図
ヒストグラム+ヒートマップ

データサイエンス概論第一=4-1 相関・頻度・ヒストグラム