今年やったこと
やらなかったことはブログを書かなかった
何をやっていたかというと
主に分析回り
形になったものに関連するものを挙げると
- Exploratory
- dplyr
- shiny + shiny server
- RStudio
- RMarkdown (knitr)
- Jupyter
- pandas
自分の扱っているテーマは、世間的に盛り上がっている大きいデータとは違いあまり大きくないので、Machine Learningなどは興味はあるが、深くやる機会がない
形にならなかったが少し触って使い方は少し分かったもの
- caret
- RandomForest
- scikit-learn
- tensorflow
- mecab
- 画像処理
ずっとやってみたいが全く手をつけられていないもの
- ベイズ
- Stan ?
普段は、環境に恵まれているのでRails周り(Rails 5含む)を中心に手を動かしている
あまり思想的なことを書くことはしないのだが、いろいろ思ったこと(分析周りの雑感)
実感した事は、プログラム畑の人が分析スキルを身に付けようとする場合、ツールの使い方を知る事は大して難しい事じゃない
難しい事は考え方
分析において、新しい価値を生み出すには、まず第一に「考え方」と思うことが多々あった
その次は結局、その新しい考えを実現しようとすると、それに合わせたデータを作る必要が出てきて「データ加工」が重要と言うか、ただひたすら手間と時間がかかる
そのデータ加工は半分くらいの頻度で微妙に間違っている箇所があったりして、何度かやり直すことになる
そもそもデータが無くて収集から始めなければいけないこともある
結果が出た後の検証(測定)も大事
「考え方」って漠然としているけど、具体例を一つ挙げると、
有名なtutorialのネタでTitanicの分析があるが、その模範解答の中に名前からFamilyを導き出すものがある
Titanic: Feature Engineering
模範解答のない身の回りの分析のデータに対して、そういった発想を思いつき、それを実際に加工・分析・検証できることが仕事で使えるスキルだと感じている
ここまでの話は条件付きというか前提がある
お金という成果で考えた時、前提として大きく
0を1にしたいのか
100を105にしたいのか
に分けて考えるのが良いと思っている
自分が言っている「考え方」というのは0を1にする方の話
ツールをいろいろ使ってみるとか、ツールの性能向上が役に立つシーンはもちろんあるが、それはすでに利益を上げていてデータがある企業に必要な事
ビッグデータとかディープラーニングとか流行りで良く聞くものがあるけど、そのほとんどは100を105にする方に適した手法だと思う
数だけで言えば、そもそも分析っぽいことをほとんどしていない企業が分析を活用してみたいという需要が結構あると思う(予算は小さい)
そういった比較的小さい企業の経営層が分析にお金を出すと決めた際に、
100を105にするための手法を売りつけられて、肌感覚では効果はあったような気がするみたいなことが多いんじゃないかと想像してる
(実際には測定が足りずに証明出来ないか、効果はプラスだが微妙なレベル)
個人的にいろいろやってみて思うことは、こうなったら改善するんじゃないかという仮説は5つくらい思いついたら、そのうち本当に効果があるのは1つくらいしかない
他はあったとしても微々たるもので、個人でやる分には良くない結果を捨てる判断はできるのだが、おそらく会社とかでやると、コストがかかっている建前もあって考えなしに導入することになる
こういった効果がわずかだが、メンテナンスコストを増やすものが技術的負債になるんだなと思う
リカバリ方法は無いわけではなく、効果の薄い機能・サービスを削除すれば良い
効果が無いって分かることも、無駄なことではなくて、すごい価値のあることだと思う