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

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 

Recently uploaded (8)

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 

Data Analysis - Chapter two