第2回Japan.R(#JapanR)を開催しました

2011/11/26に、第2回Japan.Rを開催しました!

Japan.Rは、全国のRコミュニティが合同で開催するイベントで
各地域コミュニティの紹介や情報交換、Rユーザ同士の交流等を目的として開催しています。

今年もR研究集会と合同で開催しました!

発表資料

Japan.RとR研究集会で3つほど発表させてもらったので、 その資料を載せておきます。

反省など

  • 今年は、主催らしい事が何も出来ず、@holidayworkingさんと@dichikaさんが中心となって進めてくださいました。本当にありがとうございました!
    • 実質、オープニングの挨拶とR研究集会での発表くらいでした。。。
  • ブースセッションでは、一緒に担当して下さった@millionsmileさんに大変お世話になりました。ありがとうございました!
    • @millionsmileさんが中心となって、複雑ネットワークについて参加者の方々といろいろな議論ができ、とても勉強になりました
  • LT大会では、@yuchimiri さんにドラを叩いてもらい、大変盛り上がりました!ありがとうございました!
  • 今回、Japan.Rのオープニング曲を、@shumusixさんに作っていただきました!ありがとうございました!
    • 諸事情で、オープニングなのに、最後に流す事になってしまいましたが・・・
  • 来年は、もうちょっと早い時期から動いて、直前で忙しくなっても周りに迷惑をかけないようなスケジュールで進めて行きたいと思います。

第15回 データマイニング+WEB @東京 ( #TokyoWebmining 15th)−統計・ビジネス活用 祭り−に参加してきました。

Opening Talk

「統計カリキュラム 第1回−一般化線形モデル−」 (講師: @isseing333さん) (発表30分 + 議論30分)

「医療分野におけるデータマイニングを始める前に知っておきたいこと (講師: @dichika )(発表20分 + 議論20分)

  • 対策のインパク
    • どの層を狙っているか明確に
      • 木を見て森を見ずになっていないか
    • 一足飛びのロジックになっていないか
  • 手法の選択
    • 結果を見せる相手は誰か
      • 重回帰分析から説明する必要あり
      • ランダムフォレスととか無理
    • 説明しやすい手法
      • 相手が馴染んでいるスタイルで
      • 医学分野 : 実験計画+調査+説明モデル
      • 線形モデル、決定木モデル

「複雑ネットワークとデータマイニング 徹底入門」 (講師: @milionsmile) (発表30分 + 議論30分)

「エンジニア向けマーケティングリサーチ入門」 (講師: @tetsuroitoさん) (発表20分 + 議論20分)

発表資料 : http://prezi.com/_njjlvrp-dri/116-tokyo-wemining-marketing-research-for-engeenier/

  • 分析手法
    • 因子分析
    • クラスター分析
    • コレスポンデンス分析
    • コンジョイント分析
      • ターゲットとする顧客のニーズの優先順位を明らかにし、個々のニーズが購買の意思決定に及ぼす影響が大きいか把握出来る

2chイカ娘スレッドを時系列分析してみた」 (講師: @gepuro ) (発表20分+ 議論20分)

2ch
View more presentations from gepuro

第18回R勉強会@東京(#TokyoR)を開催しました!

2011/10/22に、第18回R勉強会@東京(#TokyoR)を開催しました!

以下、内容です。
資料はアップされ次第、更新します!

@aad34210 「はじめてのR 」(20分)

概要 : Tokyo.Rでは高度な手法が紹介されていますが、いざ使いたくてもRは初めてなのでコードがよくわからない…といった初心者の方に向けてお話します。

@dichika XLConnectで快適なエクセルライフのご提案 (15分)

概要 : XLConnectパッケージであなたのエクセルライフを豊かにします

Tokyor18
View more presentations from dichika

@takemikami 「Rによるデータサイエンス第13章「樹木モデル」」(30分)

概要 : テキスト「Rによるデータサイエンス」に沿ってRでの樹木モデルの扱い方を解説します。

@horihorio 「Rで学ぶ現代ポートフォリオ理論」 (30分)

概要 : 「全部の卵を同じカゴに入れるな」との格言もある分散投資、これはなぜ良いのか?を紹介します。


atgmacontnd 部分的最小二乗法(30分)

@kenchan0130_aki 「最適化アレ コレ ソレ」(20分)

概要 : Rには様々な最適化関数が用意されています。色々使ってみよう。

@holidayworking 「RHadoopの紹介」(30分)

概要 : RからHadoopを操作することができるパッケージの紹介

@Hiro_macchan Rで計量経済(操作変数を使ったバイアス調整)(10分)

概要 : 計量経済領域でよく用いられる操作変数を使ったバイアス調整について、Rを使った利用方法を紹介したいと思います。

ネットワーク分析 - ベイジアン・ネットワーク 

ベイジアンネットワークとは

事象間の連関を確率的な仮定として、有向グラフを用いて表す方法。
ネットワーク構造は、DAGでなければならないという制約がある。(原因と結果が循環的な構造になってしまうのを避けるため)

ベイジアン・ネットワークをデータ分析に応用すると、変数間の連関を有効グラフで表す事が出来る。
ベイジアン・ネットワークにおける有向辺の有無を決める基準には、確率的な「独立」が用いられる。

http://gyazo.com/903b07ae58f7d588d6e8ea711ba970cb.png

このとき、

http://gyazo.com/d65a45f8d19a928689078fe9b0e91b91.png

なので、Aの確率はBの影響を受けない。
このように2つの変数が独立、もしくはそれにちかければ、それらの間に連関は無いと考え、それらの変数を表すノード間にエッジは張られない事になる。

ベイジアン・ネットワークの例

データは、ネットワーク分析 (Rで学ぶデータサイエンス 8)に出てくる「ハイテク企業の管理職21人の社会ネットワーク」。

  • ハイテク企業の管理職データ
Age Tenure Dpt. Level advice friend re
33 9.333 D4 L3 13 8 0
42 19.583 D4 L2 18 10 3
40 12.750 D2 L3 5 5 0
33 7.500 D4 L3 8 5 0
32 3.333 D2 L3 5 6 0
59 28.000 D1 L3 10 2 0
55 30.000 D0 L1 13 3 4
34 11.333 D1 L3 10 5 0
62 5.417 D2 L3 4 6 0
37 9.250 D3 L3 9 1 0
46 27.000 D3 L3 11 6 0
34 8.917 D1 L3 7 8 0
48 0.250 D2 L3 4 1 0
43 10.417 D2 L2 10 5 7
40 8.417 D2 L3 4 4 0
27 4.667 D4 L3 8 4 0
30 12.417 D1 L3 9 6 0
33 9.083 D3 L2 15 4 2
32 4.833 D2 L3 4 5 0
38 11.667 D2 L3 8 3 0
36 12.500 D1 L2 15 5 4
インストールと読み込み
install.packages("deal")
library(deal)
データの読み込みとネットワークの初期化

データを読み込んで、networkオブジェクトを生成する

ht <- read.table("high_tech.dat", header=T)
ht.nw <- network(ht)

plot(ht.nw)

http://gyazo.com/6aa914b40a0d06ddb96a114d54757bba.png

この状態では、まだネットワークは、エッジを持たない空グラフ。

事前分布と事後分布の計算

事前分布と事後分布を計算する。この時、明らかに影響がない変数間のエッジを除外するためのリストを作っておく。
- 例 : 年齢は他の変数から影響を受ける可能性はないので、他のノードから年齢のノードにはエッジを張らないなど

# 事前分布の計算
ht.prior <- jointprior(ht.nw)

# 除外リスト
mybanlist <- matrix(c(
                      2,1,
                      3,1,
                      4,1,
                      5,1,
                      6,1,
                      7,1,
                      3,2,
                      4,2,
                      5,2,
                      6,2,
                      7,2,
                      3,4,
                      4,3),
                    ncol = 2, byrow = TRUE)
banlist(ht.nw) <- mybanlist

# 事後分布の計算
ht.nw <- learn(ht.nw, ht, ht.prior)$nw

# ネットワークスコアが最適になるネットワークを探索
ht.search <- autosearch(ht.nw, ht, ht.prior, trace = TRUE)

結果

> ht.search <- autosearch(ht.nw, ht, ht.prior, trace = TRUE)
[Autosearch (1) -352.149 [Age][Tenure][Dpt.][Level][advice][friend][report|Level]
(2) -349.392 [Age][Tenure][Dpt.][Level][advice|Level][friend][report|Level]
(3) -347.2447 [Age][Tenure][Dpt.][Level][advice|Dpt.:Level][friend][report|Level]
(4) -345.6413 [Age][Tenure|Age][Dpt.][Level][advice|Dpt.:Level][friend][report|Level]
(5) -344.7486 [Age][Tenure|Age][Dpt.][Level][advice|Dpt.:Level:report][friend][report|Level]
(6) -344.2724 [Age][Tenure|Age][Dpt.][Level][advice|Dpt.:Level:friend:report][friend][report|Level]
(7) -343.9905 [Age][Tenure|Age][Dpt.][Level][advice|Tenure:Dpt.:Level:friend:report][friend][report|Level]
(8) -343.9629 [Age][Tenure|Age][Dpt.][Level][advice|Tenure:Dpt.:Level:friend:report][friend|Dpt.][report|Level]
(9) -343.1464 [Age][Tenure|Age][Dpt.][Level][advice|Tenure:Dpt.:Level:friend:report][friend|Tenure:Dpt.][report|Level]
(10) -342.7576 [Age][Tenure|Age][Dpt.][Level][advice|Tenure:Dpt.:Level:report][friend|Tenure:Dpt.:advice][report|Level]
Total 1.875 add 1.127 rem 0.263 turn 0.082 sort 0.047 choose 0.036 rest 0.32 ]

描画

plot(ht.nw)

http://gyazo.com/7dbafef909f355f74e1b3246e05a401f.png

図に出力されている、-342.7576は、以下のネットワークスコアの対数で、ベイジアン・ネットワークがデータと合致する程度を表している

http://gyazo.com/0692e3e4aa50a4a72dd39f7eabd8f20d.png

解釈
  • 勤務年数と部署は友人ネットワークとアドバイスのネットワークに置ける中心性にそれぞれ影響を与える
  • 階級はアドバイスネットワークに置ける中心性に対して直接の影響を与えるほか、報告ネットワークに置ける中背陰性を介した間接の影響も与える
  • アドバイスネットワークに置ける中心性は友人ネットワークにおける中心性に影響を与えている
    • 友人として指名されやすい人は仕事上のアドバイスを求められやすいのではなく、アドバイスを求められる人は友人としても指名されやすい

第17回R勉強会@東京(#TokyoR)を開催しました!

第17回R勉強会@東京(#TokyoR)を開催しました!

以下、メモです。

発表枠

@teramonagi: Rによるデータサイエンス第12章「時系列」 (30分程度)

概要 : テキスト「Rによるデータサイエンス」に沿ってRでの時系列の扱い方を解説します。

  • メモ
    • ラグ処理 : lag関数
    • 差分処理 : diff関数
    • 時系列で使う統計量
      • 平均
      • 自己共分散
      • 自己相関
    • 自己相関のplot
      • act(UKgas, ci=0.9)
      • ci : 信頼区間
      • 青の点線を超えていると、自己相関があると言って良いということ
    • 自己相関をなくす処理 = ラグ処理
    • 相互共分散、相互相関ccf
    • スペクトル分析 = 周期性の解析
      • 基本的な概念 : 周波数で物事を考える。波の重ね合わせで物を見る
      • ピリオドグラム : spec.pgram(y, log="no")
    • expand.grid(p,d,q) で全組み合わせを計算してくれる
    • GARCHモデル
      • Not 時系列自体 But 分散 のモデル
    • 成分の分解
      • 観測値 = トレンド + 周期変動 + 残差
@holidayworking Rで解く最適化問題 – 線型計画問題編 – (30分)

概要 : 「最適化法」を参考書にして最適化問題をRでやってみようと思います。第一段は最適化問題の基礎と線型計画問題について説明します。

  • 最適化問題とは 
    • 与えられた制約条件の元で、ある目的関数を最小化にする解を求める問題
  • 最適化問題の答え
    • 実行不可能
    • 実行可能 - 非有界
    • 実行可能 - 最適解が存在

数式が多かったので、メモが間に合わず・・・


@kos59125: 近似ベイズ計算でカジュアルなベイズ推定(20–30分)

概要 : 近似ベイズ計算を用いると複雑なモデルでも簡単にベイズ推定が行えます。その手法と実例を紹介します。

  • 観察データを得る事で、事象が起こるであろうという信念は変化する
  • 尤度計算が面倒くさい => 近似ベイズ計算
  • 近似ベイズ計算
    • 尤度を直接計算せずに、近似することで複雑な計算を回避
  • カーネル密度推定(Retangular Kernel)
  • 集団遺伝学
    • 集団における遺伝的組成の変化を研究する学問領域
    • コアレセント理論
    • 全ての対立遺伝子は、単一の祖先対立遺伝子に由来
@yokkuns: Rで学ぶ傾向スコア解析入門 (30分)

概要: 因果推論とか傾向スコア解析とかその辺の話題についてやってみたいと思います。
参考文献: 調査観察データの統計科学

@mangantempy: サーバ異常検知入門 (30分)

概要 :サーバーの負荷を統計的に分析してみようと思います。実際の観測値を時系列モデルに当てはめてグラフに描画する方法などを解説します。

  • アラートがあがってからじゃ、大体遅い => 監視して、統計的手法で事前に検知出来ないか?
  • ディスク容量が、あと何分であふれるかを予測
  • 日付が、2011-09-24(今日)!
@yuuukioii  Rによる計量経済学入門(20分)

概要 : ロジット分析を計量経済学的観点からやってみたいと思います。

  • 計量経済学とは
    • 計量経済学 : 「経済モデル」が現実に沿ったモデルんかを証明するためのツール
    • 統計学の延長上にある。ほとんど統計学と同じ
  • 計量経済学の流れ
    • 1.経済モデルを立てる
    • 2.実際のデータを使って統計的に「推定」「検定」
    • 3.経済予測や政策評価、政策の策定
  • ロジットとは
    • 分析対象が数値データではない時
    • 「車を購入するかどうかの決定要因」
  • ロジット
    • 二項ロジット
    • 多項ロジット
  • Conditional logit : 条件付きロジット
    • 選択肢jに依存
  • Mixed logit: 混合ロジット
    • 個人iと選択肢jに依存
  • Mixed logit: 様々な制約を取り払った最もgeneralizeされたロジット
  • ロジットモデルの制約
    • 全ての選択肢の効用の係数は識別出来ない
    • 識別出来るのは差のみ

LT枠

@dichika: TokyoR等の軌跡(5分)

概要: 私たちのこれからを考えるためにも今までどのような発表があったのか整理したいと思います。

Tokyor17
View more presentations from dichika

@tsutatsuta: Rで富士山を描いてみた(5-10分)

概要: x, y, z 軸で表せるデータ(3次元のベクトル)を,image,scatterplot3d,persp関数などを用いてグラフ化する方法について.せっかくなので富士山をグラフ化してみます.


@wakuteka: Tsukuba.Rの軌跡(5分)

Tsukuba.Rが、メンバーの就職で最近出来ていないので、近い人一緒にやりましょう!

飛び入りLT

@gepuro: ログ解析

クラスタリングしたよ!

第16回R勉強会@東京(#TokyoR)を開催しました!

第16回R勉強会@東京(Tokyo.R#16)を開催しました!

内容

@sleipnir002:Rで学ぶデータサイエンス5パターン認識 8,9k-近傍法、学習ベクトル量子化

概要:教科書の内容にそって、上記のアルゴリズムの勉強をします。

@Hiro_macchan : Rを用いた地理的情報解析

概要:Rを用いた地理的情報の解析について、RにもGISにも詳しくない人間ががんばった経緯を発表できればと思います。

@a_bicky: Rデバッグあれこれ

概要: 実用的なデバッグ方法を紹介できればと思います。

@ito_yan : Rで実験計画法

概要: 一元配置から、基本的な直交実験までご紹介できればと考えています。僕と勉強会に出て、実験計画法使いになってよ!

@tyatsuta: DICEWARS by R

概要: DICEWARSをプレイした上でお聞きいただければ幸いです。

@wdkz: Rで大規模データ解析

概要:Rで大規模なデータを扱ってみます。SAS9.3には負けないぞ

@dichika: シリーズRで可視化#2 インフォグラフはじめました

概要:インフォグラフをRで実現するにはどうしたらよいかこれから調べようと思います


Tokyor16
View more presentations from dichika

@yokkuns: 異常行動検出入門 – 行動データ時系列のデータマイニング

概要: 一連の行動データを単位とした時系列を対象とした異常検知。行動データ時系列から行動パターンを学習し、なりすましや障害などの異常を検出する方法論を紹介したいと思います。

懇親会

懇親会は会場近くにある 居酒屋だいぶつ でやりました!

http://blog-imgs-36-origin.fc2.com/d/a/i/daibutsu01/DSC01440s.jpg

反省

  • 時間管理を全然やっていなくて、後半かなり時間がなくなってしまったので、今後ちゃんとやりたい
  • 資料作成を前日の夜から始める癖をなおしたい

次回

次回は、9/24(土)に開催します!
まだ、LT募集していますので、よろしくお願いします!

第13回 データマイニング+WEB @東京 ( #TokyoWebmining 13th)−Mahout・大規模解析・ビジネス展開 祭り− に参加してきた

第13回 データマイニング+WEB @東京で、異常検知について発表してきました。


発表資料は以下です。

今回、時間がなくて実装まで出来なかったので、次回か次次回のTokyo.Rでは実装してみたいと思います。

関連