SlideShare a Scribd company logo
1 of 36
A Single Variable:
Shape and Distribution
CAPTURE TWO : Kousuke Takeuchi
Capter Two - Outline
Jitter Plot
Histogram and KDE (Kernel Density Estimates)
CDF (Cumulative Distribution Function)
Rank Order Plots and Lift Charts
Numpy - Vector & Tensor
Jitter Plot
Single Variable
単一変数のデータ分布を観察する際には、どのよ
うなことについて考えるだろうか?
早速2つの例をもとに考えてみよう!
Ex.1 大統領の任期
まずは大統領がホワイト
ハウスに出勤した期間の
データを視覚的に表現し
てみる
3列目のデータが、実際
に大統領が出勤した月数
のデータ
x軸上にデータ点をプロットしてみる
欠点:重複する点がすべて同じ点で表現されてし
まうため、クラスターとなっている部分が視覚的
に確認しづらい
Jitter Plot
Jitter Plot の作成の仕方:先ほど x 軸上にすべての
点をプロットしていたが、 Jitter Plot は少しずらし
てプロットする。(今回はランダムな距離で垂直
方向にずらしていく)
Jitter Plot の 3 つのポイン
ト
データの散布に影響を与えないように、垂直方向
にずらすときはランダムに行うようにする。
"jitter" する場合は必ずデータ点を水平線方向には
動かさないようにしよう
今回はデータ点に空洞の円を採用した。どの点を
打つ場合でも円の半径は同じだ。これによって、
データ点が重なった場合でもある程度見えやすく
なる。
Histogram & KDE
Histogram
データを一定の範囲ごとに分けて「瓶詰め」にし
、「瓶」に入ったデータの総数から「瓶」の高さ
を決定してグラフに表記する
本の説明はわかりにくいので、とりあえず例を元
にヒストグラムを見てみる
Ex.2 サーバーのレスポンス時
間
サーバーがデータベースアクセスのリクエ
ストを受け取った後のレスポンス時間をロ
グファイルに書き込んだものをヒストグラ
ムに表示する。
このファイルに含まれるレスポンス時間の
データは膨大なもので、 1,000 ものデータ
が含まれている。
Histogram - Response
Time
「瓶」についての注意点
どのくらいの横幅にすればよいか、決定的な法則
はない
ただしガウス分布に関しては、 Scott’s rule を適応
するのがよい
w = 3.5 /σ n^(1/3)
( : Standard Deviation, n: Number of points)σ
「瓶」ついてさらに ...
データを瓶に詰め込む際に、データの区切る範囲
に気をつけないといけない場合がある
特にデータの数や範囲が小さい場合に注意する
Histogram の 3 つのポイント
標準化されたヒストグラムでは、ある瓶が全体のうちどのくらいの割合を占
めているのかが視覚的にわかる (* 標準化 : ある瓶の総量を全瓶の総量で割
ってから Histogram を表記する )
瓶内の数値のクラスターレベルに応じて瓶の幅を変えて表記すると、より細
かなクラスターの情報を視覚的に見ることができる
一つのデータ集合を観察するのにはとてもよい。ただし、 2 つ以上のデータ
集合を観察する際には不向きである
KDE (Kernel Density
Estimates)
KDE で標準化 ( ? ) した後にヒストグラムを作成す
ることによって、データをより正確に観察できる
KDE 関数
KDE をデータ集合に合わせる
Gaussian Kernel を使用する際、データの幅や中央
値に合わせて Kernel 関数を変更しないといけない
KDE についての注意点
Box, Epanechnikov Kernel は、範囲外のデータを
引数にとると、すべて0の値をとってしまう
Gaussian Kernel は飛値を代入しても、必ず 0 以外
の数値をとる。 ( ほぼ 0 に近い数値 )
Cumulative Distribution
Function - CDF
CDF: Cumulative
Distribution Function
cdf: 累積分布関数
ある x における cdf(x) は
、それまでのデータをす
べて加算したもの
先ほどのレスポンス時間を
CDF で表示してみる
CDF の 5 つのポイン
ト
CDF は必ず x に沿って広義単調増加する
CDF はヒストグラムや KDE ほど増減が激しくないが、表示
しているデータはすべて同じものである
ヒストグラムのように「データの瓶」が含まれていない、デ
ータの情報が欠落している
x が 0 または -∞ に限りなく近づくと、 CDF は 0 になる
CDF はデータから一意に決まる
3 つの分布図を比較する
Rank-Order Plots: ROP
&
Lift Charts: LC
Lift Charts: LC
Lift Charts: LC
Scenario - Mailing
List
会社でメーリングリストを用いてマーケティング
する際に、受信者の職業に合わせて文章を作成し
たい
全部で 16000 もの仕事が登録されているため、す
べての職業向けに文章を作成するのは困難
さて、どうやって解決する??
データを昇順に
ROP & LC (1)
ROP: Rank-Order Plots ⇒ 先ほど昇順にした表の
データをグラフにしたもの
LC: Lift Charts ⇒ 累積分布。今回は加算によって
累積計算を行ったので CDF と同じ
ROP & LC (2)
Workshop : Numpy
vec3 = np.linspace( 0, 4, 5 )
vec4 = np.zeros( 5 )
for i in range( 5 ):
vec4[i] = i
vec5 = np.loadtxt( "data" )
Numpy の基本 (1) - ベクトルの作成
v1 = vec1 + vec2
v2 = np.zeros( 5 )
( 同じ方法だが真似しない方がいい )
↓
for i in range( 5 ):
v2[i] = vec1[i] + vec2[i]
vec1 += vec2
vec1 += vec2
vec1 += vec2
vec1 += vec2
vec1 += vec2
vec1 += vec2
vec1 += vec2
Numpy の基本 (2) - ベクトル演算
v3 = 2*vec3
v4 = vec4 + 3
v5 =
np.sin(vec5)
lst = v5.tolist()
NumPy の特徴
“ Broadcasting” & ”ufunc”
“Broadcasting” & ”ufunc”
“BroadCasting”: より大きなデータ構造に
合わせて (Broad) 、 一方のデータ構造を変
更する (Casting)
“ufunc”: スカラー値は NumPy のオブジェ
クトに変換される
Numpy を用いた KDE の計算プログ
ラム
from numpy import *
# z: position, w: bandwidth, xv: vector of points
def kde( z, w, xv ):
return sum( exp(-0.5*((z-xv)/w)**2)/sqrt(2*pi*w**2) )
d = loadtxt( "presidents", usecols=(2,) )
w = 2.5
for x in linspace( min(d)-w, max(d)+w, 1000 )
print x, kde( x, w, d )
Numpy の応用 - 行列
テキストのプログラムを参考に、 Numpy での行列
の扱い方を確認していく
最後に ...
今回のまとめ:単一変数のデータは、 Jitter Plot
と Histogram 、 CDF で表すことができる
Histogram を見やすくするために KDE 、 CDF を
見やすくするために ROP と LC の技術を用いた
Option や Summary の部分は今回は省略した
(統計学の授業で何度もやった内容なので、自分
で読んでください)

More Related Content

What's hot

Graph convolution (スペクトルアプローチ)
Graph convolution (スペクトルアプローチ)Graph convolution (スペクトルアプローチ)
Graph convolution (スペクトルアプローチ)yukihiro domae
 
CG 論文講読会 2013/5/20 "Clustered deferred and forward shading"
CG 論文講読会 2013/5/20 "Clustered deferred and forward shading"CG 論文講読会 2013/5/20 "Clustered deferred and forward shading"
CG 論文講読会 2013/5/20 "Clustered deferred and forward shading"Ryo Suzuki
 
GDALとmod_python、mod_rewriteでタイルマップサービスを作ってみた
GDALとmod_python、mod_rewriteでタイルマップサービスを作ってみたGDALとmod_python、mod_rewriteでタイルマップサービスを作ってみた
GDALとmod_python、mod_rewriteでタイルマップサービスを作ってみたKeisuke Nakao
 
Scalable Partial Least Squares Regression on Grammar-Compressed Data Matrices
Scalable Partial Least Squares Regression on Grammar-Compressed Data MatricesScalable Partial Least Squares Regression on Grammar-Compressed Data Matrices
Scalable Partial Least Squares Regression on Grammar-Compressed Data MatricesYasuo Tabei
 
レイトレ空間構造入門
レイトレ空間構造入門レイトレ空間構造入門
レイトレ空間構造入門Toru Matsuoka
 
【やってみた】リーマン多様体へのグラフ描画アルゴリズムの実装【実装してみた】
【やってみた】リーマン多様体へのグラフ描画アルゴリズムの実装【実装してみた】【やってみた】リーマン多様体へのグラフ描画アルゴリズムの実装【実装してみた】
【やってみた】リーマン多様体へのグラフ描画アルゴリズムの実装【実装してみた】Yuuki Takano
 
FeaStNet: Feature-Steered Graph Convolutions for 3D Shape Analysis
FeaStNet: Feature-Steered Graph Convolutions for 3D Shape AnalysisFeaStNet: Feature-Steered Graph Convolutions for 3D Shape Analysis
FeaStNet: Feature-Steered Graph Convolutions for 3D Shape Analysisyukihiro domae
 
数値計算結果のPythonによる後処理について(1次元データのピーク値およびその位置の推定)
数値計算結果のPythonによる後処理について(1次元データのピーク値およびその位置の推定)数値計算結果のPythonによる後処理について(1次元データのピーク値およびその位置の推定)
数値計算結果のPythonによる後処理について(1次元データのピーク値およびその位置の推定)智啓 出川
 
第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知Chika Inoshita
 
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...yukihiro domae
 
Iugonet 20120810-nipr-sato
Iugonet 20120810-nipr-satoIugonet 20120810-nipr-sato
Iugonet 20120810-nipr-satoIugo Net
 
【Unite Tokyo 2018】誘導ミサイル完全マスター
【Unite Tokyo 2018】誘導ミサイル完全マスター【Unite Tokyo 2018】誘導ミサイル完全マスター
【Unite Tokyo 2018】誘導ミサイル完全マスターUnity Technologies Japan K.K.
 
Kdd2015reading-tabei
Kdd2015reading-tabeiKdd2015reading-tabei
Kdd2015reading-tabeiYasuo Tabei
 
Divisor
DivisorDivisor
Divisoroupc
 
重力プログラミング入門「第1回:地球の重力下で人工衛星を公転軌道に乗せる」
重力プログラミング入門「第1回:地球の重力下で人工衛星を公転軌道に乗せる」重力プログラミング入門「第1回:地球の重力下で人工衛星を公転軌道に乗せる」
重力プログラミング入門「第1回:地球の重力下で人工衛星を公転軌道に乗せる」fukuoka.ex
 
【Unity道場スペシャル 2017博多】クォータニオン完全マスター
【Unity道場スペシャル 2017博多】クォータニオン完全マスター【Unity道場スペシャル 2017博多】クォータニオン完全マスター
【Unity道場スペシャル 2017博多】クォータニオン完全マスターUnity Technologies Japan K.K.
 

What's hot (20)

Graph LSTM解説
Graph LSTM解説Graph LSTM解説
Graph LSTM解説
 
Graph convolution (スペクトルアプローチ)
Graph convolution (スペクトルアプローチ)Graph convolution (スペクトルアプローチ)
Graph convolution (スペクトルアプローチ)
 
CG 論文講読会 2013/5/20 "Clustered deferred and forward shading"
CG 論文講読会 2013/5/20 "Clustered deferred and forward shading"CG 論文講読会 2013/5/20 "Clustered deferred and forward shading"
CG 論文講読会 2013/5/20 "Clustered deferred and forward shading"
 
GDALとmod_python、mod_rewriteでタイルマップサービスを作ってみた
GDALとmod_python、mod_rewriteでタイルマップサービスを作ってみたGDALとmod_python、mod_rewriteでタイルマップサービスを作ってみた
GDALとmod_python、mod_rewriteでタイルマップサービスを作ってみた
 
Scalable Partial Least Squares Regression on Grammar-Compressed Data Matrices
Scalable Partial Least Squares Regression on Grammar-Compressed Data MatricesScalable Partial Least Squares Regression on Grammar-Compressed Data Matrices
Scalable Partial Least Squares Regression on Grammar-Compressed Data Matrices
 
レイトレ空間構造入門
レイトレ空間構造入門レイトレ空間構造入門
レイトレ空間構造入門
 
実践QBVH
実践QBVH実践QBVH
実践QBVH
 
【やってみた】リーマン多様体へのグラフ描画アルゴリズムの実装【実装してみた】
【やってみた】リーマン多様体へのグラフ描画アルゴリズムの実装【実装してみた】【やってみた】リーマン多様体へのグラフ描画アルゴリズムの実装【実装してみた】
【やってみた】リーマン多様体へのグラフ描画アルゴリズムの実装【実装してみた】
 
FeaStNet: Feature-Steered Graph Convolutions for 3D Shape Analysis
FeaStNet: Feature-Steered Graph Convolutions for 3D Shape AnalysisFeaStNet: Feature-Steered Graph Convolutions for 3D Shape Analysis
FeaStNet: Feature-Steered Graph Convolutions for 3D Shape Analysis
 
数値計算結果のPythonによる後処理について(1次元データのピーク値およびその位置の推定)
数値計算結果のPythonによる後処理について(1次元データのピーク値およびその位置の推定)数値計算結果のPythonによる後処理について(1次元データのピーク値およびその位置の推定)
数値計算結果のPythonによる後処理について(1次元データのピーク値およびその位置の推定)
 
第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知
 
Moon
MoonMoon
Moon
 
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...
 
Iugonet 20120810-nipr-sato
Iugonet 20120810-nipr-satoIugonet 20120810-nipr-sato
Iugonet 20120810-nipr-sato
 
【Unite Tokyo 2018】誘導ミサイル完全マスター
【Unite Tokyo 2018】誘導ミサイル完全マスター【Unite Tokyo 2018】誘導ミサイル完全マスター
【Unite Tokyo 2018】誘導ミサイル完全マスター
 
Kdd2015reading-tabei
Kdd2015reading-tabeiKdd2015reading-tabei
Kdd2015reading-tabei
 
Divisor
DivisorDivisor
Divisor
 
重力プログラミング入門「第1回:地球の重力下で人工衛星を公転軌道に乗せる」
重力プログラミング入門「第1回:地球の重力下で人工衛星を公転軌道に乗せる」重力プログラミング入門「第1回:地球の重力下で人工衛星を公転軌道に乗せる」
重力プログラミング入門「第1回:地球の重力下で人工衛星を公転軌道に乗せる」
 
【Unity道場スペシャル 2017博多】クォータニオン完全マスター
【Unity道場スペシャル 2017博多】クォータニオン完全マスター【Unity道場スペシャル 2017博多】クォータニオン完全マスター
【Unity道場スペシャル 2017博多】クォータニオン完全マスター
 
Tsukuba
TsukubaTsukuba
Tsukuba
 

Viewers also liked

Viewers also liked (8)

Chapter9
Chapter9Chapter9
Chapter9
 
Olearning-prml1
Olearning-prml1Olearning-prml1
Olearning-prml1
 
Olearning-prml6
Olearning-prml6Olearning-prml6
Olearning-prml6
 
自己組織化ネットワークについて
自己組織化ネットワークについて自己組織化ネットワークについて
自己組織化ネットワークについて
 
Olearning-prml13
Olearning-prml13Olearning-prml13
Olearning-prml13
 
Olearning-prml4
Olearning-prml4Olearning-prml4
Olearning-prml4
 
Olearning-prml8
Olearning-prml8Olearning-prml8
Olearning-prml8
 
画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量
 

Recently uploaded

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 

Recently uploaded (9)

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 

Data Analysis - Chapter two