SIGNATEで日本のデータ解析コンペティションに参加する方法

一般的なデータ解析コンペティションのプラットフォームというと、kaggleが有名ですが、実は日本にもデータ解析コンペティションが存在するのはご存じでしょうか?

kaggleは基本的に全部英語なので、英語が苦手な日本人が参加するにはちょっと参加ハードルが高くなります。

そこで、注目したいのがSIGNATEです。

kaggleと比較すると、規模が相当劣るものの最近では大体いつも2つのコンペティションが動いているような印象を受けます。

現在動いているのは、以下の二つです。
・Weather Challenge:雲画像予測
・AI創薬: 薬物動態パラメータ予測

賞金はそれぞれ、1位なら
・50万円
・90万円
となっており、モチベーションを出すには十分な金額ではないでしょうか?

さて、本記事ではコンペティションに参加する方法と最低限持っているべき知識について考えたいと思います。

コンペへの参加方法

コンペティションというと参加するのが大変そうという印象がありますが、SIGNATEでは非常に簡単にコンペティションに参加する事ができます。

まずは、お好きな方法で会員登録を行います。

SIGNATE会員登録

SIGNATEで企業からデータを提供してもらうためには、簡単なプロフィールを作製しなくてはなりません。

誕生年、ステータス、最終学歴、利用している言語などの情報を入力すればもうほぼ準備完了です。

まずは、コンペティション一覧にアクセスして自分が気になるコンペティションをクリックしてみましょう。

SIGNATEコンペ一覧

詳細を確認し、参加したいコンペがあれば、
データタブよりデータを取得し、
応募用サンプルファイルを参考にして、
提出用ファイルを作成。

その後、ファイルを提出すればコンペに参加可能です。

パフォーマンスが一番優れている方がリアルタイムに表示されます。

必要知識

基本的には、データ解析を行うための言語の習得が必要になります。

データ解析に必要とされている技術は主に3つであり、
・専門分野に対する理解
・プログラミングスキル
・データ分析手法に対する理解
となります。

なぜ上記の3つのスキルが必要になるのか簡単に説明いたします。

専門分野に対する理解

最新のデータ分析手法を持っていれば専門分野に対する理解なんて必要ないと思われる方もいらっしゃるかもしれません。

しかし、どのようなデータを収集して学習する必要があるのかという部分において専門知識は必須のスキルになります。

データ分析の基本は、仮説検証であり、
例えば、飲食店の明日の売上を予想する場合には、
過去のデータはもちろん過去のデータが意味するものを知る必要があります。

データを見れば何曜日に売り上げが上がりやすいのか、などのパターンを知る事ができます。

しかし、一週間だけクーポンをやっていたり、台風が来ていたりした場合はどうでしょうか?
提供データからはわからない事ですが、明らかに売り上げに影響する要素であることは明白です。

つまり、要因がわからないままデータを適用する事は危険な事なのです。

専門知識を持っていればデータを正しく解釈し、正しいデータ分析手法の選択にもつながります。

場合によっては、外れ値として学習からは除外すべき項目に当たるかもしれません。

プログラミングスキル

言うまでもないですが、プログラミングスキルは、効率面からみて必要です。

プログラミングができなくては自分の思い通りの分析を行う事ができません。

SIGNATEで認められている分析プログラミング手法には、
RとPythonがあります。

個人的には、データ分析のみを目的としてこれから始められる方には、Rがおすすめだと思います。

Rは、分析方法の適用がPythonと比較すると簡単であり、ドキュメントも意外とそろっています。
覚えるまでが簡単で強力な分析力を持っているので、これからの方におすすめな言語となるのではないでしょうか?

一方で、Pythonは、分析方法の適用がRと比較すると若干面倒な印象があります。

しかし、Pythonは分析をメインに作成された言語ではないのでできる事の幅が非常に広いです。

webプログラミングを行ったり、最近ではAndroidプログラミングも可能なようです。
(もちろんネイティブ言語の方がやりやすいですが…)
また、各種APIへの対応もかなり行われており、マイナーなAPIとの連携方法も提供されている可能性が高いです。

プログラミングには力を入れたいという方にはPythonを利用しても良いかもしれません。

プログラミング言語という事でみると、Rは他と比較すると少しいびつな書き方や仕組みをしています。

データ分析手法に対する理解

ニューラルネットワーク、ディープラーニング、決定木、ランダムフォレスト、いくつかのデータ分析手法は昨今見聞きする事が多くなりましたが、その実態を理解している方は非常に少ないのではないでしょうか?

データ分析手法を理解していなければどのようなデータにどの手法を適用すべきなのか判断する事ができません。

日々進歩していきますが、利用するデータの分析手法に大きな違いはでてこないはずです。
すると、差がでてくるのは、どれだけ適切で価値のあるデータを用意できるかというところになります。

とはいえ、全く利用する方法がわからなかったり、適用できるデータ分析手法が少ない事は単純にロスにしかなりません。

上記に挙げたものなどの非常に基本的なデータ分析手法は学習しておくべきでしょう。