INPUTしたらOUTPUT!

忘れっぽいんでメモっとく

第46回R勉強会@東京に参加してきた

Tokyo.Rの発表資料リンクとなっている本ブログです。そろそろちゃんと更新しないと。。。

2/22 資料追加
2/23 資料追加


前半セッション

10分で分かるR言語入門



Rはオワコン

  • みなさん、何を求めてこの勉強会に来ているのか
    • 発表内容がほとんど未定でも参加して失敗だったと思ったことは1度もない。発表内容が未定でも参加する価値がR勉強会@東京にはある(と思う)
    • でも正直、所沢さんや大仏様達LT職人の発表を一番楽しみにしてるw
  • 思考が道具に制限されている
    • これは非常に当てはまる。。。気をつけないと
  • 過去の分析界隈の歴史を知ることができて興味深かった
    • DeNA大量転職事件
    • @nikoriks氏=エンジェル投資家
  • datascience for me
    • 自分のための分析ってできてないな。何するかなー
  • @yokkuns写真詐欺
    • 5kgやせた。ログをとることから
      • 半年ジムに通って1kgしかやせてない。。。体重計ちゃんと買おう


重回帰分析で頑張りたい

  • foreignパッケージ
    • stata/sas/spssのデータを読込むパッケージ
  • difference in difference estimator
  • priGPA/ACTの係数が負なのはどいう解釈?
    • priGPA2が効いているから
  • 目的変数が正規分布でないと重回帰は使えない記憶があれば実際どう?
    • 負にならないカウントデータであればポアソン回帰で良いがカウントデータが2万、3万であれば重回帰でも良いと思う
  • 交互作用項を入れるとR2が劇的に改善しているがどこでモデル改善を打ち切る?
    • 分析のインパクトが売上にどの程度影響を与えるかで決めている。シンプルなモデルで回して行った方が良いと思う
  • R2が0.2, 0.3とかの場合、どこまで許容する?

    • 予測モデルを作りたいのではなくてパラメータを知りたいのであればR2は気にしていない
  • 重回帰する場合、どういう時に2乗したりlogとったり交互作用項作ったりするのか悩むんだけど懇親会で聞けて良かった!

    • みどりぼんでは交互作用項や割り算値はNGだけど・・・
  • I()の使い方覚える


後半セッション

順序データでもベイズモデル

  • 相変わらず非常に分かりやすい発表でとても参考になる。
  • ブートストラップ
    • 外れ値に引きずられるので初心者はほどほどにとのこと
  • zeligパッケージ便利そう
  • オレオレ指標の可視化も分かりやすかった。
    • 差と比、どちらの指標も等高線で書くと問題があることを理解しやすい
  • アローの不可能性定理、自分も初めて聞いた。もっと勉強しないと


Logistic Regression and Causal Estimation

RPubs - Logistic regression Tokyo.R #46

  • Causal Effect Estimation, 流派が2つある
    • Donald B.Rubin
    • Judia Pearl
      • causal diagram
      • DAG(directed acyclic graphs) : 有向非巡回グラフ
  • estimand = estimate + demand
  • 予測力の多寡でモデルの善し悪しを語るな
  • 因果関係を分析するときにsemベイジアンネットワークの使い分けは?
  • DAGは分析者の主観で作るものだと思うが分析結果をみてDAGを修正することはある?
    • 複数個DAGを用意することはある。


htmlwidgetsでJavascriptの可視化をRに

  • highstockはbowerにあるが複数あるので注意すること
  • 時系列データで一度文字列にしてJavascript側で変換
    • Rだと数値に変換される
  • bowerは不要なファイルもとってくるので消す
  • read-and-delete.Rは読まずに消してOK
  • yamlのversionはvを消す
  • d3.js使う場合はminifyされた方を使うこと
  • Javascript側のエラーはデバッグが辛い
  • ブラウザに依存する以上、誰がやっても同じ結果になることは保証されない

  • htmlwidgets、期待が大きかったけと再現性が保証されないのは使うの躊躇してしまうな。。。


cyREST入門

  • CytoscapeからインストールされるcyRestは最新でない可能性がある
  • プロキシ環境の場合は注意
  • 空白は%20に置換する

  • マッピング
    • ノードの大きさや線の太さなどを動的に変えたい場合に使用
  • 自分の環境では以下のエラーでRからCytoscapeに接続できなかった。。。
    • cyRESTインストールしてCytoscape再起動してもダメ。。。localhostに接続できないのは何でだろ
      • (2/23追記) Cytoscapeを3.1.1から3.2.1にアップデートしたら接続できるようになりました
> POST(url="http://localhost:1234/v1/styles", body=style.JSON, encode = "json")
 以下にエラー function (type, msg, asError = TRUE)  : 
  Failed connect to localhost:1234; Connection refused

  • そのうちカワイイもRで作れそうだなw
    • よくよく考えたら「カワイイは作れる」は花王だ!所沢氏のtweet深い。。。


R6パッケージの紹介:機能と実装

  • Rオブジェクトの構造について初めて知る機会だったので非常に参考になった
  • 以下の理解で合ってるのかな?
項目 S3 S4 RC R6
クラス定義 class() setClass() setRefClass() R6Class()
継承 class属性 contains contains inherit
オブジェクト生成 クラス名()? new() クラス名$new() クラス名$new()
オブジェクトのコピー 値渡し 値渡し 参照渡し 参照渡し
メソッド/フィールドのアクセス オブジェクト名$〜 オブジェクト名@〜 オブジェクト名$〜 オブジェクト名$〜
public/private なし なし なし あり
self/super なし なし なし あり
  • microbenchmark()使い方覚えたい
  • R6をS3のメソッド読んだときはちゃんと動作する?
    • 動作する(?)
  • 継承したときにスーパークラスメソッドを再定義せずに呼び出せる?
    • super$〜で再定義せずに呼び出せる


LT

ULT x 3

  • highlighter、自分のmacではうまくパワポKeynoteに貼れない。。。
    • 「htmlとして貼り付け」ができない。Macだから?
  • raspberry piでR動かすとかw


俺とRとディリクレ分布

  • ディリクレ分布
    • 連続型の確立分布
    • ベータ分布を多変量に拡張して一般化した
    • MCMCpackパッケージにディリクレ分布を生成できる関数がある
      • rdirichlet()


cox比例ハザードモデル

  • 生存時間分析の例でとても分かりやすかった!
  • ノモグラムはrmsで書ける


最強のハードディスクはどれだ?


Japan.R補完計画

  • 発表資料の収集がんばります。。。


R に「もしかして」機能を追加する

R に「もしかして」機能を追加する - 捨てられたブログ

  • DYM = Did you mean
  • 似たオブジェクトの探し方
    • 文字列間の距離を定義して距離が最小のもの
      • levenshtein距離
    • 共通部分列が最長のもの
  • すでに作成されてた

  • 今回も非常に参考になった!
  • 最近アウトプットできてないので出していかないと。。。
  • 次回は調整中