2014年12月18日木曜日

Japan.R 2014に参加して (R Advent Calender 14日目)

R Advent Calender 14日目の記事です。

今回はKobe.Rとは関係ないのですが、Japan.Rに参加した感想を書かせていただきます。
Kobe.Rは来年1月末までオフシーズンです。




なかなか東京・関東のRやデータ解析の勉強会的なものに参加できていない中、
今回初めて参加することができたJapan.R、いろいろ刺激になりました。

特に感じたのが

1. 発表内容が面白い
・ 「言語ディスカッション」のセッション、R・Python・Julia・SAS・Excelユーザー代表のパネルディスカッションを企画された方、素晴らしいです。来年はMatlabも…
・ h2o使った方(Blogと御著書、拝読しています)の話を初めてお聞きできました。
・ Freak Out様からは広告最適化指標と実績について。具体的な数字もあり、興味深かったです。

2. ネットワークが密
・ Japan.Rって全国のRの人が集まっていろんな人がいて、、、かもしれませんが、何より感じたのがお互い既に知りあいですというような雰囲気。うらやましい限りです。

3. やっぱり分析関連、凄い人が多い
・ 休憩中や懇親会で異常検知・変化点検出について色々アドバイスいただけました。
・ LT、よくこんなの作るなと感心させられっぱなしでした。

また、参加中にchoroplethrパッケージ作者Ariさんから、R6 Classesは使いやすい、との
コメントがあり、早速業務で使っているコードを試しに一部書き換えてみたりしています。
R6の使い方、こちらにしっかりまとめられているのですが、もう一度書き写してみました。




今回は(公開できる)使用例がないので、一度Open Data関係で作ってと思います。

2014年12月16日火曜日

Kobe.Rの思い出話

この記事はR Advent Calendar 2014の16日目の記事です。
Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。
今回はKobe.Rの思い出話をします。


私(florets)がhirokikから「Rの勉強会をやろう」と声を掛けられたのは、今年(2014年)の2月のことでした。そして記念すべき第1回を3月に開催します。おばあちゃんが一人、パソコン教室と間違えて私達の会場に入ってこられ、ここはパソコン教室じゃないです、R言語の勉強会ですと一生懸命説明したのを覚えています。16名もの参加登録があり、幸先のよいスタートを切ることができました。

ところが、早くも第2回からは参加人数が急激に減ってしまいます。第3回ではなんとたったの4名に。そのうち2名は運営ですから、参加者は2名しかいらっしゃらないという事態です。勉強会の値打ちは参加人数だけではありませんが、それにしても少な過ぎます。これはやばい。しかし、私は不思議と不安は感じませんでした。というのも、hirokikから熱が伝わってくるのを感じていたのです。「Kobe.Rは必ず成功する」と確信していました。








そうして毎月開催していくうちに、Kobe.Rにはおもしろいことが起こり始めます。データ「所有者」と「分析者」の交流の場として機能する集まりになっていったのです。そうなると参加者もだんだんと増えていき、夏が終わるころにはコンスタントに10人を超えるようになります。とうとう前回の第13回では20人を越えました。私(florets)は、この度関西を離れますが、これからKobe.Rがますます盛り上がっていくことを応援しています!

次回のKobe.R 第14回は2015年1月31日です。株式会社ことば研究所様に会場をご提供いただきまして、大阪の心斎橋で開催いたします。たくさんの方に参加していただきたいですね。

2014年12月7日日曜日

Kobe.R #13 + Open Data

Kobe.Rは神戸・大阪で毎月定期的に開催している、
Rとデータ分析に関する勉強会です。


第13回目のテーマはオープンデータです。
技術や活動等のご紹介を関係者の皆様に行っていただきました。


【チュートリアル】
・ Open Data / Linked Open Data紹介



・ SPARQL紹介・ハンズオン



【活動紹介】
・ Linked Open Data Initiative: http://linkedopendata.jp/
・ Open Data Lab: https://www.facebook.com/OpenDataLabHyogo
Open Data Labについて: 兵庫県から「平成25年度企業支援型地域雇用創造事業」として受託し、オープンデータ活用モデル事業とオープンデータカタログサイト構築モデル事業の拠点として神戸市中央区内に1年限定で開設したもの。神戸電子専門学校(神戸市中央区)と明石工業高等専門学校(明石市)の卒業生を含む7人を緊急雇用者として迎え、地域課題解決に向けて取り組みを始めている。



【コンテスト紹介】
・ LOD Challenge 2014

LOD Challenge 2014の紹介 - Created with Haiku Deck, presentation software that inspires

Links:
・ LOD Challenge 2014: http://lod.sfc.keio.ac.jp/challenge2014/
・ アーバンデータチャレンジ 2014: http://aigid.jp/?page_id=421






開催内容: http://kobexr.doorkeeper.jp/events/16989

場所: 神戸市勤労会館
日時: 2014/11/24(月・祝)

14:30~14:45: はじめに
14:45~15:20: オープンデータについて①
         (オープンデータとLinked Open Data(LOD))
15:20~16:10: オープンデータについて②
          (汎用Web API“SPARQL”でオープンデータ検索)
16:10~16:20: オープンデータについて③
          (LOD Challenge)
16:20~16:35: 休憩
16:35~16:40: 時系列データ分析・予測の方法(コンペ結果報告)
16:40~17:00: OpenDataLabの活動紹介
(時間があれば: Rで扱うOpenStreetMap、Excelと地図データ(仮)
17:00~: 解散




・ 今回は「オープンデータ」が効いたのか過去最多23人に参加頂きました
・ ZOZOデータ分析コンペの報告も簡単にさせていただきました。
・ Kobe.R Blogを続けて下さったflorets1さんが関西を離れます。
 これまで本当にありがとうございましたm(_ _)m

2014年11月10日月曜日

次回のKobe.R #13 はオープンデータ特集です

公共データのビジネス活用等への期待の高まりから、オープンデータが注目されています。

オープンデータとは

「機械判読に適したデータ形式で、二次利用が可能な利用ルールで公開されたデータ」であり「人手を多くかけずにデータの二次利用を可能とするもの」です。公共データを二次利用可能な形で提供することにより、市場における編集、加工、分析等の各段階を通じて、様々な新ビジネスの創出や企業活動の効率化等が促され、経済活性化が図られることが期待されています。

テーマ

ウェブはこれから人間が読むための「文書のウェブ」から、様々なデータを自在に発見して利用できる「データのウェブ」へと向かうのでしょうか?データマイニング、機械学習、プライバシーはどうやって守る?などテーマは盛りだくさん。オープンデータとRの融合する瞬間を目撃してください。


Kobe.R #13 + Open Data
http://kobexr.doorkeeper.jp/events/16989

日時: 2014-11-24(月)14:30 - 17:30
場所: 〒651-0096 兵庫県神戸市中央区雲井通5丁目1?2 神戸市勤労会館 講習室404


2014年11月7日金曜日

Kobe.R #12 英会話カフェの売上を増やしたい

Kobe.R #12を開催しました。
URL: http://kobexr.doorkeeper.jp/events/16101
日時: 2014/10/26 Sun. 10:00-12:00
場所: 大阪市福島区

Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。
この日最後の発表者は、神戸で英会話クラブ SMEC を開催されている中澤さんです。

SMEC(Saturday Morning English Club)は土曜日だけやっている英会話カフェです。
英語をしゃべりたいなあと思っているのにしゃべる機会がないという人は多いと思います。そして実は日本にいる外国人だって日本の社会に溶け込みたいと思っているんです。
そんな両者がお互いに交流する機会を作るために、こんなカフェをやってます。
- お金があまりかからない
- みんなが続けることができる
- コミュニティが育っていく



SMEC movie-long ver from Tatsushi Nakazawa on Vimeo.


統計的な手法を使って、英会話カフェの来客数を増やせないか。中澤さんの課題を参加者みんなで考えました。顧客の性別、年齢などの属性をレジで記録できないかなどを検討したのですが、今のところ資金的、時間的に割ける資源がなさそうで、そのようなアプローチは難しいのかなと思いかけたその時、中澤さん自身がするどい分析結果を導き出したのです!

「学生のころからいろいろ集客をやってきたんですけれど、ひとつの原則に気付いたんですよ。男性が集まってくるところに女性は集まってこない。逆に女性が集まってくるところには男性も集まってくるということです。」

人は優れた洞察力をもっています。中澤さんはR言語に頼ることなく、アソシエーションルールを導き出していらっしゃいました。中澤さんからあふれるエネルギーに魅力を感じ、SMECの来客数はこれから増えていくに違いありません。全国にチェーン展開されてPOSレジが導入されたころ、私たちKobe.Rが何かお手伝いできるのかもしれません。などと考えながら、この後みんなでお昼ご飯のカレーライスを食べに行きました。



SMEC (Saturday Morning English Club)
日時: 毎週土曜日朝11時~14時

場所: La luz(ラ・ルス)
JR ・六甲ライナー住吉駅南出口を出て、岡本方面に歩いて徒歩2分(東灘区役所の向かい側)
 阪神魚崎駅を出て住吉川に沿って北上。東灘図書館前の横断歩道を渡って住吉駅方面に歩く。(徒歩15分)

参加費: 無料(ただし、ワンドリンクは必ずご注文ください。)

2014年11月4日火曜日

Kobe.R #12 Rは○○になっていく

Kobe.R #12を開催しました。
URL: http://kobexr.doorkeeper.jp/events/16101
日時: 2014/10/26 Sun. 10:00-12:00
場所: 大阪市福島区

Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。
次は株式会社ブリリアントサービスの飯田さんによる発表です。

センサーとサーバーを活用したアプリケーション開発が求められている

急激に普及が進み、飽和状態になりつつあるスマートフォンやタブレット型端末アプリケーションにとって、今後の開発展望はズバリ「Rとの融合」なのです。スマートフォンアプリは端末ローカルにデータを持つのではなく、サーバーにデータを蓄積する方向に進化しています。端末の価格を低く抑えたいことや、高速なサーバー側で高度なデータ分析を行いたいということが背景としてあると思います。そしてスマートフォンは実はセンサーの塊りです。位置情報をはじめ、気圧、磁気、心拍など様々なデータを測定することができます。
これらセンサーとサーバーを活用したアプリケーション開発が今後求められるでしょう。
もちろん、他にも iOS, Android 2大OSの同時開発や、美しいデザインも大きな要素です。





ゼロからはじめるR言語勉強会について

飯田さんは「ゼロからはじめるR言語勉強会」を主催されています。この勉強会をきっかけに私@florets1はIT勉強会にはまってしまいました。Rという未知の言語、そして統計学との出会い、たくさんの楽しい仲間と出会うことができて本当に感謝しています。


Kobe.R #12 クラスタリング

Kobe.R #12を開催しました。
URL: http://kobexr.doorkeeper.jp/events/16101
日時: 2014/10/26 Sun. 10:00-12:00
場所: 大阪市福島区

Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。
次の発表はクラスタリングについてです。様々なクラスタリング手法についてまとめて紹介していただいたあと、実際にirisデータセットの、k-meansで分類した結果を示していただきました。


質疑

irisデータセットにはもともと、種という分類データが含まれています。この元の分類と今回のk-meansによる分類は比べてどうだったか。そこそこ一致していた。単純なユークリッド距離で分けてうまくいったのは、もとがよいデータだということもあるでしょう。

何個のクラスタに分けるべきかという問題がある。分けようと思えば何個にでも分類できる。いくつに分けるのが一番いいのだろうか。これについてはAIC(赤池情報量基準)などの基準がある。この問題はPRML下巻に混合ガウス分布の変分近似として説明されている。読んでみるとおもしろいですよ。

参考文献

The Elements of Statistical Learning: Data Mining, Inference, and Prediction.

「ものまね鳥をまねる会」とは

スライドの2ページ目に紹介されている「ものまね鳥をまねる会」というのは、発表者の @Wakamatz さんが主催されている読書会です。
森に住む鳥たちのファンタジーを読んでいると、いつのまにか、関数型プログラミング言語の理論的基礎「コンビネータ論理」が身についてしまいますよ。「計算」という行為の本質に迫りましょう。
次回は2014/11/16(日)13:00からです。
http://connpass.com/event/9503/

2014年11月3日月曜日

Kobe.R #12 時系列の予測 Holt-Winters法

Kobe.R #12を開催しました。
URL: http://kobexr.doorkeeper.jp/events/16101
日時: 2014/10/26 Sun. 10:00-12:00
場所: 大阪市福島区

Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。
次の発表は時系列データの予測するモデル Holt-Winters法の紹介です。
季節変動による周期性のあるデータをうまくフィッティングして予測できる様子を見せていただきました。便利そうです。

2014年11月2日日曜日

Kobe.R #12 回帰分析入門

Kobe.R #12を開催しました。
URL: http://kobexr.doorkeeper.jp/events/16101
日時: 2014/10/26 Sun. 10:00-12:00
場所: 大阪市福島区

Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です.
最初の発表は「回帰分析入門 基礎の基礎から」です。この発表資料は、発表を聞きながら、目の前のパソコンで資料通りにRのコマンドを入力して試すことができるように作成しております。





2014年10月20日月曜日

Kobe.R #11 データ分析コンペに挑戦

Kobe.R #11を開催しました。
URL: http://kobexr.doorkeeper.jp/events/15769
日時: 2014/10/4 Sat. 14:00-18:00
場所: 三ノ宮駅周辺

Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。

この日は午前中の Kobe.R #10 が無事に終了した後、とあるデータ分析コンペティションに挑戦するために午後から引き続いて Kobe.R #11 を開催しました。カフェでコーヒー飲みながら、ノートパソコン拡げてデータ分析。楽しそうでしょ?




次回 Kobe.R #12
日時: 10/26(土)10:00-12:00
場所: 大阪市立 福島区民センター 302号室
http://kobexr.doorkeeper.jp/events/16101

2014年10月19日日曜日

Kobe.R #10 MS Excelの最新データ分析機能

Kobe.R #10を開催しました。
URL: http://kobexr.doorkeeper.jp/events/15060
日時: 2014/10/4 Sat. 10:00-12:00
場所: 三ノ宮駅周辺

Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です.

この日最後の発表は、マイクロソフトのオフィスソフトが提供するデータ分析環境について紹介していただきました。その中でも特にPower BI for Office365によって拡張されるExcelの強力な分析機能 PowerPivot と、 PowerMap による可視化をデモをまじえて解説していただきました。


Power BI for Office 365

使い慣れたExcelをベースに、データ分析できる環境です。Excelに検索、分析や可視化の機能を追加してくれます。
- Power Query 社内の情報も社外の情報も検索し、アクセスして変換する
- Power Pivot 簡単にデータをモデル化し、インメモリで素早く分析
- Power View 簡単操作でインタラクティブにデータを可視化
- Power Map 地理的情報、時間的情報を地図上にプロットし 3D でアニメーション表現

「ビジネスの主役である現場の社員が自らデータ分析することが成功の鍵である」というコンセプトです。試用版も提供されています。
http://www.microsoft.com/ja-jp/office/2013/business/powerbi/default.aspx

Power Pivotのデモ

まずはデータを取り込むところからです。取り込めるデータソースは様々ありまして、SQLサーバー、Access、Oracleから、SharePoint、Hadoopなどいろいろ選べます。面白いことにFacebookからもデータを取ってくることができます。友達の一覧や、どの記事に「いいね!」を押したかがExcelのワークシートにずらずら出てくる様子にはショックを受けました。

取り込んだデータは自由自在にクロス集計できます。軸をドラッグ&ドロップで入れ替え放題です。Excelはこれが本当に便利ですね。

Power Mapのデモ

ECサイトの売上データにある住所を日本地図にプロットするデモを披露していただきました。
発表者がExcelをちょいちょいと操作すると、あっというまに地図が表示される様子に、会場からどよめきが起こります。なんという強力なツールでしょうか。私も使ってみたくなりました。


正直に言いますと私は住所という情報を扱うのが苦手です。データに住所が含まれていても基本的には無視しています。住所別に集計してみようなどということは無意識に避けてきました。しかし、Power Mapならできそうだ。そう思わせてくれる大変興味深い発表でした。



全ての発表が終わり、この後みんなでお昼ご飯を食べにいきました。

次回 Kobe.R #12
日時: 10/26(土)10:00-12:00
場所: 大阪市立 福島区民センター 302号室
http://kobexr.doorkeeper.jp/events/16101

2014年10月18日土曜日

Kobe.R #10 疲労の見える化

Kobe.R #10を開催しました。
URL: http://kobexr.doorkeeper.jp/events/15060
日時: 2014/10/4 Sat. 10:00-12:00
場所: 三ノ宮駅周辺

Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。続いては疲労を見える化しようという研究について発表していただきました。

疲労を見える化する

質問紙を配り、回答してもらいます。
質問紙には例えば
- 不安で落ち着かない気分である
- 居眠りが多い
- 微熱がある
- よく眠れない
など、臨床で聞き取ってよく出てくる症状を並べています。
ほとんどの質問はこのように症状ですが、中には
- すごく仕事が忙しい
のように状態をたずねる質問もあり、全部で38個の質問を用意しました。
これらの質問に対し、「まったく無い」から「非常にある」までの5段階で答えてもらいました。

質問どうしの関連を調べ、グループ化、集約することで、この人はこういう原因で疲れている、ということを可視化しようという研究です。今日の発表では質問表のデータから因子分析をやって、因子分析結果の妥当性をとりました、というところまでをご紹介します。

[発表資料は後日掲載]

因子分析の流れ

データは適切か?

因子分析をするにはデータがどれくらいの件数あるかが大切です。
質問の数の10倍から20倍くらいはないといけません。今回は質問38に対して1000人弱の回答がありますので、そこそこよいでしょう。

そして、質問どうしにある程度の相関がないと、質問をうまくグループ分けできません。例えばまったく無相関な質問ばかり並んでいると、因子分析をする意味がありません。そこで、事前に因子分析をする価値があるデータなのか調べます。このことを調べる指標としてKMO, MSAがあります。また、バートレットの球面性検定という方法もあります。詳しくは「中澤 港、Rで因子分析:入門偏」を参照してください。

何個の因子にわけようかな

因子分析やる価値のあるデータだと判断したら、今度は何個くらいの因子に分けることができるかなということを見ていきます。いくつかの方法を紹介します。

- スクリープロットを見る方法 因子行列の固有値を大きい順にプロットしますと、あるところでカクンと落ちるところがあります。落ちる手前までが意味のある因子でしょうねという決め方です。
- 固有値が1を超えていれば、1個分以上の価値がある因子なのだから、そこまでを含めたらいいでしょうという決め方
- 平行分析 自動的に決めてくれます。こちらも詳しくは「中澤 港、Rで因子分析:入門偏」を参照してください。

因子分析で質問をグループ分けしよう

どの項目がどのグループに入るかを計算していくのが因子分析です。今回は38個の質問の項目をを10グループに分けていきます。

この時にどのグループに入るか推定する方法として、最尤法や一般化最小自乗法があります。データの分布が正規分布に近ければ最尤法がよいのですが、今回のデータの場合、普通の方がそんなに症状がいっぱいあるということが本来無いので、つまりどれもこれもあてはまるという人はほとんどいなくて、「まったくない」、「ほとんどない」に回答が集まってしまいました。質問紙の設計を見直すべきだったかもしれません。

データの分布があまりきれいじゃない場合には一般化最小自乗法のほうがロバストでよいとされており、今回の研究では一般化最小自乗法を使いました。

因子の軸を回転する

因子の解釈がしやすくなるよう、回転を行います。この時、因子間の関係性が完全に独立だと仮定して直行した成分とみなして、計算させる方法か、斜行といって因子間に、ある程度は相関があってもいいよねっていう前提で解析するか、決めなければいけません。
この研究では、因子間にある程度関係はあるもんだという前提の回転を選びました。

因子を解釈する

因子分析を行うと、質問項目に対して因子負荷量が出てきます。この数字を見て、どの質問項目がどの因子に入るのかを見ていくわけです。この因子にはこの質問が含まれているというのを見て、因子に名前をつけていきます。例えば、不安、過労、不眠、感染症、慢性疲労などです。


2014年10月13日月曜日

Kobe.R #10 xts 時系列の簡単操作

Kobe.R #10を開催しました。
URL: http://kobexr.doorkeeper.jp/events/15060
日時: 2014/10/4 Sat. 10:00-12:00
場所: 三ノ宮駅周辺

Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。最初の発表「dplyr & xts を使った時系列データの簡単集計」についてご紹介します。

xtsは時系列データの操作に便利

株価や売上のような時系列データには、日付や時刻が記録されています。このようなデータから特定の期間を抽出したい、もしくは、月ごと、週ごとの集計を求めたいという時に便利なパッケージが xts eXtensible Time Series です。

データフレームをxts型に変換する

まず、データフレーム型のデータをxts型のデータに変換します。 例えばこんなデータフレームがあるとします。

> head(data)
              time user_id item_code price
1 2013/11/14 19:39       0       s93  2000
2 2013/11/4  22:39       0      s191  1001
3 2013/11/5  13:15       0       s63  2300
4 2013/11/5  13:15       0        35     0
5 2013/11/6   0:20       0      s001  2800
6 2013/11/6  17:37       0    s80001  2300




このデータをxts型に変換します。

> library(xts)
> data.xts <- as.xts(read.zoo(data))

パイプ演算子を使ってこのようにも書けます。

> library(xts)
> library(pipeR)
> data.xts <- data %>>% read.zoo() %>>% as.xts()


こうしてxts型に変換しておくと、こんな操作ができるようになります。


期間を指定してデータを抽出する


data.xts['2013-05-01::2013-05-08']
data.xts['2013-05']
data.xts['2013-05::']


期間を指定して集計

例えば週別の合計を求めてみましょう。

> weekly <- apply.weekly(data.xts$price, sum)
> head(weekly)
            price 
2013-04-07 704402
2013-04-14 246364
2013-04-21 306163
2013-04-28 246358
2013-05-05 582423
2013-05-12 780918

他にもapply.daily、apply.monthlyで日別、月別の集計ができます。

2014年10月10日金曜日

Kobe.R #10 パイプ演算子

Kobe.R #10を開催しました。
URL: http://kobexr.doorkeeper.jp/events/15060
日時: 2014/10/4 Sat. 10:00-12:00
場所: 三ノ宮駅周辺

Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。最初の発表「dplyr & xts を使った時系列データの簡単集計」についてご紹介します。

簡単集計dplyrではパイプ演算子 %.% を使って、左から右へ流れるようにコーディングすることができます。
このパイプ演算子を強化してくれるパッケージとして magrittr が人気があるそうです。
magrittr のパイプ演算子は %>% です。シフトキーから指を離さずにタイプできるのが評判いいみたいですよ。

他に magrittr より速いという pipeR というパッケージも最近人気のようです。こちらのパイプ演算子は %>>% です。

Kobe.R #10 dplyr データの集計に便利なパッケージ

Kobe.R #10を開催しました。
URL: http://kobexr.doorkeeper.jp/events/15060
日時: 2014/10/4 Sat. 10:00-12:00
場所: 三ノ宮駅周辺

Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。最初の発表「dplyr & xts を使った時系列データの簡単集計」についてご紹介します。


dplyrはデータの集計に便利なパッケージです


基本的な使い方

library(dplyr)

data(iris)

iris.sum <- summarise(group_by(iris, Species), 
                      avg_SL=mean(Sepal.Length), 
                      avg_PL=mean(Petal.Length)) 

head(iris.sum)

Source: local data frame [3 x 3]

     Species avg_SL avg_PL
1     setosa  5.006  1.462
2 versicolor  5.936  4.260
3  virginica  6.588  5.552


pipe演算子を使うと

summarise(group_by(data, A, B), sumA=sum(A), sumB=sum(B))
と書くところを
data %.% group_by(A, B) %.% summarise(sumA=sum(A), sumB=sum(B))
と左から右へ流れるように書けます。

irisをdplyrで集計してみるとこのようになります。

data(iris)
iris.sum <- iris %.% group_by(Species) %.% 
  summarise(avg_SL=mean(Sepal.Length), avg_PL=mean(Petal.Length))



2014年9月26日金曜日

Kobe.R #9

Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。

URL: http://kobexr.doorkeeper.jp/events/14808
日時: 2014/9/21 Sat. 10:00-12:00
場所: 大阪市西淀川区


発表1. 安全なデータ公開のために - Statistical Disclosure Control -


最近のオープンデータという流れに従い、様々なデータが開示されるようになってきました。
しかし、データの開示には個人情報漏えいのリスクが伴います。

社会保障番号や個人名、住所のような直接に個人を特定できてしまうデータはもちろん、性別、年齢、地域、職業のように、単体では個人を特定できなくても、組み合わせることで特定につながるデータがあります。

そのようなデータを開示する場面における
- リスクの評価方法
- データの匿名化
- 匿名化による情報の損失とデータの有用性を評価する方法

について発表していただきました。





参考文献

CRANのSDCの手法を実装したパッケージ
http://cran.r-project.org/web/packages/sdcMicro/

そのリファレンス
http://cran.r-project.org/web/packages/sdcMicro/vignettes/sdc_guidelines.pdf

東京大学 中川裕志 「プライバシー保護データマイニング」
http://www.r.dl.itc.u-tokyo.ac.jp/~nakagawa/labintro/2010PPDM-summary.pdf

東京大学 竹村彰通 「統計的開示抑制について」
http://park.itc.u-tokyo.ac.jp/atstat/takemura-talks/090704-takemura-ppdm.pdf


発表2. カードで説明する統計的独立

例えば、52枚のカードから1枚のカードを引く時、そのカードが「スペードであること」と「絵札であること」は統計的に独立です。
統計の勉強をしていますと、教科書のあちこちに「独立」という言葉が出てきます。この「独立」とはどういう意味なのか、何の役に立つのかということをカードを例にして説明しました。





発表3. 会社でPowerShellを使ってみた

マイクロソフトの作ったスクリプト言語であるPowerShellを使って、レポート作成を自動化されている方の発表です。
PowerShellを使うメリット、デメリットを説明していただきました。
データベースに接続して、必要なデータを取得、データを加工してレポート出力という流れです。レポート出力部分は今のところMS AccessやMS Excelと連携して行っているそうですが、今後PowerShellだけで出力できるようにしてMS OfficeのインストールされていないPCでも利用できる
ようにしていきたいとのことでした。






次回のKobe.Rは 2014/10/04 (土) 10:00-12:00
三ノ宮で開催です。
http://kobexr.doorkeeper.jp/events/15060

2014年9月7日日曜日

Kobe.R #8 GPSデータの話

URL: http://kobexr.doorkeeper.jp/events/13962
日時: 2014/8/30 Sat. 10:00-12:00
場所: 三ノ宮駅周辺

発表5. Dream Satellite Project 1000人の仲間で打上げる人工衛星 

この日最後の発表はGPSデータのお話です。
http://www.slideshare.net/kobexr/r-8



GPSの仕組みは簡単にいうと、人工衛星にとても正確な時計が入っているそうです。人工衛星からはその時間が発信されており、その電波を受信した側は、自分とその人工衛星からの距離がわかります。ですので、複数の人工衛星からの電波を受信すれば、自分の位置がわかるという仕組みです。

ただし、じゅうぶんな数の衛星電波を受信できない場合は、測位の精度が低くなってしまいます。また、情報を提供しているアメリカ政府の軍事戦略上、GPSの情報にはわざと誤差が含まれています。
そのため誤差を補正するしくみがいろいろ工夫されています。例えば、衛星の代わりに地上局から発信している情報を利用したり、2010年には順天頂衛星「みちびき」が打ち上げられて、その情報も利用できるようになりました。

ドリームサテライトプロジェクトではプロジェクト参加者みんなで一つの人工衛星を開発しています。そして今後一年以内を目安に、小型人工衛星「キューブサット」を打ち上げる予定です。キューブサットのミッションもアイディア募集しているそうです。人工衛星を使ってどんなことをやってみたいか、人工衛星のデータを解析する場合どんなデータがほしいかなど、ご意見募集中とのことです。

ここで、会場の制限時間となってしまい、残念ながら質疑の時間はとれませんでした。発表者さんごめんなさい。この後みんなで三ノ宮駅前の中華料理屋さんでお昼ご飯を食べました。



次回のKobe.Rは2014-09-21(日)です。
http://kobexr.doorkeeper.jp/events/14808


2014年9月6日土曜日

Kobe.R #8 疲労推定のデータ

URL: http://kobexr.doorkeeper.jp/events/13962
日時: 2014/8/30 Sat. 10:00-12:00
場所: 三ノ宮駅周辺

発表4. 疲労推定のデータ

続いては医療分野のデータの紹介です。
私たち人間は疲れます。走ると疲れますし、仕事がうまくいかなくても疲れます。ちょっとだけ疲れることもあれば、めちゃくちゃ疲れることもある。そんな疲労という現象を見える化できたらおもしろいと思いませんか。
自分で自分の疲労が見えるようになれば、社会がハッピーになるのではないか。そんな動機から研究調査されたデータを紹介していただきました。

データの内容は、疲れていると出てきそうな症状を5段階で答えてもらったアンケート調査結果です。調査項目が40近くもあるので、この質問の点数が高ければあの質問も点数が高いというようにグループ化して、グループ間でどんな関係があるのかを見ていったそうです。
他にも、自律神経と疲労の関係を調べてられています。自律神経にはがんばれーという神経とやすめーという神経があり、それらの働きのバランスが疲れに関係していることがわかっているそうです。

質疑

参加者のみなさんの中で調査票やアンケートで因子分析したことのあるかたはどのくらいいらっしゃいますか?あ、先生は大丈夫です!

素朴に考えると疲労には肉体的、精神的の2因子くらいがありそうですね。
今回の調査では全部で7因子あって、肉体的な因子が3~4個、残りが精神的な因子でした。

リンパ節がはれているという質問あるが、自覚できる人少ないのではないか。確かにそうです。
というやりとりから、この質問を削った場合の調査結果への影響度合いについて意見のやりとり。

(つづく)

2014年9月5日金曜日

Kobe.R #8 最尤推定法について

URL: http://kobexr.doorkeeper.jp/events/13962
日時: 2014/8/30 Sat. 10:00-12:00
場所: 三ノ宮駅周辺

発表3. 最尤推定法



観測データに確率分布をあてはめて、現象をモデル化したいということがあるのですが、こんな時に登場するのが最尤推定法です。非負の統計量、例えば発生回数や待ち行列への到着間隔のような現象のモデリングには、ポアソン分布がよく使われます。
URL: http://www.slideshare.net/florets1/mle-kober8




発表後の議論


例えば身長のデータに確率分布をあてはめる場合、有力な説明変数である、男女や年齢を考慮せずに分布をあてはめてもよいものだろうか。層分けすることで従う分布が変わってしまうこともあるだろう。あてはめる前の段階で考慮すべきではないだろうか。

一方、説明変数をあらかじめ見つけるのは難しいのも確かだ。業務で故障率の分析をしているが、用途、場所、使用条件などでデータを分けて分析すべきだろう。しかし、前提知識がないと、データだけを見ていても説明変数を拾い出すのは難しい。

実際のデータは男女、年齢のように単純な説明変数ばかりではない。データだけを見るのではなく、ドメイン知識を持つ人の助けが必要だ。データの背景を説明できる人といっしょにデータを分析できることが、Kobe.Rのねらいでもある。

ところで、観測データに対して混合正規分布のような複雑な形状の分布を直接あてはめてしまう機械学習の手法もある。あてはめた混合分布からそれぞれの分布のパラメーターを求めたら、それが説明変数といえるのではないか。

というような話で盛り上がりました。

(つづく)

2014年9月4日木曜日

Kobe.R #8

Kobe.R #8を開催しました。
URL: http://kobexr.doorkeeper.jp/events/13962
日時: 2014/8/30 Sat. 10:00-12:00
場所: 三ノ宮駅周辺

Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。今回はなんと17人も参加していただきました。魅力的な方ばかりで、今後みなさんからぜひお話を聞かせていただきたいと思いました。


発表1. ECサイトの販売ログ分析

誰が、いつ、何を購入したというデータから、前回までに
- 何と何をいっしょに買っているか
- 何の後に何を買うか
- どのようなパス(経路)を通って高額商品の購入に至るか
という分析を行ってきました。

データ提供くださった発表者のさらなる興味は、誰もが飛びつく入口商品からいかにリピート購入につなげるかという施策だそうです。Kobe.Rがそのお手伝いをできたらうれしいですね。


発表2. 商社の販売データ分析

商社の小売店に対する販売データをRを使って分析した事例を紹介しました。Rの基本的な機能だけでも示唆に富む分析ができるのがおもしろいですね。

参加者からいただいた情報もご紹介します。
ヒストグラムを描く時にはデータ区間の左右どちらかが不等号で、もう片方が等号になるのですがコマンドhistを使うときには左右どちらが等号になるのかを意識する必要があります。
rightという引数でそれを指定することができますが、デフォルトのright=TRUEよりも、right=FALSEにしてデータ区間の左側を等号にする方が使い勝手がよくなります。
もっとおすすめの方法は、ヒストグラムを描く時は連続量でもなんとかカテゴリー化して、棒グラフとして描くということでした。

(続く)

2014年8月3日日曜日

Kobe.R #7


Kobe.R #7を開催しました。
Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。


【開催概要】

Kobe.R #7
URL: http://kobexr.doorkeeper.jp/events/13174
日時: 2014/8/2 Sat. 10:00-12:00
場所: 三ノ宮駅周辺



【発表内容】

1.「TokyoRに参加してきました」
担当: florets1
内容: 下のTokyoR参加記を読んでください。

2.「igraphを使って」

担当: K
URL: http://www.slideshare.net/hiroki84/koberr-7-igraph
内容: 通販の販売データ分析。入口商品から高額商品へどうやって導くか。購入データを有向グラフとして分析。






次回の開催は8/30を予定していいます。


【TokyoR参加記】

7/12に開かれた第41回R勉強会@東京(#TokyoR)へ行ってきました。
TokyoRは100人もの参加者が集まる大規模なR言語勉強会です。https://atnd.org/events/52749

目黒駅から坂道を下っていき、芸能事務所のホリプロの前を通り過ぎると、突然目の前に有名な目黒雅叙園と19階建ての高層オフィスビル「アルコタワー」が現れます。
アルコタワーの17階、株式会社ドリコムさんのオフィスが今回の会場です。社内カフェのような作りになっていまして、100人入っても大丈夫!というすばらしい環境。
本棚には「ジョジョの奇妙な冒険」が全巻そろっておりました。お仕事の参考文献でしょうか。

セッションの内容は初心者向けから高度な応用までそろっています。どのセッションも聞いていて楽しいのがすばらしいです。発表者のサービス精神がすごい。
印象に残ったセッションをいくつかご紹介します。

- 10分でわかるR言語 http://www.slideshare.net/akiaki5516/10rver28-14-0712
初心者用セッションです。大事ですね。

- 初めてがR
なんと最初に覚えたプログラミング言語がRだったという方の発表です。勉強に利用したサイトや本の紹介をしてくださいました。次に勉強しようと思っている言語はPerlだそうです。この方、去年までは関西にいらっしゃったそうでして、いっしょにRの勉強したかったですねーという話で盛り上がりました。

- Rパッケージ作成 ハドリー風 http://www.slideshare.net/kaz_yos/r-devtools-roxygen2
パッケージの作り方から、それをCRANに登録するまでの苦労話など。そしてあふれるEmacs愛。


- サポートベクターマシン入門 http://www.slideshare.net/tojimat/tokyor-41
高度な手法を使っていかに「俺」=「幸せ」を実現するか。けっして無駄使いではありません。尊敬します。


- とあるソーシャルゲームで行われた継続に関する分析
「ソーシャル機能」を最初から熱心に使うユーザーは継続しない傾向があるとのことでした。実に興味深いです。

- Stanで決める人類最強の男 http://www.slideshare.net/teitonakagawa/stan-2
マルコフ連鎖モンテカルロ法ツールのStanを使って人類最強の男をベイズ推定するという試みです。すばらしい。

- RでMコマンドを実行させる
大量のCSVを高速に処理できるオープンソースのコマンド NYSOL MCMD というのがあるそうです。データサイエンティストたちの間で流行の兆しだとか。このMCMDをRから
シームレスに利用する方法についての発表でした。

- The R User Conference 2014 @UCLA http://www.slideshare.net/hiratake55/tokyo-r-user2014v01
アメリカのRカンファレンスで発表されてきた方のお話です。この方、最初は個人で勝手に発表しにいく予定だったらしいのですが、会社にばれてしまったそうです。そしたら「ぜひ会社の金で行って来い」ということになったのだとか。


すべてのセッションが終わるとそのまま同じ会場で懇親会となりました。いろんな方とお話できてとても楽しかったです。Kobe.Rもがんばって続けましょう!

2014年7月16日水曜日

Kobe.R #6

Kobe.R #6を開催しました。
Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。


【開催概要】

Kobe.R #6
URL: http://kobexr.doorkeeper.jp/events/12779
日時: 2014/7/5 Sat. 10:00-12:00
場所: 西宮駅周辺
内容: 前回に引き続いての売上データ分析ハンズオン


【成果】

1.「売上傾向(商品の購入順)の可視化」

担当: K

2014年7月14日月曜日

Kobe.R #5

Kobe.R #5を開催しました。
Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。


【開催概要】

Kobe.R #5
URL: http://kobexr.doorkeeper.jp/events/11097
日時: 2014/6/14 Sat. 14:00-17:00
場所: 西宮駅周辺
内容: 発表2件と売上データ分析ハンズオン



【発表内容】

1.「Rの高速化 ~for loop、applyからsqldf、dplyr packageまで」

担当: K

2. 「正規分布の背景」 

担当: florets1
URL: http://www.slideshare.net/florets1/bgnd-kober5

内容:
- 世の中のあちこちに現れる正規分布
- 正規分布とは実はエントロピーが最大になる分布だったんです


Bgnd kobe.r5 from florets1



【売上分析ハンズオン】

Kobe.R #4

Kobe.R #4を開催しました。
Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。


【開催概要】

Kobe.R #4
URL: http://kobexr.doorkeeper.jp/events/11095
日時: 2014/5/17 Sat. 10:00-12:00
場所: 三宮駅周辺


【発表内容】

1.「R入門 Rの使い方 今後の方向性について」

担当: K

2. 「待ち行列のシミュレーション」 

担当: florets1
URL: http://www.slideshare.net/florets1/qsim-kober4

内容:
- 総コストが最小となるようにサービスを設計しましよう
- 分析的な待ち行列モデルの弱み
- Rで待ち行列のシミュレーションをしよう


Kobe.R #3

Kobe.R #3を開催しました。 Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。 【開催概要】 Kobe.R #3 URL: http://kobexr.doorkeeper.jp/events/9897 日時: 2014/4/12 Sat. 13:00~17:00 場所: 三宮駅周辺 内容: 商品売上データをRで分析 データフレームの操作をみっちりやりました。日付を加工したり、地道に前処理してから、ggplot2でグラフ作成。 グラフを見ながら 「季節変動があるね。」 「売上減ってますね。」 「お客さんによっては増えているところもある!」 などと楽しく分析しました。

2014年3月30日日曜日

Kobe.R #2

Kobe.R #2を開催しました。




【開催概要】


Kobe.R #2

URL: http://kobexr.doorkeeper.jp/events/9880

日時: 2014/3/29 Sat. 9:30~12:00

場所: 三宮駅周辺

内容: 時系列データ処理、RでSQL




【参加者とR】

Rの利用頻度・経験について

- 日常使う: 2割

- 使ったことがある: 6割

- はじめて: 2割



【内容】

今回は成り行きまかせで進めました。
発表は特にありません。



【その他】

会後、有志3名で将棋・電王戦の観戦に行きました。

2014年3月16日日曜日

Kobe.R #1

Kobe.R #1を開催しました。



【開催概要】

Kobe.R #1
URL: http://kobexr.doorkeeper.jp/events/9507
日時: 2014/3/15 Sat. 9:30~12:00
場所: 三宮駅周辺
内容: はじめに、発表×3、今後のテーマ



【参加者とR】

Rの利用頻度・経験について
- 日常使う: 2割
- 使ったことがある: 4割
- はじめて: 4割



【発表内容】

1. 「知的情報技術を日用品化する」 

担当: florets1
URL: http://www.slideshare.net/kobexr/ss-32360947
参考: -

内容:
- 10行コードでできる商品購買傾向の可視化
- 消費者の購買前行動履歴の重要性
- ネットワーク解析の事例紹介  



2. 「R入門とGoogleMap+α」

担当: K
URL: http://www.slideshare.net/kobexr/rgoogle-map
参考: -

内容:
- R入門:基本操作と概念
- 位置情報取得とGoogleMap上へのプロット
- GoogleMapを利用した巡回セールスマン問題



3.  「標本抽出と推定 ~小さいデータで精度よく~」

担当: やまつ
URL: http://www.slideshare.net/ssuser3c5220/ss-32360678
参考: サンプリングについてのひとつのお話

内容
- 標本抽出法
- 推定値の平均と分散
- 層化抽出法のメリット ~完全ランダムがベストとは限らない




【今後の開催について】

Kobe.R #2
Kobe.R #3