統計解析・データマイニング R 言語入門 2010/02/13 濱田 晃一 データマイニング +WEB 勉強会 第1回 hamadakoichi はじめてでもわかる
自己紹介 ・ ID: hamadakoichi (Hatena/Twitter/YouTube/Skype)    濱田晃一 ・専門:理論物理学(量子統計場の理論) .  博士( 2004.3 )   Ph.D.Thesis :  http:/...
<ul><li>R とは </li></ul><ul><li>データ構造 </li></ul><ul><li>データ入出力 </li></ul><ul><li>データ演算 </li></ul><ul><li>基本統計量算出 </li></ul>...
<ul><li>R とは </li></ul><ul><li>データ構造 </li></ul><ul><li>データ入出力 </li></ul><ul><li>データ演算 </li></ul><ul><li>基本統計量算出 </li></ul>...
オープンソースの 統計解析・データマイニング環境 R とは ・ Open Source ・ Free Software  ・統計解析の言語・開発実行環境 ・ R oss Ihaka and  R obert Gentleman (1996) ・...
R とは 各種統計解析・データマイニングが容易に行えます 例:時系列解析 ソースコード 実行結果
R とは R Console  や  Eclipse 上で実行できます R Console Eclipse R Graphic Window StatET Eclipse plug-in R-Script  実行
各種環境設定の方法 R とは ・ R  のインストール・環境設定    http://d.hatena.ne.jp/hamadakoichi/20100103/1262511121 ・ R  を  Eclipse で使う方法    http:/...
本資料内で挙げてある  R ソースコードは 以下のエントリに記載しています 本資料内の R ソースコード hamadakoichi blog :  http:// d.hatena.ne.jp/hamadakoichi R言語プログラミング: ...
<ul><li>R とは </li></ul><ul><li>データ構造 </li></ul><ul><li>データ入出力 </li></ul><ul><li>データ演算 </li></ul><ul><li>基本統計量算出 </li></ul>...
データ構造 R のデータ型 配列 array 整数 integer 実数 numerical 論理値 logical 文字 character 複素数 complex 行列(同一型要素) matrix 行列(任意型要素) data frame ...
データ構造 Vector 1次元のデータセット
データ構造 Matrix 同一型要素の行列
データ構造 Matrix 同一型要素の行列
データ構造 Data Frame 任意型要素の行列
データ構造 Array 配列
データ構造 List リスト
データ構造 データ型の確認
データ構造 データ型の確認
<ul><li>R とは </li></ul><ul><li>データ構造 </li></ul><ul><li>データ入出力 </li></ul><ul><li>データ演算 </li></ul><ul><li>基本統計量算出 </li></ul>...
データの入出力 Data Frame を出力(テキスト)。テキストは” ”で囲まれ、数値データはそのまま出力 write.table sink write.csv write 他 scan read.csv read.table fix edi...
データの入出力 Data Frame を出力(テキスト)。テキストは” ”で囲まれ、数値データはそのまま出力 write.table sink write.csv write 他 scan read.csv read.table fix edi...
引数  price  は変更されない 代入先の  price2  が変更される edit 表計算風のエディタで編集できる。保存には代入が必要 エディタによる編集
fix 表計算風のエディタで編集できる エディタによる編集 引数  price  が変更される
データの入出力 Data Frame を出力(テキスト)。テキストは” ”で囲まれ、数値データはそのまま出力 write.table sink write.csv write 他 scan read.csv read.table fix edi...
read.table 小・中規模データの読込みに適している(テキストファイル) ファイル読込み
read.csv 小・中規模データの読込みに適している( CSV ファイル) ファイル読込み
scan 大規模データの読込みに適している ファイル読込み
データの入出力 Data Frame を出力(テキスト)。テキストは” ”で囲まれ、数値データはそのまま出力 write.table sink write.csv write 他 scan read.csv read.table fix edi...
write 通常の出力 ファイル読込み
ファイル読込み sink コンソールに返される内容を出力
<ul><li>R とは </li></ul><ul><li>データ構造 </li></ul><ul><li>データ入出力 </li></ul><ul><li>データ演算 </li></ul><ul><li>基本統計量算出 </li></ul>...
算術演算子 データ演算 剰余 整数除算 べき算 除算 乗算 減算 加算 演算 %% %/% ^ / * - + 演算子 a%%b a%/%b a^b a/b a*b a-b a+b 記述例
比較演算子 データ演算 論理値ベクトル 比較可能ベクトル 比較可能ベクトル a>=b >= 以上 比較可能ベクトル 比較可能ベクトル 比較可能ベクトル 比較可能ベクトル 比較可能ベクトル 第2引数  b a!=b a==b a<=b a<b a...
比較演算子 データ演算
論理演算子 データ演算 論理値ベクトル - 論理値ベクトル !x ! 否定 論理値ベクトル 論理値ベクトル 論理値ベクトル xor(x,y) xor 排他的論理輪 論理値ベクトル 論理値ベクトル 論理値ベクトル x & y & ベクトル化論理積...
論理演算子 データ演算
初等関数 データ演算 round(a,3) round 四捨五入 cos(a), sin(a), tan(a) cos, sin, tan 三角関数 acos(a), asin(a), atan(a) acos, asin, atan 逆三角関...
初等関数 データ演算
初等関数 データ演算
<ul><li>R とは </li></ul><ul><li>データ構造 </li></ul><ul><li>データ入出力 </li></ul><ul><li>データ演算 </li></ul><ul><li>基本統計量算出 </li></ul>...
基本統計量の算出関数 基本統計量 算出 quantile 分位数 summary 統計要約 sum 合計 mean 算術平均 max 最大値 min 最小値 range 範囲  (最大値 -最小値) median 中央値 var 分散 sd 標...
基本統計量 算出の実行例 基本統計量 算出
Apply 関数を用い データセットの行や列ごとの統計量を算出できる Apply 関数 apply(X, MARGIN, FUN, ...) X: データ MARGIN:  行ごとの場合1、列ごとの場合2  FUN:  統計関数や算出式
iris( アヤメ ) データ よい性質を持ち よく使用される データ Iris Sanguinea 花葉 花びら 種
データの列ごとの統計量算出 Apply 関数
データの列ごとの統計量算出 Apply 関数
データの列ごとの統計量算出 Apply 関数
<ul><li>R とは </li></ul><ul><li>データ構造 </li></ul><ul><li>データ入出力 </li></ul><ul><li>データ演算 </li></ul><ul><li>基本統計量算出 </li></ul>...
グラフ描画関数 統計データの視覚化 plot 散布図 matplot 折れ線グラフ pairs 対散布図 barplot 棒グラフ pie 円グラフ boxplot 箱ひげ図 hist ヒストグラム グラフ よく使われる関数
barplot(c(20,100,30,10,20,45,70,30)) pie(c(25,20,15,15,10,5)) 統計データの視覚化 hist(c(5,20,5,10,10,15,30,60,10,15)) ヒストグラム 棒グラフ 円...
plot(iris[,1],iris[,3]) 統計データの視覚化 散布図 matplot(c(1,40,15,8,16,32,64,30,10,0),type=&quot;l&quot;)  折れ線グラフ pairs(iris[1:4]) 対...
<ul><li>R とは </li></ul><ul><li>データ構造 </li></ul><ul><li>データ入出力 </li></ul><ul><li>データ演算 </li></ul><ul><li>基本統計量算出 </li></ul>...
統計解析・データマイニングの種類 因子・分類・回帰・判別・時系列などの 各種統計解析・データマイニング手法 主成分分析 因子分析 対応分析 多次元尺度法 クラスター分析 自己組織化マップ 線形回帰分析 非線形回帰分析 線形判別 非線形判別 時系...
統計解析・データマイニングの種類 因子・分類・回帰・判別・時系列などの 各種統計解析・データマイニング手法 主成分分析 因子分析 対応分析 多次元尺度法 クラスター分析 自己組織化マップ 線形回帰分析 非線形回帰分析 アソシエーション分析 カー...
統計解析・データマイニングの種類 例: R による時系列分析 ソースコード 実行結果
推薦文献
推薦文献リンク R によるデータサイエンス ~データ解析の基礎から最新手法まで ~ R による統計解析 R グラフィックス  ~ R で思いどおりのグラフを作図するために~
Fin.
講義後の 参加者の声 (抜粋)
講義後の参加者の声(抜粋) ・変数定義など初歩的な部分から理解でき分かりやすい講義でした。  今後、高度な分析に関する講義を聞きたいと思います。  (コンサルタント  Y さん) ・丁寧な説明で分かりやすかったです。  データの取り方、実践的な...
Upcoming SlideShare
Loading in …5
×

[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる 統計解析・データマイニング R言語入門

26,933 views

Published on

データマイニング+WEB勉強会 第1回(2010/02/13)での講義資料です。「はじめてでもわかる統計解析・データマイニングR言語入門」 hamadakoichi 濱田晃一。途中、質問・議論をはさむ双方向形式で進行し、1時間30分の講義を行いました。
Blog: http://d.hatena.ne.jp/hamadakoichi/20100220/p1

Published in: Technology

[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる 統計解析・データマイニング R言語入門

  1. 1. 統計解析・データマイニング R 言語入門 2010/02/13 濱田 晃一 データマイニング +WEB 勉強会 第1回 hamadakoichi はじめてでもわかる
  2. 2. 自己紹介 ・ ID: hamadakoichi (Hatena/Twitter/YouTube/Skype)  濱田晃一 ・専門:理論物理学(量子統計場の理論) . 博士( 2004.3 )   Ph.D.Thesis : http://hosi.phys.s.u-tokyo.ac.jp/~koichi/PhD-thesis.pdf ・業務:業務プロセスに関する統計解析・実行制御など ・趣味: Hip Hop Dance/ House Dance を 13 年   Youtube: http://www.youtube.com/hamadakoichi ・ Blog: http:// d.hatena.ne.jp/hamadakoichi ・ Twitter: http:// twitter.com/hamadakoichi
  3. 3. <ul><li>R とは </li></ul><ul><li>データ構造 </li></ul><ul><li>データ入出力 </li></ul><ul><li>データ演算 </li></ul><ul><li>基本統計量算出 </li></ul><ul><li>統計データの視覚化 </li></ul><ul><li>統計解析・データマイニングの種類 </li></ul>AGENDA
  4. 4. <ul><li>R とは </li></ul><ul><li>データ構造 </li></ul><ul><li>データ入出力 </li></ul><ul><li>データ演算 </li></ul><ul><li>基本統計量算出 </li></ul><ul><li>統計データの視覚化 </li></ul><ul><li>統計解析・データマイニングの種類 </li></ul>AGENDA
  5. 5. オープンソースの 統計解析・データマイニング環境 R とは ・ Open Source ・ Free Software ・統計解析の言語・開発実行環境 ・ R oss Ihaka and R obert Gentleman (1996) ・ S 言語クローン . 高速 ・各種 Interface : SAS, SPSS, S-PLUS, RDBMS… ・ Object 型言語
  6. 6. R とは 各種統計解析・データマイニングが容易に行えます 例:時系列解析 ソースコード 実行結果
  7. 7. R とは R Console や Eclipse 上で実行できます R Console Eclipse R Graphic Window StatET Eclipse plug-in R-Script 実行
  8. 8. 各種環境設定の方法 R とは ・ R のインストール・環境設定   http://d.hatena.ne.jp/hamadakoichi/20100103/1262511121 ・ R を Eclipse で使う方法   http://d.hatena.ne.jp/hamadakoichi/20100110/1263127663 ・ Java R Interface (JRI) を用い 統計解析環境 R を Java から使用する   http://d.hatena.ne.jp/hamadakoichi/20100111/1263227076
  9. 9. 本資料内で挙げてある R ソースコードは 以下のエントリに記載しています 本資料内の R ソースコード hamadakoichi blog : http:// d.hatena.ne.jp/hamadakoichi R言語プログラミング: 基本統計量の算出 基本統計量 算出 R言語プログラミング: データ結合 R言語プログラミング: 基本演算子・初等関数 データ演算 R言語プログラミング: データ入出力 データ入出力 R言語プログラミング: データ型・操作 データ構造 内容 リンク
  10. 10. <ul><li>R とは </li></ul><ul><li>データ構造 </li></ul><ul><li>データ入出力 </li></ul><ul><li>データ演算 </li></ul><ul><li>基本統計量算出 </li></ul><ul><li>統計データの視覚化 </li></ul><ul><li>統計解析・データマイニングの種類 </li></ul>AGENDA
  11. 11. データ構造 R のデータ型 配列 array 整数 integer 実数 numerical 論理値 logical 文字 character 複素数 complex 行列(同一型要素) matrix 行列(任意型要素) data frame リスト list vector 型 ベクトル 概要
  12. 12. データ構造 Vector 1次元のデータセット
  13. 13. データ構造 Matrix 同一型要素の行列
  14. 14. データ構造 Matrix 同一型要素の行列
  15. 15. データ構造 Data Frame 任意型要素の行列
  16. 16. データ構造 Array 配列
  17. 17. データ構造 List リスト
  18. 18. データ構造 データ型の確認
  19. 19. データ構造 データ型の確認
  20. 20. <ul><li>R とは </li></ul><ul><li>データ構造 </li></ul><ul><li>データ入出力 </li></ul><ul><li>データ演算 </li></ul><ul><li>基本統計量算出 </li></ul><ul><li>統計データの視覚化 </li></ul><ul><li>統計解析・データマイニングの種類 </li></ul>AGENDA
  21. 21. データの入出力 Data Frame を出力(テキスト)。テキストは” ”で囲まれ、数値データはそのまま出力 write.table sink write.csv write 他 scan read.csv read.table fix edit 関数 出力 入力 種類 コンソールに返される内容を出力 エディタで編集。保存には代入が必要 エディタ入力 エディタで編集 小・中規模データの読込みに適している (テキスト) ファイル読込 小・中規模データの読込みに適している ( CSV ) 大規模データの読込みに適している foreign package で SAS, SPASS, Stata,S-PLUS ファイル形式もサポート 通常の出力 ファイル出力 Data Frame を出力( CSV ) 方法 説明
  22. 22. データの入出力 Data Frame を出力(テキスト)。テキストは” ”で囲まれ、数値データはそのまま出力 write.table sink write.csv write 他 scan read.csv read.table fix edit 関数 出力 入力 種類 コンソールに返される内容を出力 エディタで編集。保存には代入が必要 エディタ入力 エディタで編集 小・中規模データの読込みに適している (テキスト) ファイル読込 小・中規模データの読込みに適している ( CSV ) 大規模データの読込みに適している foreign package で SAS, SPASS, Stata,S-PLUS ファイル形式もサポート 通常の出力 ファイル出力 Data Frame を出力( CSV ) 方法 説明
  23. 23. 引数 price は変更されない 代入先の price2 が変更される edit 表計算風のエディタで編集できる。保存には代入が必要 エディタによる編集
  24. 24. fix 表計算風のエディタで編集できる エディタによる編集 引数 price が変更される
  25. 25. データの入出力 Data Frame を出力(テキスト)。テキストは” ”で囲まれ、数値データはそのまま出力 write.table sink write.csv write 他 scan read.csv read.table fix edit 関数 出力 入力 種類 コンソールに返される内容を出力 エディタで編集。保存には代入が必要 エディタ入力 エディタで編集 小・中規模データの読込みに適している (テキスト) ファイル読込 小・中規模データの読込みに適している ( CSV ) 大規模データの読込みに適している foreign package で SAS, SPASS, Stata,S-PLUS ファイル形式もサポート 通常の出力 ファイル出力 Data Frame を出力( CSV ) 方法 説明
  26. 26. read.table 小・中規模データの読込みに適している(テキストファイル) ファイル読込み
  27. 27. read.csv 小・中規模データの読込みに適している( CSV ファイル) ファイル読込み
  28. 28. scan 大規模データの読込みに適している ファイル読込み
  29. 29. データの入出力 Data Frame を出力(テキスト)。テキストは” ”で囲まれ、数値データはそのまま出力 write.table sink write.csv write 他 scan read.csv read.table fix edit 関数 出力 入力 種類 コンソールに返される内容を出力 エディタで編集。保存には代入が必要 エディタ入力 エディタで編集 小・中規模データの読込みに適している (テキスト) ファイル読込 小・中規模データの読込みに適している ( CSV ) 大規模データの読込みに適している foreign package で SAS, SPASS, Stata,S-PLUS ファイル形式もサポート 通常の出力 ファイル出力 Data Frame を出力( CSV ) 方法 説明
  30. 30. write 通常の出力 ファイル読込み
  31. 31. ファイル読込み sink コンソールに返される内容を出力
  32. 32. <ul><li>R とは </li></ul><ul><li>データ構造 </li></ul><ul><li>データ入出力 </li></ul><ul><li>データ演算 </li></ul><ul><li>基本統計量算出 </li></ul><ul><li>統計データの視覚化 </li></ul><ul><li>統計解析・データマイニングの種類 </li></ul>AGENDA
  33. 33. 算術演算子 データ演算 剰余 整数除算 べき算 除算 乗算 減算 加算 演算 %% %/% ^ / * - + 演算子 a%%b a%/%b a^b a/b a*b a-b a+b 記述例
  34. 34. 比較演算子 データ演算 論理値ベクトル 比較可能ベクトル 比較可能ベクトル a>=b >= 以上 比較可能ベクトル 比較可能ベクトル 比較可能ベクトル 比較可能ベクトル 比較可能ベクトル 第2引数 b a!=b a==b a<=b a<b a>b 例 比較可能ベクトル 比較可能ベクトル 比較可能ベクトル 比較可能ベクトル 比較可能ベクトル 第1引数 a 等しくない 等しい 以下 より小さい より大きい 演算 != == <= < > 演算子 論理値ベクトル 論理値ベクトル 論理値ベクトル 論理値ベクトル 論理値ベクトル 返り値
  35. 35. 比較演算子 データ演算
  36. 36. 論理演算子 データ演算 論理値ベクトル - 論理値ベクトル !x ! 否定 論理値ベクトル 論理値ベクトル 論理値ベクトル xor(x,y) xor 排他的論理輪 論理値ベクトル 論理値ベクトル 論理値ベクトル x & y & ベクトル化論理積 論理値ベクトル 論理値ベクトル 論理値ベクトル 第2引数 y x | y x || y x && y 例 論理値ベクトル 論理値ベクトル 論理値ベクトル 第1引数 x ベクトル化論理和 論理和 論理積 演算 | || && 演算子 論理値ベクトル 論理値 論理値 返り値
  37. 37. 論理演算子 データ演算
  38. 38. 初等関数 データ演算 round(a,3) round 四捨五入 cos(a), sin(a), tan(a) cos, sin, tan 三角関数 acos(a), asin(a), atan(a) acos, asin, atan 逆三角関数 abs(a) abs 絶対値 log(a) log 自然対数 log10(a) sqrt(a) exp(a) 例 常用対数 平方根 自然指数 演算 log10 sqrt exp 演算子
  39. 39. 初等関数 データ演算
  40. 40. 初等関数 データ演算
  41. 41. <ul><li>R とは </li></ul><ul><li>データ構造 </li></ul><ul><li>データ入出力 </li></ul><ul><li>データ演算 </li></ul><ul><li>基本統計量算出 </li></ul><ul><li>統計データの視覚化 </li></ul><ul><li>統計解析・データマイニングの種類 </li></ul>AGENDA
  42. 42. 基本統計量の算出関数 基本統計量 算出 quantile 分位数 summary 統計要約 sum 合計 mean 算術平均 max 最大値 min 最小値 range 範囲 (最大値 -最小値) median 中央値 var 分散 sd 標準偏差 基本統計量 関数
  43. 43. 基本統計量 算出の実行例 基本統計量 算出
  44. 44. Apply 関数を用い データセットの行や列ごとの統計量を算出できる Apply 関数 apply(X, MARGIN, FUN, ...) X: データ MARGIN: 行ごとの場合1、列ごとの場合2 FUN: 統計関数や算出式
  45. 45. iris( アヤメ ) データ よい性質を持ち よく使用される データ Iris Sanguinea 花葉 花びら 種
  46. 46. データの列ごとの統計量算出 Apply 関数
  47. 47. データの列ごとの統計量算出 Apply 関数
  48. 48. データの列ごとの統計量算出 Apply 関数
  49. 49. <ul><li>R とは </li></ul><ul><li>データ構造 </li></ul><ul><li>データ入出力 </li></ul><ul><li>データ演算 </li></ul><ul><li>基本統計量算出 </li></ul><ul><li>統計データの視覚化 </li></ul><ul><li>統計解析・データマイニングの種類 </li></ul>AGENDA
  50. 50. グラフ描画関数 統計データの視覚化 plot 散布図 matplot 折れ線グラフ pairs 対散布図 barplot 棒グラフ pie 円グラフ boxplot 箱ひげ図 hist ヒストグラム グラフ よく使われる関数
  51. 51. barplot(c(20,100,30,10,20,45,70,30)) pie(c(25,20,15,15,10,5)) 統計データの視覚化 hist(c(5,20,5,10,10,15,30,60,10,15)) ヒストグラム 棒グラフ 円グラフ boxplot(count~spray,data=InsectSprays) 箱ひげ図
  52. 52. plot(iris[,1],iris[,3]) 統計データの視覚化 散布図 matplot(c(1,40,15,8,16,32,64,30,10,0),type=&quot;l&quot;) 折れ線グラフ pairs(iris[1:4]) 対散布図
  53. 53. <ul><li>R とは </li></ul><ul><li>データ構造 </li></ul><ul><li>データ入出力 </li></ul><ul><li>データ演算 </li></ul><ul><li>基本統計量算出 </li></ul><ul><li>統計データの視覚化 </li></ul><ul><li>統計解析・データマイニングの種類 </li></ul>AGENDA
  54. 54. 統計解析・データマイニングの種類 因子・分類・回帰・判別・時系列などの 各種統計解析・データマイニング手法 主成分分析 因子分析 対応分析 多次元尺度法 クラスター分析 自己組織化マップ 線形回帰分析 非線形回帰分析 線形判別 非線形判別 時系列分析 生存分析 樹木モデル ニューラルネットワーク 集団学習 アソシエーション分析 カーネル法 サポートベクターマシン
  55. 55. 統計解析・データマイニングの種類 因子・分類・回帰・判別・時系列などの 各種統計解析・データマイニング手法 主成分分析 因子分析 対応分析 多次元尺度法 クラスター分析 自己組織化マップ 線形回帰分析 非線形回帰分析 アソシエーション分析 カーネル法 サポートベクターマシン 線形判別 非線形判別 時系列分析 生存分析 樹木モデル ニューラルネットワーク 集団学習
  56. 56. 統計解析・データマイニングの種類 例: R による時系列分析 ソースコード 実行結果
  57. 57. 推薦文献
  58. 58. 推薦文献リンク R によるデータサイエンス ~データ解析の基礎から最新手法まで ~ R による統計解析 R グラフィックス ~ R で思いどおりのグラフを作図するために~
  59. 59. Fin.
  60. 60. 講義後の 参加者の声 (抜粋)
  61. 61. 講義後の参加者の声(抜粋) ・変数定義など初歩的な部分から理解でき分かりやすい講義でした。  今後、高度な分析に関する講義を聞きたいと思います。  (コンサルタント Y さん) ・丁寧な説明で分かりやすかったです。  データの取り方、実践的な内容を知りたくなりました。  ( 3 次元グラフィックス エンジニア M さん) ・基礎から聞け、内容が分かりやすかったです。   R が便利なことを理解できました。  今後、具体的な用途に関して知りたいです。  ( Web 会議システムエンジニア T さん) ・内容が分かりやすかった。  今度は、具体的な統計分析・データマイニング手法の内容に関し  知りたくなりました。  (制御システム・インフラ エンジニア S さん)

×