と。

Github: https://github.com/8-u8

TokyoR #75に行ってきました

哲学回だった(?)

ここ1年はこれを楽しみに生きるという苦しみを耐え忍んできています(誇張表現)

今回は私が神話の話をして,ほかの方がパラレルワールドの話や存在意義の話をするというなかなか哲学な話が多かったのでは?という印象でした.

みんななにかに葛藤し,苦しみながら,この世界で楽しみを見出しているんだな……としんみりしています(?)

何故か応用セッションに登録してしまう

LTをするはずだったんですがついうっかり応用セッション宣言をしてしまい,どうしたものかと生まれたのが原点に立ち返るという話と叙事詩に見立てるというテーマでした.

そんなこんなで今回はRのバージョン1.0.0を触ってRの設計思想を理解しようみたいな話をしました.

github.com

Rの言語としての設計や関数の仕様については実際すでにRおじさんたちがいろいろ書いているものの,

好き好んでR1.0.0を触る人はいなかったので,挑んでみました.反省しています.

とはいえ,Twitterでは,私が紹介したやり方を最新バージョンで再現してくださった人などもいらっしゃったりして,少しでも誰かのためになったのであればそれでいいかなと思います.

次回は3月2日とのことで,LTに申し込んでいるところです.ネタは決まったので準備していこうと思います.

そんなこんなで,今回は応用セッションとLTの感想を書き連ねたいと思います.

応用セッション

応用セッションは3つ,そのうち最初が私でした.

資料ブチ上げておくので此処では割愛します.

DID, Synthetic Control and Causal Impact(Yusuke Kaneko)

最近kaggle MasterになったYusuke氏の応用セッションでは,因果推論での「差分の差分析」と"Synthetic Control Method"のお話でした.

DIDは処置群と統制群をおき,「処置群が処置をしなかった場合に統制群と同じ変化をする」という仮定(平行トレンド仮定)を置いて,処置の効果を因果的に図ろうというモデリングです.

この平行トレンド仮定は純粋な実験環境であれば妥当に仮定できますが,実社会だと実現は難しいことがあります. そのため実社会をテーマにした分析では,ある施策を実施した自治体Aと実施しなかった自治体Bのデータで施策の効果比較するということで擬似的に実験環境を作ろうとします.

しかしそれでは施策以外の効果(人口とか地域性みたいなものとか)による影響を排除できずいので,回帰DIDというやつを行うことである程度平行トレンドの仮定を妥当にしようという試みがありますが,そうすると「処置群と統制群としてどの自治体を選ぶのか」という部分の恣意性が論点になります.

そこでその選択もデータから生成することで回避しようというのがSynthetic Control Method,らしいです.この辺は未だにうまく理解できていないところでもありますが. Rにはそれ用のパッケージもあり,前処理して投入すれば実行できるらしいですね.

この報告で興味深かったのは,基本的な回帰DIDをRのlm()関数で実行できるという部分でした.ちゃんと統計理論を理解して,必要な統計量を計算する事ができれば実装できるというのは,仕事でも活きる良い学びでした. また「反実仮想」とは「イフの世界線」というわけで,神話めいた話をした私に続いて異世界転生モノまで

まだスライドは上がっていないようですが,そのうち以下から参照できると思います.

www.slideshare.net

Tokyo.Rの2018年振り返りとこれから

TokyoRを運営しているY_mattuさんの報告でした.資料は公開しないとのことです.

TokyoRは今年からRStudio Foundationが主催している勉強会の運営支援プロジェクトにジョインしており,運営のみなさんにとっても激動の1年だったとのことです.

支援プロジェクトへのジョインに際し,いろいろな登録が必要らしいのですが,手続き時に担当の方には以下のようなことを言われたらしく……

「我々はTokyoRで何をやっているのか」という存在意義を改めて考えさせられました……

2019年は2018年に整えた加えて新しいことも企画されているようで,楽しみですね.

会場探しから進行,懇親会まで,毎回スムーズに進めてくださる運営の方々には頭が上がりませんし足を向けても寝られないですね……

LT

upura 172+192+372 = 2019

upura.hatenablog.com

言わずと知れたkagglerのupura氏はタイトルから興味深いLTでした.

2019という数字,素数っぽく見えて素数じゃないというだけではなく, 「3つの素数をそれぞれ二乗したときの和で表現できる最小の数」という特徴を持つ興味深い数字であるというところから,Rの{primes}パッケージで「それ本当なの?」というのを検証しています.

ただ検証するだけでなく「計算リソースの小さい検証方法」まで考えて実装されていて,さすがでしたね……

kur0cky_y Rでやってみたモダンな就活

気鋭の修士生kur0cky氏のLTでは,就活で重要な「企業選び」の意思決定支援について実装したお話でした.

Webサイトからデータをクローリングして,PCA使って要素を抽出して,プロットやワードクラウドを作るという,人事部の顔が真っ青になるような分析でとてもエキサイトしました……

データを取得するときに「botと間違われないようにする」ために色々工夫をされているところも,機械をヒトに近づけるためにあえて非効率にする点は,汎用AIにも示唆深いと思います.

@weda_654 Rオジサンに捧ぐ

Pythonの話でした.お仕事でPythonを使うらしく,「Rではない」というところに不満を持っているようでしたね.R おじさんだ……

Pythonではデータの前処理や可視化について,Rに慣れた人だと抵抗があるというところから,PythonでもRに似た感じでデータの可視化ができないかというところから,plotnineというライブラリを紹介していました.

今回の参加者もPythonを使いながらRも使うという人は多く,PythonとRの連携みたいな話には関心が寄せられていましたね.その中でもplotnineはRのggplot2パッケージに似たコーディングでデータを可視化できるという点で,RユーザのPythonへの参入障壁を下げる良いライブラリだなと思いました.

@Nr_pr_ RとKubernetes

最近RでWebアプリケーションを作るShinyに関する書籍を出版したNr_pr氏のLTです.

Dockerなどでコンテナ化した仮想環境でRのスクリプトを実行したりShinyを実行したりするときにKubernetesというアプリケーション管理ツールが有効だよ,という話でした.

実際Dockerやクラウドは名前こそ聞きますが自分の手で構築した経験はなく,とはいえ今後使わないやつはモグリになりそうな部分ではあるので,興味深かったです.ちょっと調べてローカルでもいいから組み立ててみるかな……

@sakaue R Bootcamp 2114514

Rの初心者勉強会「R Bootcamp」のご紹介でした. 4日間のスケジュールでRをひたすら書く濃厚なスケジュールで「これを受ければR初心者卒業では?」というカリキュラムが組まれています. 参加枠があと4人,ということなので,興味のある方は↓から登録してみてくださいっ

R初心者講習会/Python初心者講習会(2019年3月)の参加受付開始 | R Bootcampers, Japan

@koheiw7 テキスト分析シンポジウム「POLTEXT」のご案内

POLTEXTは Political Textの略で,自然言語処理を通した社会科学分析のシンポジウムです.

詳しくはこちら

私の古巣でも,SNS自然言語処理を用いた政治思想の解析の勉強会に行っていたり,私自身裁判例のクローリングと自然言語処理で一時期研究を計画していたりということで,懐かしさと興味深さがありました.

今は気軽にこうしたシンポジウムに行けない環境なので*1,もし興味のある方がいれば私の代わりに行ってください……

終わりに

今回もいろいろな情報を得られました.懇親会では仕事の話や「こんなデータ分析したい」というような話で盛り上がったり,こんなことを知りたいという声を聞いたりして,次の発表に活かせるフィードバックがいろいろ手に入りましたね.

あとは発表者のバックグラウンドが多種多様で,普段仕事をしていると気づかない着眼点やツールとの連携について学ぶ本当に希少な機会でした.これからも宜しくお願いします.

次回は3月2日,私はLTやります.テーマは3週間前くらいに確定しますが,データの匿名化の話をするつもりでいます.

*1:気軽に行ける環境に行きたい