神戸市データサイエンティスト募集要項(完全転載)

下記ページの完全転載です。消される前に永久保存です。EBPM分野のデータサイエンティストの業務内容や待遇のベンチマークとして参考にしてください。 www.city.kobe.lg.jp

記者資料提供(令和元年6月26日) 企画調整局産学連携ラボ

データサイエンティストを募集します

 神戸市では、オープンデータや統計の公開・活用により市民や事業者のニーズを踏まえ、根拠に基づいた政策立案(EBPM)を推進する目的で、行政保有のデータや民間保有のデータ等を利活用し、施策を推進していく人材を募集します。

1.募集内容

(1)職  種:データサイエンティスト
(2)募集人員:1名
(3)主な業務内容
1.データに基づいた神戸市政へのニーズ把握、政策・地域課題の発見および分析
2.最適な政策立案のためのソリューションの提案・助言
3.定量(KPI)管理等によるプロジェクトマネジメント
4.データ予測による意思決定の迅速化の支援
5.神戸市関係部局のデータの一元的管理に向けた検討・助言
6.その他前各号に掲げるもののほか、EBPM推進に関する事項等
(4)委嘱期間:令和元年8月1日~令和2年3月31日(出務日については応相談)
(5)勤務場所:神戸市企画調整局産学連携ラボ内
(6)募集期間:令和元年6月26日(水曜)~7月8日(月曜) 17:00まで
※ データサイエンティストは地方公務員法第3条第3項に基づく非常勤の嘱託職員です
※ 勤務状況が良好な場合は、翌年度以降も、委嘱期間を1年毎に更新する場合があります
(上限3年、令和4年3月31日まで)
※ 分析対象として、市の有する税情報を含みます
※ 選考の結果、適任の方がいない場合は、委嘱を見合わせることがあります

2.応募資格

(1)民間企業・自治体において、データ分析に基づくプロジェクトマネジメントの実務経験を持つこと(大学・研究機関等に在籍し、民間企業・自治体との共同研究によりデータ分析に基づく提案を行った場合も含む)。
(2)地方公務員法第16条に規定する欠格条項に該当しないこと
地方公務員法第16条(抜粋)
次の各号一に該当する者は、条例で定める場合を除くほか、職員となり、又競争試験若しくは選考を受けることができない。
1.成年被後見人又は被保佐人
2.禁錮以上の刑に処せられ、その執行を終わるまで又はその執行を受けることがなくなるまでの者
3.当該地方公共団体において懲戒免職の処分を受け、当該処分の日から2年を経過しない者
4.人事委員会または公平委員会の委員の職にあって、第五章に規定する罪を犯し刑に処せられた者
5.日本国憲法施行の日以後において、日本国憲法又はその下に成立した政府を暴力で破壊することを主張する政党その他の団体を結成し、又はこれに加入した者

3.選考方法

選考方法:個別面接
選考内容:データサイエンティストとしての適性を総合的に審査し、最終合格者を決定します。
実施日時:令和元年7月11日(木曜) 午後
※ 実施日時・場所等の詳細については、メール等により通知します。
※ 応募者多数の場合は、書類選考を行う場合があります
合格発表:選考の結果は、受験者全員に令和元年7月中旬までにメール等により通知します。

4.報酬等

(1)勤務日数:週1日 ただし必要に応じて休日出勤有り
※最終合格者に対し、希望する勤務日数を相談させていただきます
※勤務時間は、8時45分~17時30分(休憩1時間)です
※但し、土曜日、日曜日、祝日、年末年始(12月29日から1月3日)は除きます
※具体的な出務日は、選考合格後、最終合格者と相談のうえ決定します
(2)報酬:【年俸額】約75万円 【月 額】約10万円

※大学院卒・30歳・民間経験6年の場合の例
※報酬は、最終学歴・経歴(職務内容・期間)に応じて、一定の基準により決定します
※別途、通勤費を支給します
(3) 休 暇:年次有給休暇、夏季休暇、結婚休暇など
年次有給休暇は、3日(休暇15日×1/5=3日)
(4) その他:社会保険等有。ただし勤務条件による。

5.申込手続

(1) 申込書類:選考申込書兼職務経歴書(指定様式)
(2) 申込期間:令和元年6月26日(水曜)~7月8日(月曜) 17:00まで
(3) 申込方法:申込期間内に選考申込書兼職務経歴書をご提出ください。
(4) 注意事項等:
1.選考結果及び理由についての電話及びメール等によるお問い合わせは一切受け付けません。
2.選考実施に関して収集した個人情報は、本選考の円滑な遂行のために用い、神戸市個人情報保護条例に基づき適正に管理します。
3.申込手続きに不備がある場合は、応募が無効となります。
4.受験資格がないことや申し込みの内容に虚偽があると認められた場合など合格を取り消すことがあります。

6.採用までのスケジュール

選考申込書配布開始 令和元年6月26日(水曜)
選考申込書受付    令和元年6月26日(水曜)~7月8日(月曜) 17:00まで
選考(個別面接)    令和元年7月11日(木曜) 午後
合格発表         令和元年7月中旬     <予定>
採用(委嘱)       令和元年8月1日 (木曜) <予定>

7.FAQ

Q.今勤めている会社に私が受験することを伝えていないのですが、神戸市は秘密を守ってくれますか。
A.いただいた個人情報は、選考申込書記載の連絡先に確認の連絡をとること以外には使用しません。また、外部からの問い合わせに対し、応募の有無も含め個人情報についてお答えすることはありません。ただし、最終合格者については、採用までに職歴証明書を提出いただくなど、職務経歴について確認させていただきます。
Q.兼業は可能ですか。
A.兼業は可能です。ただし、勤め先がある場合には、第一次選考を通過した時点で、なるべく会社並びに所属団体等との調整を始めてください。
Q.委嘱期間は年度毎の更新のようですが、最長何年間委嘱されますか。
A.委嘱期間は最長3年です。ただし、翌年度以降の委嘱の有無については、予算の議決、仕事の成果、その他の状況にもよります。したがって、勤務成績が良好でも、翌年度以降の委嘱が保証できない場合があります。
Q.遠隔地から通勤の場合、宿泊費は支給されますか。
A.宿泊費は支給されません。通勤費は支給します。

【申込書類の提出先・問合せ先】

〒650-8570
神戸市中央区加納町6-5-1(神戸市役所1号館12階)
神戸市市企画調整局産学連携ラボ:山下・服部
TEL:078-322-6462
E-mail:ict-sozo@office.city.kobe.lg.jp

就任者情報: 神戸市による紹介 www.city.kobe.lg.jp

ご本人によるブログ note.mu

ARIMAXの使い方

モチベーション

職場でいきなり時系列モデルのPOCをやることになり、時系列分析初心者だったので大変な思いをした。exogenousやら外生変数やら何だかおどろおどろしい用語が出てきて怖気付きそうだったがPythonなら一発だった。Python愛がここでも深まった。

時系列モデルのデファクトスタンダード、ARIMAに外生変数を追加して精度の向上を目指すARIMAXモデルの直感的解説と使い方を下記Kaggleカーネルをベースにまとめます。

www.kaggle.com

ARIMA + X = ARIMAX

機械学習常習者的直感的解釈

X = exogenous variable (外生変数)

イメージとしては教師ラベルとしてのyを入力するだけのものはARIMA, yに並行して説明変数としてのXも同時入力するものはARIMAXということになる。機械学習に慣れた親しんできた者(機械学習常習者)から見ると、教師ラベルだけで学習を進めようとするARIMAはかなりエキセントリックなことをやっているように見え、むしろARIMAXの方が普通(スタンダード)に見える。

そもそも時系列モデルの数式ではXがなかなか出てこない。これはYのYによるYのための自己回帰モデルだからだが、機械学習常習者から見るとどこか落ち着かない。

Pythonによる実装

arima = sm.tsa.statespace.SARIMAX(y, order=(7,1,7), seasonal_order=(0,0,0,0), enforce_stationarity=False, enforce_invertibility=False).fit()

arimax = sm.tsa.statespace.SARIMAX(y, order=(7,1,7), seasonal_order=(0,0,0,0), exog = X, enforce_stationarity=False, enforce_invertibility=False).fit()

ちなみにXはpandas.DataFrameでもnumpy.ndarrayでもOK。 ちなみに実際にはXはX_trainとX_testに分割し、fitの段ではX_trainを、predictの段ではX_testをそれぞれ入力データとしてモデルに与えてやる必要あり。

参考になった書籍

経済・ファイナンスデータの計量時系列分析 (統計ライブラリー)

経済・ファイナンスデータの計量時系列分析 (統計ライブラリー)

時系列解析入門

時系列解析入門

docker containerはdocker imageの写像である

前提知識

  • docker containerはdocker imageの写像である
  • 作業はdocker containerの中に入って行うのであってdocker imageの中で行うのではない
  • docker imageからdocker containerを作り、docker containerの中に入って作業をするのであって、docker imageの中に入って作業をするのではない
  • docker containerの中で環境を変更した場合、その変更履歴はdocker containerの中に保存されるのであって、そのdocker containerを作った元ネタであるdocker imageに変更した環境が保存されることは無い。従って例えば1日目の作業が終了しexitした後、翌日また同じdocker imageを走らせようと"$ docker run IMAGE"としても前日追加で入れたはずの〇〇というライブラリは存在していない。それはdocker containerのほうに保存されている。

よく使うコマンド集

$ docker images

利用可能なdocker imageのリストを表示させる

$ docker run IMAGE

IMAGEという名のdocker imageからdocker containerが自動生成される
このとき生成されるdocker containerのエイリアス(別名)も自動生成される(ランダムに適当な名前が付与される)。以後このエイリアス(別名)を指定することでこのdocker containerに対する指示が出せる。(e.g., $ docker start -i CONTAINER)

カレントワーキングディレクトリとdocker containerのワーキングディレクトリをマウントさせて、カレントワーキングディレクトリ内のファイルをdocker containerの中から普通に利用できるようにしたいときは、

$ docker run -v {PATH TO YOUR CURRENT WORKING DIRECTORY}:{PATH TO CONTAINER'S WORKING DIRECOTRY} IMAGE  

とする

$ docker ps

起動中のdocker containerのリストを表示させる

$ docker ps -a

起動中/停止中のdocker containerのリストを表示させる

$ docker start CONTAINER

CONTAINERという名のdocker containerを起動させる

$ docker attach CONTAINER

起動中のCONTAINERという名のdocker containerの中に入る

$ docker start -i CONTAINER

CONTAINERという名のdocker containerを起動させ、なおかつその中に入る

具体的な使用例

シナリオ)tensorflow_dockerという名前のimageからcontainerを作成し、その中に入ってjupyter notebookを起動して作業したい

初回

$ docker images  
$ docker run -v {PATH TO YOUR CURRENT WORKING DIRECTORY}:{PATH TO CONTAINER'S WORKING DIRECOTRY} tensorflow_docker  
$ jupyter notebook --ip=0.0.0.0 --allow-root

次回以降

$ docker ps -a  
$ docker start -i hoge  
$ jupyter notebook --ip=0.0.0.0 --allow-root

資本主義経済と国民軍の融合体たる現代社会 〜富国強兵政策継続論〜

はじめに

2019年参議院選挙で安冨歩が主張したこと

現代の生きづらさや閉塞感は、イギリスで発展した資本主義経済システムとフランスで発明された国民軍が融合してできた国民国家システムによってもたらされているのだから、これら19世紀の遺物にいい加減見切りをつけて、子供を守ることを至上命題にした社会を作っていこうじゃないかと訴えた。あらゆる生命体の社会は子供を守るを最終目的にして構成されているのだから、我々人間もそのような自然の摂理・原点に回帰しようと。

私はこの意見に大変感銘を受けた。これまでの人生で自分の行動を規定していたものの正体が一挙に明らかになった思いがした。しかし一方で原点回帰というと石器時代に戻るのかと思う節もある。国民国家システムの歴史と個人でできる具体的な抵抗手段を考えてみたいと思う。

イギリスで発展した資本主義経済システム

詳細は割愛

ところで資本主義は結局のところマルチ商法ネズミ講の構造に非常に酷似している。富は最初に資本を投下した者の手元に集まる。最初に資本を投下した者は需要のある商品をいち早く生産し売る。商品を購入する側はいつまで経っても豊かになれないとやがて気づき、自らも資本を投下して商品を作る側に回る。やがて市場から商品を購入する側が姿を消し商品が売れなくなると(市場の飽和)、新たな商品購入者の獲得を目指して外国市場に進出して需要を喚起して商品を供給し続けようとする。やがてそこでも市場が飽和するとまた新たな経済圏を別の場所に求めようとする。これが延々と繰り返されるが、これは会員が新規会員を誘って勢力を拡張していくマルチ商法ネズミ講の組織増殖パターンと同じである。19世紀以降の植民地獲得競争や20世紀初頭のブロック経済圏の形成、20世紀後半以降のグローバリゼーションなど全て同じ構造から生じている。

フランスで発明された国民軍

詳細は割愛

古代ギリシャより軍事は市民の特権と考えられてきたが、奴隷的労働と軍事の違いとは何か。少なくとも古代においては軍事は冒険ゲームのような娯楽の側面もあっただろうが、19世紀にもなれば軍事システムの歯車としての兵役のどこに特権として享受されるべき福利が残っていたのだろうか。フランス革命に身を投じた市民は直ぐに軍事の奴隷的労働としての側面に気付き厭戦気分からブルボン家の復活を許した。

日本で国民軍の採用が決まったのは1873年の徴兵令からだったが、百姓による軍隊に反対する声も士族を中心に大きかった。これもやはり軍事を特権階級が専有する権利と考えるベースがあったからだが、西南の役で特権主義者が一掃されると徴兵制は単なる国民の義務になってしまった。

19世紀型国民国家システムの完成

アメリカ独立戦争再考

アメリカ人は自前で製品を作れずイギリス製品を購入することでイギリスの資本主義経済システムから搾取されていると自覚するようになった。そのため国産品を増やす努力をしたが、これが資本主義経済システムを国内に導入すること繋がった。更にはフランスに先駆けて国民軍を編成し国王の軍隊たるイギリス軍と衝突し勝利を収めた。アメリカは急速に国民国家システムを取り入れてヨーロッパの国民国家システムと対決しようとした。この対称性は19世紀初頭にヨーロッパで再現され(ナポレオン戦争・諸国民戦争)、続いて19世紀後半以降の東アジアで再現されることになる。

東アジアの覚醒? 〜国民国家システムの採用〜

西洋列強という言葉がある通り、国民国家システムを採用したヨーロッパの国々が世界中で植民地獲得競争を展開した。蒸気船により東アジアにも彼らの投射力は及ぶようになり国民国家システムを持たない東アジアの国々は連戦連敗となった。東アジア諸国は競争力強化を痛感し間も無く国民国家システムを採用するに至った。日本の明治維新がその先駆けとなった。

第二次世界大戦後の植民地支配の終焉 〜国民国家システムがグローバルに展開〜

第2次世界大戦が日本の敗戦とともに終ると、植民地支配を受けてきたアジア諸国・アフリカ諸国の独立運動が一挙に盛り上がり独立国家が多数誕生した。これは国民国家システムが旧植民地にも導入されたということだ。国民国家システムがグローバルに展開され、もはや国民国家システムを採用しない国というものは無くなった。これにより世界は、「万国の万国による万国に対する闘争」という競争原理社会に突入した。

経済成長・GDP成長率を競い合う現代版富国強兵政策

与えられた課題をひたすら解く 〜誰よりも速く誰よりも正確に〜

「経済成長」であったり「GDP成長率」であったり色々と言われているが、結局これらは19世紀型の富国強兵政策を現代的に言い換えたものに過ぎない。そしてこれらの競争の担い手を養成すべく学校教育は戦前の軍人養成教育を現代も続けている。その際たるものが運動会である。運動会の応援歌の多くが戦前の軍歌の替え歌であることからも歴史の連続性が伺える。

いつまで時代遅れの富国強兵政策を支え続けるつもりなのか 〜競争のためのインプット・アウトプットをやめよう〜

富国強兵政策下ではアウトプットは競争に打ち勝つことではじめて評価される。インプットの目的は競争に打ち勝つアウトプットを作るためのものだった。そんなのはもうやめようじゃないか。インプットそれ自体が楽しいか、純粋に知的好奇心を満たすものなのかを重視し、富国強兵政策に寄与する類のインプット(自己投資)はやめる。具体的に言うと競争に打ち勝つための勉強をやめて、純粋に知的好奇心を満たすための学習に切り替える。

アウトプットにおいてもそれ自体が楽しいかを重視し、勝ち負けに拘らないアウトプットに切り替える。具体的に言うと、競争から創造に切り替える。

現実的な抵抗手段 〜競争を減らす”減争”という考え方〜

それでも生きていく上では競争を100%無くすことは現実的ではないかもしれない。そこで競争を必要最小限に留めるという”減争”と言う考え方を導入してみてはどうか。例えば徒競走をする場合でも50メートル走、100メートル走というように競争する範囲が限定されていることに注目してほしい。永遠に相手と徒競走をするのではなく飽くまでもこの距離まで競争しようという発想だ。

2019年上半期データサイエンティスト転職市場でガチで死ぬ思いをした話

転職前の状況

地方の急性総合病院で医療通訳に汗だくになっていた私はPythonと英語力を生かしてもっと上を目指したいと考えるようになっていた。そこで東京のエンワールド・ジャパンにビズリーチ経由でコンタクトを取り、晴れて某外資系CRO(臨床開発受託機関)でデータアナリストとして採用されるに至った。2018年2月のことだ。ここで年収はX00万円からX20万円(ベースX00万年+インセンティブX20万円)に上昇した。34歳の時である。

外資系CROではPythonを使って臨床開発受託業務の業務効率化に資する統計モデルの作成や医薬品売上データなどを使った患者推計システムの構築などに従事していた。利用できていたデータ分析基盤/コミュニケーションツールは以下の通り:
- CDSW (Cloudera Data Science Workbench)
- Impala (SQL query engine for Hadoop)
- Spark
- Jira
- Confluence
- Slack
データ分析基盤の中核となるCDSW上ではPython, R, scalaが潤沢なGPUリソースと共に使いたい放題だった。 また標準労働時間は7時間ジャストと短めで、残業代が稼ぎやすかった。また在宅勤務が週2回まで認められており実際に周りの社員もバンバン取得していたので私も多いに利用できた。実質週3通勤で、月曜日と金曜日に在宅勤務を入れると週末にかけて家族と過ごす時間が増えたのは大きなメリットだった。ただし在宅勤務の場合は残業が申請できない決まりだったのが唯一の難点だった。

転職活動を始めた理由

このような恵まれた環境であったにも関わらず何故転職したいと思うようになったのか。それは使おうと思えば使えるシステムは揃っていたけれど、肝心のそれを使う側のマインドに問題があったからだ。簡単に言ってしまうと上司がダメだった。その上司はデータサイエンスや機械学習についての知識が全く無く、むしろ「機械学習やAIは経験者から仕事を奪うから」という理由でそのようなプロジェクトに積極的に関わることを良しとしない発想の持ち主だった。これでは折角与えられた超贅沢な分析環境も宝の持ち腐れとなってしまう。日に日に仕事は単純極まりないタスクばかりに限定されるようになり物足りなさが日を追うごとに高まってきた。

もちろん年収部分にも不満は多少あり、これだけ活躍しているのにベースX00万円って情けないと思うようになっていた。

転職活動

きっかけは2018年9月頃、登録していたLinkedInに某外資コンサルティングファームの人事部から直接声がかかったことだ。当時私はそれほど本腰を入れて転職活動をしようとは考えていなかったのだが、向こうから声がかかったのだからと面接に進むことにした。結果は最終面接で落とされた。フェルミ推定が上手く出来なかったことと希望年収を吊り上げすぎた(X00万円!)のが原因だと思う。これで私の転職意欲に火が付いてしまった。以後一週間に1回程度のペースで面接を繰り返すようになった。勿論すべてLinkedIn経由だった。

自分への言い訳では無いが、転職活動では全て外国人エージェントを使うようにした。そうすることで無料で英会話の訓練が出来た。これにより英会話力が向上し、英語面接も楽勝になってきた。勿論本業で英会話をするときにも役立った。転職活動によりタダで英語力を向上させ、業務にも生かすという一石二鳥いや三鳥ぶりには自分でも舌を巻いた。

某日系製薬企業の選考過程

とはいえ中々内定は取れないでいた。製薬系とヘルスケア系だけに絞っていたことにも原因があったかも知れないが、経歴が地方の医療機関とCROだけだったというのもウィークポイントになっていたのかも知れない。この点は後述する転職活動再開時に短期決戦で内定が取れたことの勝因分析と併せて後で補足する。

2019年1月、LinkedInのタイムラインに某日系製薬企業(東証1部上場)がデータサイエンティストを募集しているという告知が上がっていることを発見し、直ぐに担当のエージェントに直接連絡を取った。そのエージェントZ氏とはイギリス人だったが日本語が問題なく話せたため日本語で会話をすることになった。(ここは本来の転職活動ポリシーに反するがやはり楽な方が良い)

書類選考が通り、1次面接も通った。転職活動をする理由としては上司がデータサイエンスに理解が無いということを率直に伝え理解して貰った。1次面接は部門長と人事部の二人による面接だった。現職を辞めたい理由の確認と、医薬安全性に適用できる統計的手法をアイディアベースで聞くような内容だった。2次面接は役員面接だった。IT技術やデータ分析の技術を使って患者を助けたいとモチベーションを熱く語ったところ響いているようだった。これが最終面接であり見事通過した。提示年収はベースX00万円+ボーナスX00万円だったのでオファーを受けることにした。この時35歳。

某日系製薬企業で勤務開始

最初1週間は期待に胸が膨らむ思いだったが、次第に何かが違うと思い始めた。データ分析業務は事実上無かった。月に1回部内で開催されるデータサイエンス勉強会が唯一の救いだったが、実務としてPythonのコードを書くということはまず無い。データ分析基盤というものも社内に存在しておらず、これから構築するとのこと。1年〜1年半かけて分析基盤を構築する社内プロジェクトが存在しているだけだった。その社内プロジェクトにも顔を出してみたが、データサイエンスをリードするはずの部長はそこにはおらず、末端の若者が情シスの中堅スタッフに「なぜPythonが必要なのか」を説くことから必要な状態だった。それを聞いた情シスは自身のメモに「パイソン」とカタカナで書いたのを見て私は絶望した。また標準勤務時間が7時間45分であることも思いのほかストレスになった。前職では7時間ジャストだったので、毎日45分余計に仕事をしなければならない感覚に陥ってしまった。

転職活動再開

完全に打ちのめされた私は食が喉を通らなくなり、ベッドに入っても眠りにつくことができなくなった。早速LinkedIn経由でこれまでやり取りのあった主要なリクルーター全員に現状を説明しヘルプを求めるメールを打った。1月の転職活動時点で選考を途中自体していた某外資コンサルティングファームと某ECサイト運営会社については残ステップからの選考再開をしていただくことに。本当にありがたかった。

今回は産業分野をヘルスケア・製薬だけに絞らず、なおかつ以下の点を重視して職を探そうと決意した。以下にあげる重点項目リストは当時やりとりしていたエージェントにメールで送った内容をそのまま転載したものになる。頭にふった番号は優先順位を表している。

重点項目リスト

1)データサイエンティストもしくはデータアナリストとして利用するツール・環境がしっかりと所与のものとして与えられ、
2)PythonやRのコードを書いて解析結果や成果物を出していくという事がビジネスに直接寄与すると認められており、
3)JD以外の業務は原則として求められない、
4)データサイエンティストもしくはデータアナリストが実体のあるロールとして社内で認知されており、
5)必要なデータに必要な時に自由にアクセスできて(過剰なアクセス制限や煩雑な社内手続きや根回しが求めれることなどが無く)、
6)英語を日常業務で使う機会が頻繁にあり、その事が評価される国際的で多様性に富む組織風土があり、
7)相談できるデータサイエンティストもしくはデータアナリスト(日本人・外国人問わず)の同僚もしくは上司が職場に一人以上いる職場で働きたい

(参考までに前職の外資系CROは2, 4, 5, 7が欠乏しており、現職の外資系製薬企業には全てが無かった。全く我ながら情けなく地雷を踏んでしまったようだ。)

上記が満たされていれば、ヘルスケア系以外の会社やベンチャーも視野に入れるとし、年収についても比較的フレキシブルに考えたいと申し出た。

内定2社獲得

外資系統計ソフトウェア会社と某ECサイト運営会社の2社から内定を獲得した。某外資系統計ソフトウェア会社のポジションはプリセールスエンジニア(Advanced analytics & AI関連)で年収X00万円、某ECサイト運営会社の方はデータサイエンティストで年収X00万円(ストックオプション含む)だった。年収比較から前者を選択した。

4月中旬からGWを挟んで5月中旬で内定2社なのだから我ながらよくやったと言える。職歴ロンダリングではないが、大手製薬企業をわずか2ヶ月とはいえ職務経歴書に記載できるようになったことで企業の反応が良くなったように感じた。またインダストリーをヘルスケアだけに絞らなかったのも良かったと思う。

有給消化

5月31日から2週間ほど有給消化のため休暇をいただいた。3月にも2週間の有給消化休暇をいただいていたのでこのわずか3ヶ月の内に2回も長期休暇をいただくという離れ業(文字通り業務から離れている)をやってのけることになった。休み中は賃貸物件を見て回ったり持家派・賃貸派の論争を本やYoutubeで見るなど生活とファイナンスのことを中心に時間を使った。その副作用からなのか労働意欲が減退、というよりも自分の時間と体力を切り売りしてサラリーを得るというサラリーマンのビジネスモデルがどう好意的に捉えてもとても部の悪いもののように思えてきた。

2012年に一念発起して自分の仕事を天職と思い込むことで仕事のパフォーマンスを上げ、結果的に年収も上がった。これは小室直樹が『日本人のための憲法原論』で紹介していたプロテスタントの労働倫理を実践したものだったが、ここに来てこれをサラリーマンの身分でやり続けるのは無理があるのではという疑問が生じるに至った。金儲けはいいことだ、労働は神の栄光を讃える宗教儀式だ、というのは会社経営者であったり個人事業主でかつ自分のプロダクトを作り、自分の時間と体力を切り売りする労働ではなく、プロダクトを生産することでプロダクトに収益を産んでもらう積み上げ式の労働をする人間にとって初めて正しく機能する行動倫理なのではないかという懸念が生じるようになった。即100%切り替えられないにしても少なくとも1日の時間の数パーセントは積み上げ式労働に回していきたいと考えるようになった。

外資系統計ソフトフェア会社で勤務開始

6月16日(日)にこの会社の社員となり、翌17日(月)より勤務を開始した。オフィスの所在地は六本木ヒルズである。思い起こせば地方の病院から外資系CROに入ったときも、南魚沼の大自然から東京・品川の大都会に足を踏み入れたときは人生の景色がガラリと変わった印象を得たが、今回もそれと似たような感覚に捕えられた。それだけ六本木ヒルズというのは私にとってアイコニックな存在であり、ホリエモンヒルズ族という言葉に代表されるような金の亡者の一員に自分も加わってしまったと周りから見られるのではないかという不安が頭をよぎった。

しかしながら実際には金の亡者どころではなく、これまでと少しも変わらない”切り売り”生活のサラリーマンである。色々と考えていても仕方がない。只々また新しく始まった慣れない作業に早く慣れて提示された期待年収額を源泉徴収票にしっかりと刻みつけて年収額(実績)にしていかなければならない。

終わりに

データサイエンティストになる、ということを至上命題として2015年後半から動き出してはや4年。最後の最後でデータサイエンティスト職に見切りをつける、という結果になってしまった。

冷静になって考えてみると、Pythonで(というかpandasで)データをいじり倒すだったり、ルールベースのデータ処理のアルゴリズムを書くのは好きだが、機械学習モデルの精度をコンマ1単位で競い合うような世界でライバルに打ち勝っていくというような世界でしのぎを削るというスタイルは望んでいなかった。かといってkaggleが全く楽しめない、ということでもなく、自分なりの解法を考え出すのは土日の時間つぶしにはもってこいの娯楽だと感じる。1週間ずっとこれだけやっていたいと願うほどではまだ熱中できていないが。

統計学の学習も楽しい。数学(数式)も好きになった。ビジネス上の現実問題を推定したいパラメータに置き換えて数式に落とし込み、Pythonなどのプログラム言語で実装するということがif文を書く並みに簡単にできるようになったとき、初めてデータサイエンティストと名乗って給与相応の活躍ができるものと思っている。そこにたどり着くにはまだ修行が足りない。

RNN or from front to back time series reading

The structure of RNN shows that the previous node connects to the current node. This connection is drawn in 2-dimension such that the previous node sits in the left side and the current node sits in the right side. f:id:HealthcareIT_interpreter:20190216122258p:plain However, when you see the input tensor, the structure of it is 3-dimension such that the previous input sits in the front and the current input sits in the back.

In [1]: tensor                                                                  
Out[1]: 
array([[[3, 7],
        [7, 0],
        [2, 0],
        [3, 9],
        [1, 2]],

       [[4, 4],
        [6, 0],
        [2, 4],
        [3, 4],
        [3, 0]]])

In [2]: tensor.shape                                                            
Out[2]: (2, 5, 2)

So if you revisit the RNN structure as the same as that of the tensor (3-dimension), you can draw the previous node in the front, whereas the current one in the back. This gives me the new insight that when you read a sentence you can imagine that the words stream in aligning with the front-back line, which is different from streaming in aligning with the left-right line as shown in your text. This insight may improve one's reading ability. For human's brain, the movement from left to right (or from right to left as well as from up to down) is not natural as human walks from back to front. Having this insight, I tried to read the novel and checked how my reading fluency improved.

www.aozora.gr.jp

By imagining the words stream from back to front, the kind of obsession that you have to move your eye focus from left to right has been alleviated. This alleviation makes me concentrate on just grasping the meaning of the sentence. I can name this reading method as "RNN reading". I want to know how a person with dyslexia feels when he/she tries reading using this method.