そぬばこ

備忘録とか、多分そんな感じ。

ベースボールデータハッカソンのプレイベントと、ハッカソン当日に参加しました

パ・リーグ×パーソル ベースボールデータハッカソン というイベントに参加してきました。

techplay.jp

techplay.jp

概要

私は、分類器に関する研究をしている調布の大学の学部4年生です。野球観戦が好きで、現在、経営科学系研究部会連合協議会主催のデータ解析コンペティションに参加していることもあり、このイベントに興味を持ちました。

雑にイベントの概要をまとめますと、パ・リーグのデータを提供するから、そのデータを使ってハッカソン的な事やっちゃおうぜ!という感じのイベントです。私はそのプレイベントとハッカソン当日2日間分の計3日、渋谷に足を運びました。プレイベントは、元楽天のボブ(川井 貴志さん)がゲストとして登壇されたこともあり、楽天ファンの私としては非常に興奮しましたし、ハッカソン当日では、普段データ分析やKaggleをやっていない私からすると気付きや学びが多く、非常に充実した時間を過ごすことが出来たと思っています。この記事では、ハッカソン当日の2日間について書きたいと思います。

データハッカソン

ハッカソンの概要

日程としては、1日目が10:00 〜 19:00、2日目の10:00 〜 14:30の約1日半で行われました。なお、部門が以下の2つに分かれており、私は「エンジニアリング部門」で同大学の先輩と2人で参加させていただきました。

  • エンジニアリング部門
    • データから決められた部分のデータを予測し、予測精度を競う。
  • コンサルティング部門
    • データから新しい提案を考え、プレゼンする。

エンジニアリング部門で予測したのは、「ある球団のファンクラブの会員が特定の試合に来るか否か」です。

約14万人の会員について、球団主催試合のgame1から42に行ったかどうかが事前にわかる状態となっており、game43, 44, 45に行ったかどうかを予測するといったものでした。

f:id:nersonu:20181008125758p:plain

さらに、1日目途中に半分である約7万人がgame43, 44, 45に行ったかどうかが公開され、元々公開されていたベースボールオペレーションの以下のデータを用いて、予測モデルを考えていくといった感じです。

  • 各投手それぞれの試合毎の成績
  • 各野手それぞれの試合毎の成績
  • 試合の中身が各打席ごとにわかるようになっている時系列データ

f:id:nersonu:20181008131312p:plain f:id:nersonu:20181008131515p:plain

データは基本外部に公開しちゃダメなのですが、ここらへんはプレイベントでも撮影が許可されていたので大丈夫なハズ……

やったこと

私も先輩もデータ解析やKaggleといった経験はなく、私の研究領域の知識とその場しのぎのアイデアでいろいろと考えました。データ整形に慣れていないのもあり、あまり特徴量は増やすことは出来ないのがわかっていたので、何か1つの仮説をもとにすすめることになりました。

その中で出てきた疑問が「野球ファンは何日前にチケットを買って、何を動機にするのか」というところで、私達はそれを「 大体1週間前にテレビやネット配信で観た試合が盛り上がっていれば買うんじゃないか? 」と仮定しました。

そもそも盛り上がってるってなんだ……という話なのですが、せっかくだしこないだのプレイベントで聞いたセイバーの指標を使ってみるか、ということになり、以下のようなデータを用いることにしました。

  • 会員が観た試合の1週間前の試合の、選手のFIPの値の合計
  • 会員が観た試合の1週間前の試合の、選手のwOBAの値の合計

結果、何位だったかわかりませんでした(入賞してないので)ので、どこまでそれが効いたかわかりませんが、オリジナリティは少し出せたか?と思ったり思わなかったりしています。あと、そもそもFIPとwOBAの本来の使い方とは離れているので、正しく効く保証もありませんし、 n日前というのはもうすこし検討するべきでした。

うまくいかなかったこと

そもそもデータ整形に慣れていない、scikit-learnの分類器のパラメータチューニングがうまくいってないといったようなことは、経験で明らかなので省略します。今後のデータ解析コンペで鍛えていければと思います。

研究室の同期が、不均衡データに関する研究をしていたので、彼が教えてくれたSMOTE(Chawla et al. 2002)を今回使ってみることにしました。使ったのはPythonライブラリimbalanced-learnのSMOTE1です。

レーニングデータにそのままSMOTEを使ったのですが、結果としては分類器の結果にも偏りが無くなってしまい、精度が残念なことになりました。今後はデータの特性を理解して、データに対する処理も考えていきたい所ですが、使うにあたってSMOTEに対する理解が深まったのは良かったです。

勉強になったこと

表彰の前に入賞者による用いた特徴量やモデルの解説があり、今後どのように処理していけばいいか非常に参考になる点がありました。XGBoost流行ってるし、やっぱ良さそうということもわかりました。

感想

好きな野球に関するデータを扱えたことは、純粋に楽しかったです。こういった実データを用いた予測ということをなかなかやっていないこともあり、そういったことそのものが新鮮でしたし、普段の研究で私の提案モデルを既知のデータでValidationしてるだけなのとは大きく違うなと思いました。

また、やはり他チームの解説で学びや気付きがあったことが一番の収穫でした。学んだことを、データ解析コンペやこういったイベント等で活かせていければと思っています。

参考文献

Chawla, N. V., Bowyer, K. W., Hall, L. O., & Kegelmeyer, W. P. (2002). SMOTE: synthetic minority over-sampling technique. Journal of artificial intelligence research, 16, 321--357.

3月に読んだ小説

先月全然働いてないなってのを、読書量で知ることが出来る。
二冊とも実家から持ち帰ってきた本で再読。

以下、読み終わった時期が早い順


儚い羊たちの祝宴 (新潮文庫)

米澤 穂信

bookmeter.com

短編集。話の主役となる人々は、どれも不気味で、米澤作品にしては終始暗い印象。
往来のミステリーのリスペクトを終始感じさせつつも、先述の不気味さで独自の世界観を構築している。
人間の悪意が巧みに描かれている。ぜひ、一読を。

蹴りたい背中 (河出文庫)

綿矢 りさ

bookmeter.com

言わずと知れた第130回芥川龍之介賞の受賞作。
青春小説であるにも関わらず、弄れ拗らせた登場人物を描かれている。綿矢先生の主たる特徴が表れている代表的な作品だ。
この拗らせ加減が賛否を生む一つの要因であるのだろうが、それもまた一興である。


以上2冊。
無事、4年次に進級いたしました。これからも、よろしくお願い致します。

大学の実験レポートにおけるあれこれ

3年間大学でレポートを書いてきて思ったことを、なんとなくまとめておきたくなったからまとめる。

過去レポートの扱い

Twitterやサークル等で、1年次実験の過去レポート(以下、過去レポ)をもらうことがあった私は、ここらへんの扱いについて気をつけていたことがいくつかある。
一つは、中身を参考にしないこと。ここでいう中身とは、実験の考察内容といった具体的なレポートの内容を指す。そもそも考察事項なんかは、自分や実験のペアとで考えたことを書く場であって、写してどうこうなるようなポイントでは無いと思う*1
じゃあ過去レポって何を参考にしているんですか?という話になる。私の場合、大学入りたてのポンコツで、しかも、高校の化学等で実験とかをやってこなかったのでレポートの書き方なんて全然知らなかった。体裁だけでもなんとか……、ということでなるべく多くの人間が書いたレポートを欲しがったという感じ。
ちなみに、体裁を参考にするときに見ておきたいポイントが2つある。レポートの大きな流れと、文章そのものの書き方だ。前者は、いわゆる型のことで、1年次に弊学*2*3で行う基礎科学実験ならば、「目的」「原理」「実験方法」「結果」「考察」(「参考文献」)辺りを書くという流れを書くということを理解したいということだ。
後者はレポートを書くにあたっての文章の書き方で、例えば、原理は現在形を使って、方法・結果は過去形を使うといったようなことから、理系文書特有の言い回しが挙げられる。
近年世間を騒がせた改竄や、剽窃の問題もある。不正における信頼の失墜は底知れない、十二分に取扱いには注意すべきだろう。

実験レポートの執筆環境

手書き等の強制や指定があるものを除けば、学生には実験レポートをどのようなスタイルで書くかを選択する権利がある。
ある人はこう言うだろう
「やっぱり大学生たるものOfficeは使えて当たり前、パソコンでWordを使えばサクサクレポートを書けるよ!」
またある人はこう言うかもしれない
「情報系なんだったらLaTeXが当たり前!数式が簡単に書けちまうぜ!」
もしかするとこう言う人もいるかもしれない
「レポート、scrapboxで良くないですか?ダメ?あの先生だと許してもらえなさそう」
これに関する話を私はうんざりするほど聞いた。そして昔は私もLaTeX至上主義派だった。LaTeX至上主義派、つまり、LaTeXが一番!レポートを書くなら絶対こっちのほうがいい。と、本気で思っており、一部の過激派は「まだWordなんて使ってんのダッサ~イ」と言って……
そもそもよく考えてみて欲しいのだが、大まかな形式を守っていれば、大事なのはレポートの中身だ。WordとLaTeXの機能面での優劣はいろいろとあると思うが、簡単にある程度整ったレポートを書きたいならWordのほうが完成が速いし楽だ。プログラムのソースコードを添付するならLaTeXの機能を使えばファイル位置の指定だけで済む。もっと言えば、数学の課題レポートだったら手書きのほうが速い。
つまり大事なのはケース・バイ・ケースだと思う。固定観念に囚われないで、実験や課題にあった環境を選択したいところだ。

実験レポートにどれくらいの時間をかけるべきなのか

弊学*4では、合格すれば、講義は1コマにつき2単位、演習や実験科目は1コマにつき1単位認定される。大抵の人間は、講義におけるテストよりも、レポートを書いている時間のほうが長くなる。私も実際そうだった。そして、思う。
コスパ悪くね……)
テストと違って実験レポートの良い所は、こだわればこだわるだけ、課題をこなせばこなすだけ加点がつくので、点数を稼ぎやすいところだと思っている*5
しかし、先に述べたようにコスパが悪すぎる。時間かけてやっても、2コマで2単位しかつかない。悲しいね。
手を抜けと言っているわけではないが、必要以上に実験レポートに凝りすぎないことは大事かもしれない*6。やるべきことを簡潔に、わかりやすくまとめてさえすれば、教員の方々にちゃんと評価してもらえるのだから、もし、レポートを書くのが楽しくなってきたとしても、少し冷静になることを勧める。

おわりに

本当は、新入生や、これからレポートをまだまだ書く後輩たちに読んでもらえるような記事にすべきなんだろうが、この記事はただの自己満だ。そもそも新入生や17生はあまりフォローしていないので、もしこれを読む機会がなんらかの形であって、なにか聞きたいことがあればTwitter等で気軽に聞いてくれると嬉しい。


*1:そう思うんだけど、全く会ったことのない後輩が、「再レポ食らった!」って言っていて、Twitterにあげてる画像の一文をよく見ると、ぼくが過去に書いたレポートの文章があったので笑ったことがある

*2:電気通信大学のこと

*3:どこかの講義で「弊学」と使ったらへりくだりすぎなので、「本学」で良いと正された

*4:「本学」って書かないとまた怒られるかもしれないけれど、とりあえず「弊学」ってしておく

*5:「そんなことねーよ」とツッコミを受けたことはある

*6:私は、基礎科学実験B(化学実験)において、必要以上に図書館で文献を漁って、評価されない「原理」の部分を特に凝っていた。もちろん、骨折り損のくたびれ儲けである

2月に読んだ小説

2月に読んだものを軽くまとめる。最近ハヤカワ多い。

以下、読み終わった時期が早い順


僕が愛したすべての君へ (ハヤカワ文庫 JA オ 12-1)

君を愛したひとりの僕へ (ハヤカワ文庫 JA オ 12-2)

乙野四方字

bookmeter.com bookmeter.com

これはセットで一冊みたいなものなのでまとめて。
並行世界という概念の存在で起こる、不器用な天才が主人公の話。
設定も凝っていて、SFとしても、恋愛小説としても楽しめる。
けっこうサッと読めるので、本を読まない人にもオススメしておきたい。

最後にして最初のアイドル (ハヤカワ文庫JA)

草野 原々

bookmeter.com

短編3作。パンチの効いた文章で殴りかかってくる。
何かと話題になった一作だったらしいが、読めば雰囲気でわかる。
SF好きなら嫌いになれないとは思う。

そして僕等の初恋に会いに行く (角川文庫)

西田 俊也

bookmeter.com

初恋を精算する話。
終始うまくいかない辺りが、現実的でちょっぴりほろ苦い。


以上4冊。
3月は花粉の季節。やっていきじゃどうしようもないこともある。

1月に読んだ小説

1月に読んだ(読書メーター上読了日が1月となっているもの)を軽くまとめておく。本を読むためにしっかりとした時間を確保することは無くて、いつも通り、新宿調布間の京王線で読んだ。

以下、読み終わった時期が早い順


雨の降る日は学校に行かない (集英社文庫)

相沢 沙呼

bookmeter.com

中学時代、学校に行くのは楽しかったか?
カーストを気にして、取り繕っていた自分はいなかっただろうか?
現実として、そこにある。 誰もが気づいても気づかないフリをしているだけ。
6編からなる短編集。

Just Because! (メディアワークス文庫)

鴨志田一

bookmeter.com

dアニメストアで最終回を見た後すぐに読んだ。
読了後の率直な感想としては、物足りない終わり方ではあったが、アニメと合わせて楽しむのが良いと感じた。
アニメとは違い、瑛太と美緒二人のみの構成になっていて、心情描写の補完と考えて読むのを奨めたい。

君は月夜に光り輝く (メディアワークス文庫)

佐野 徹夜

bookmeter.com

第23回電撃小説大賞、大賞受賞作。
月の光を浴びると体が光る発光病で入院している女の子と、主人公である僕とのラブストーリー。
主の展開はよくあるので、どうなるかは読める。しかし、心情描写がうまく、ラストが感動した。

繕い屋 月のチーズとお菓子の家 (講談社タイガ)

矢崎 存美

bookmeter.com

飯テロ小説。料理の表現がとてもおいしそう。
自分の夢を喰らうちょっと変わった話。夢喰いだとバクを思い出すように、他人にどうにかしてもらうのがよくある話だと思うので、気になった人は一読して欲しい。

ポスドク! (新潮文庫)

高殿 円

bookmeter.com

非常勤講師が主人公。
ポスドクの話と一緒に暮らす甥っ子との話が二重で楽しめた。
「派閥争い」や「家族」といったテーマが好きな人も楽しめる内容だと思う。
設定の甘さや、この登場人物は必要なのか、といった部分が少し残念。


以上5冊。
2月はあまり読めないような気がする。なんとなく。

Arch Linuxにgnomeを導入した

以下の話は 2018/1/22 時点の話です。

Linuxディストリビューションとかに疎い私のような人間が、どういう所で躓いたかメモ。
OSはArch Linux。間違っているところがあるかもしれないので、 公式wiki をちゃんと見ることを推奨する。

Xら辺を入れる

グラボを見て、ドライバを入れる

# lspci | grep VGA

これで確認して、合うものを入れる。私の場合Intelのものなので、以下を入れる。

# pacman -S xf86-video-intel

そしたら、X周りを入れ…

# pacman -S xorg-server xorg-server-utils xorg-xinit mesa

られない。xorg-server-utils が見つからんと怒られた。
調べた。見ていた情報が古かったようで、 xorg-apps に代わっているみたい*1。 気を取り直してこう。

# pacman -S xorg-server xorg-apps xorg-xinit mesa

そしたら、必要なものを入れてXのテストをしておく。

# pacman -S xorg-twm xorg-xclock xterm
$ startx

動作確認出来たら exit で出て、下準備はだいたい完了。

gnomeを入れる

では、gnome本体を入れる

# pacman -S gnome

お好みで gnome-extra も入れる。これは別に無くてもgnome自体は動く。

# systemctl enable gdm

Display ManagerのGDMをenableにして終わり。rebootしてgnomeが立ち上がれば、オーケー。

日本語入力

躓いたのは、日本語入力で、標準のIMEだとうまく 半角/全角 で切り替わらない。gnome 3とfcitxの相性が悪いのか、いろいろ試してもダメそうだった。

せっかくなのでオープンソースGoogle日本語入力である mozc を別途で入れてみる。

$ yaourt -S mozc

あとは、gnomeの言語設定の入力ソースから 日本語(mozc) を選ぶだけ……、だと思っていたがUSキーボードで認識されていた。

ちゃんと検証していないのでわからないが、現状以下の2つのことを行うことで、JP106キーボードで動作するようになった。

$ localectl set-x11-keymap jp

上記.bash_profile に書いている。これはあんまり意味が無さそう。
本命は入力ソースのリストに、JP106キーボードでちゃんと動くデフォルトの日本語 を追加しておくことです。これをやっておくと、 日本語(mozc) でもちゃんとJP106キーボードで入力出来ました。めでたしめでたし。

休日はWindowsとArch Linuxデュアルブートさせるところから始め、Arch側のセットアップをいろいろしていたら終わってしまっていました。
知識不足を感じた休日でした。有意義なんだか、そうじゃないんだか。

参考にしました


雑なやつ(12/26)

もうすぐ一年が終わる。

今年は波があった。良い事も悪い事も、一つ一つが大きかったし、新しい事が増えた気がする。

あっという間に、二週間ぐらい先には自分も21になる。20の終わり。思い残し、やり残しはないだろうか。

気が付かぬ間に、歳は私を追い込む。冷たい風に負けずに、ぬくぬくの布団から飛び出して、明日も朝から頑張ることが、せめてもの自分自身の償いとなるように。