Upgrade to Pro — share decks privately, control downloads, hide ads and more …

rでgoogle_analyticsデータ解析にチャレンジ #TechLunch

rでgoogle_analyticsデータ解析にチャレンジ #TechLunch

2011/05/25(水) @ Livesense TechLunch
発表者:福田 絵里

Livesense Inc.

April 23, 2014
Tweet

More Decks by Livesense Inc.

Other Decks in Technology

Transcript

  1. 1. R言語 • ベクトル処理言語 ✗ ベクトル:構造を持ったデータ集合 ✗ 構造:配列、リスト、テーブル、集合、時系列、など f1 <-

    c('猫','猫','犬') f2 <- c(1, 2, 3) f <- list(field1=f1, field2=f2) f$field1 の中に "猫" "猫" "犬" f$field2 の中に 1 2 3 X <- 1:3          x の中に 1 2 3       
  2. 1. R言語 • オブジェクト指向 • 多様なデータ形式に対応 • 柔軟なパッケージ管理 「CRAN」 •

    単純な文法 対象ユーザー:統計処理に関わる全ての人々 • 統計学を超えた需要(金融工学・時系列分析・機械学習・データマイニ ング・バイオインフォマティクス) • 高速な処理 C、C++、FORTRANなどの外部プログラムとの動的リンク • シミュレーション 「ex. 円周率をモンテカルロ法で近似する計算」 • デメリット:デバッグ機能が乏しい テキスト, 画像, csv, SPSS, SAP, 各種データベースへのアクセス s <-100000 x <-runif(s) y <-runif(s) sum(x^2+y^2<=1)*4/s
  3. 2. Google Analytics Data Export API 認証 Analytics アカウント のクエリ

    ※認証の種類 ClientLogin : インストールするアプリケーションに適する AuthSub : ウェブアプリケーションに適する OAuth : ウェブアプリケーションに適する(API認可プロトコルの標準仕様) プロファイル のクエリ デ ー タ 出 力
  4. • データフィードリクエスト ✔ (必須) ベースURL ✔ (必須) ids ✔ (必須)

    metrics ✔ (必須) start-date, end-date ✔ (オプション) dimensions https://www.google.com/analytics/feeds/data ids=ga:12345 metrics=ga:visits, ga:timeOnSite start-date=2009-04-20 end-date=2009-05-20 dimensions=ga:browser, ga:city 2. Google Analytics Data Export API etc...
  5. レスポンスデータが膨大な量だったら… →自動的にサンプリングが行われる ※Google Analytics は 95% の信頼水準で計算を実行。 ex) confidenceInterval=5  

    指標にレポートされた値が実際は推定値であるものの、その差は +/- 5% 未満 confidenceInterval=INF 計算された推定値の正確性が高くない 誤差を避け、レスポンス取得を高速するには↓ レスポンス量の制限、日付範囲を狭める、フィルタ利用 2. Google Analytics Data Export API
  6. 3. 実践・データ解析 install.packages("RCurl", repos = "http://www.omegahat.org/R") install.packages("XML", repos = "http://www.omegahat.org/R")

    source("./RGoogleAnalytics.R") source("./QueryBuilder.R") ga <- RgoogleAnalytics() options(RCurlOptions = list(capath = system.file("CurlSSL", "cacert.pem", package = "RCurl"), ssl.verifypeer = FALSE)) ga$SetCredentials("INSERT_USER_NAME", "INSERT_PASSWORD") profiles <- ga$GetProfileData() query <- QueryBuilder() query$Init(start.date = "2011-04-01", end.date = "2011-05-19", dimensions = "ga:date", metrics = "ga:visitors", sort = "ga:date", table.id = “ga:17971510”) ga.data <- ga$GetReportData(query) ga.data$data
  7. 3. 実践・データ解析 ga:date ga:visitors 1 20110401 68115 2 20110402 61374

    3 20110403 61534 4 20110404 73177 5 20110405 70203 6 20110406 73578 7 20110407 70671 8 20110408 65500 9 20110409 61334 10 20110410 61900 11 20110411 70116 12 20110412 71046 13 20110413 73709 14 20110414 73057 15 20110415 67227 16 20110416 61849 17 20110417 61318 18 20110418 74123 19 20110419 75127 20 20110420 73523 21 20110421 71382 22 20110422 65705 23 20110423 59311 24 20110424 58189 25 20110425 73068 26 20110426 72271 27 20110427 69971 28 20110428 65095 29 20110429 56280 30 20110430 53978 31 20110501 51534 32 20110502 55387 33 20110503 47268 34 20110504 47388 35 20110505 51924 36 20110506 59751 37 20110507 59566 38 20110508 54855 39 20110509 78166 40 20110510 69305 41 20110511 70390 42 20110512 67156 43 20110513 67756 44 20110514 56160 45 20110515 57186 46 20110516 74349 47 20110517 72700 48 20110518 68453 49 20110519 69723 出力結果