統計科学同演習 清 智也 (14 棟 438 号室) + TA’s 2014 年 4 月 11 日(金) スライドは昨年度の同講義(柴田里程先生)の資料をもとにして作成しています. 1 / 24 統計学専攻の科目 I 3 年春 I I I I 統計科学同演習(必修) 数理統計学第一同演習 アルゴリズム論 3 年秋 I I I I I I I (数学専攻との共通科目を除く) データ解析同演習 数理統計学第二同演習 データサンプリング 統計科学輪講 情報処理 計画数学 4年 I I I I 時系列モデル 非線形モデル 統計数学続論第1 統計数学続論第2 2 / 24 統計学・データサイエンスの位置づけ 3 / 24 データ解析 I データに語らせる. I データは現象の放つ光(柴田里程)http://datascience.jp I 探索的データ解析(Exploratory Data Analysis, 1977) Better to have an approximate answer to the right question than a precise answer to the wrong question. (John Tukey) http://cm.bell-labs.com/cm/stat/tukey/tributes.html I モデル化しやすいように,データをなるべく均質的な部分に 分ける. 4 / 24 講義と演習の目標 I 統計科学同演習 I I I I 実データを扱い,その様子を探る データの特徴を捉える データの間の関係を調べる 参考:データ解析同演習(秋学期) I I データからモデルを構築する モデルの有効性を検証する 5 / 24 進め方 詳しくは,配布資料「統計科学同演習案内」を読んでください. I 原則として,3 限が講義,4 限が演習. I 講義開始 10 分後に TA が出席をとる. I 遅刻・欠席した場合は,演習レポートから 1 点減点. 演習レポート I I I I 期限:特に断りがなければ,翌週の火曜日午後 5 時 場所:14 棟の 14-434 演習レポートの解説は,次回の演習レポート開始前に行う. 6 / 24 成績評価 1. 演習のレポート: 5 点満点/回 × 14 回 = 70 点満点 2. 大レポート: 15 点満点/回 × 2 回 = 30 点満点 3. 筆記試験: 30 点満点 A: 80 点以上 B: 79∼70 点 C: 69∼60 点 D: 60 点未満 7 / 24 使用するソフトウェア:R I S: 統計解析のために作られた言語,環境. I I I ベル研究所で開発.日本では柴田・渋谷が貢献. S-plus: S をベースにした商用ソフト.GUI などが豊富. R: S とほぼ同等の機能を持つフリーソフトウェア. I オープンソース. http://cran.r-project.org I 本講義では,R は目的ではなく手段の一つという位置づけで ある. I 目的によっては,Excel, C, Matlab 等の方が便利なことはあ る.場合に応じて使い分ければよい. 8 / 24 R の特徴 I ベクトル演算を基本とする(Matlab などと同様) I オブジェクト指向 I 関数型言語 I 書式は C 言語に類似 I 対話的に実行できる I ユーザによる拡張が容易 I 様々なプラットフォームに対応(Linux, Windows, Mac) I 高度な解析を比較的容易に実行することができる 9 / 24 R の短所 I ループを多用すると計算に時間がかかる. I 解決策:ベクトル演算,内部ルーチンの利用 I 大量データの処理には不向き I S/R に慣れてしまうと他の言語を使うのが面倒になる 10 / 24 オブジェクトとは? I 対象となるものすべて I I I 実体+属性(名前,型,要素数,次元...) 自立的な反応をする R でのオブジェクト I 数値,文字列,ベクトル,行列,リスト,式,関数,... 11 / 24 R の使用例 S 式とその結果(S 式:S や R で入力する式) > q() # 終了 > 1+2 [1] 3 # 電卓として > (1+2i)*(1-2i) [1] 5+0i > a = 3 > a^2 [1] 9 > a <- 3 # 複素数も使える(1i が虚数単位) # 代入 # これも代入. > integrate(function(x) 1/sqrt(1-x^2), -1, 1) # 数値積分 3.141593 with absolute error < 9.4e-06 12 / 24 データと変量 I データ I I I 広義:推論の根拠となる資料 狭義: (複数の)変量の値の並び.あるいはその集まり. 変数と変量 I I I 変数:変化させたいもの(抽象的な存在) 変量:値が記録され得る具体的な存在 無理に区別しなくてもよい 13 / 24 データの読み込み I Excel で earthquake.csv を読み込んだ場合(図は Mac) 14 / 24 データの読み込み I CSV = Comma Separated Values Year,Month,Day,Hour,Minute,Second,Latitude,Longitude,Depth,Magnitude 2011,3,10,1,58,31.9,35.76333333,136.865,8,3.2 2011,3,10,1,59,19.9,38.47333333,143.3716667,23,4.4 2011,3,10,3,16,14.1,38.27,142.8783333,29,6.4 2011,3,10,3,44,35.7,38.47833333,143.4316667,36,6.3 2011,3,10,6,0,54.6,38.25833333,142.9116667,28,4.9 2011,3,10,6,23,56.6,34.17333333,135.1316667,7,2.5 ... I R では > quake.d = read.table("earthquake.csv", sep=",", header=TRUE) > quake.d = read.csv("earthquake.csv") # 同等 15 / 24 > length(quake.d) [1] 10 > names(quake.d) [1] "Year" "Month" "Day" [5] "Minute" "Second" "Latitude" [9] "Depth" "Magnitude" "Hour" "Longitude" > attach(quake.d) > Year[1:10] [1] 2011 2011 2011 2011 2011 2011 2011 2011 2011 2011 > class(quake.d) [1] "data.frame" データフレームというオブジェクト 16 / 24 データフレーム (data frame) I 同じ長さのベクトルのリスト I I ベクトル:同じ型の値の並び ベクトルの長さ:要素数 I データフレームは,行列として扱うことも可能. I クラス名は data.frame 17 / 24 データフレームの属性 > attributes(quake.d) $names [1] "Year" "Month" "Day" [5] "Minute" "Second" "Latitude" [9] "Depth" "Magnitude" "Hour" "Longitude" $class [1] "data.frame" $row.names [1] 1 [11] 11 [21] 21 [31] 31 [41] 41 [51] 51 2 12 22 32 42 52 3 13 23 33 43 53 4 14 24 34 44 54 5 15 25 35 45 55 6 16 26 36 46 56 7 17 27 37 47 57 8 18 28 38 48 58 9 19 29 39 49 59 10 20 30 40 50 60 18 / 24 データを眺める > dim(quake.d) [1] 5126 10 > quake.d[1:10,] Year Month Day Hour Minute Second Latitude Longitude Depth Magnitude 1 2011 3 10 1 58 31.9 35.76333 136.8650 8 3.2 2 2011 3 10 1 59 19.9 38.47333 143.3717 23 4.4 3 2011 3 10 3 16 14.1 38.27000 142.8783 29 6.4 4 2011 3 10 3 44 35.7 38.47833 143.4317 36 6.3 5 2011 3 10 6 0 54.6 38.25833 142.9117 28 4.9 6 2011 3 10 6 23 56.6 34.17333 135.1317 7 2.5 7 2011 3 10 6 23 59.7 38.17167 143.0433 9 6.8 8 2011 3 10 6 24 51.1 34.17333 135.1383 6 3.0 9 2011 3 10 8 36 56.1 38.39000 143.4067 35 5.2 10 2011 3 10 8 57 39.8 38.37500 143.3033 25 4.9 19 / 24 要約(Summary) > summary(quake.d) Year Month Min. :2011 Min. :3.000 1st Qu.:2011 1st Qu.:3.000 Median :2011 Median :3.000 Mean :2011 Mean :3.357 3rd Qu.:2011 3rd Qu.:4.000 Max. :2011 Max. :4.000 Day Min. : 1.00 1st Qu.:12.00 Median :15.00 Mean :16.44 3rd Qu.:21.00 Max. :31.00 Hour Min. : 0.00 1st Qu.: 5.00 Median :12.00 Mean :11.72 3rd Qu.:18.00 Max. :23.00 I 平均値 I 五数要約:最小値,第1分位点,中央値,第3分位点,最大値 20 / 24 作図の例 > x = 1:10 > x [1] 1 2 3 4 5 6 7 8 9 10 > y = sin((2*pi/10)*x) > y [1] 5.877853e-01 9.510565e-01 9.510565e-01 5.877853e-01 [7] -9.510565e-01 -9.510565e-01 -5.877853e-01 -2.449294e-16 1.224647e- > plot(x,y) > plot(x,y,col="red",xlim=c(0,pi),ylim=c(-2,2)) > plot(x,y,type="h") # 垂線プロット > plot(x,y,type="l") # 折れ線プロット > z = cos(2*pi/10*x) > points(x,z,type="l",col="blue") # 重ね描き 21 / 24 パッケージのインストール,読み込み I パッケージとライブラリ I パッケージ:オブジェクトの集まり,ヘルプなど. ライブラリ:パッケージを R システムに取り込んだもの.R のインストール時にいくつか用意されている. I 今後,用語を区別せず使うことがあります. I I 今日の演習では mapdata というパッケージを使う. I パッケージのインストール方法は,プリント「統計科学同演 習案内」を参照. I 一回インストールを行えば,library(ライブラリ名) で読み込 むことができる. I 利用可能なライブラリは library() で分かる. 22 / 24 S/R オブジェクトの検索 I オブジェクトの検索 I I I I 検索リストの変更 I I I I 検索リストを得る:search() 各検索場所のオブジェクトを表示:例えば objects(4) ある名前のオブジェクトを検索:例えば find(”sin”) 追加:attach(リストオブジェクト) 削除:detach(番号) attach, detach は使いすぎると混乱の元なので要注意. ソースファイルからのオブジェクトの取り込み I source(”hoge.R”) (hoge.R にコマンドが書かれている場合) 23 / 24 貸出し PC について I 学生証持参のうえ,ITC 窓口で PC を借りてください.授業 終了後は速やかに返却するように. I PC の利用には「ITC アカウント」が必要. I ITC アカウント:学部生は入学時に配布されている.三田, 日吉,信濃町,矢上,芝共立の5キャンパスのパソコン室で 使用できる. I ユーザ名,パスワードを忘れている場合は,学生証を持参の うえ ITC まで行ってください. 24 / 24
© Copyright 2024 ExpyDoc