2nd Semester振返り②

Student Life in NUS

2nd Semesterで履修したModuleの具体的な内容を感想とともに書きます。

2nd Semester 履修科目は以下3科目です。
① IT5004 Enterprise Systems Architecture Fundamentals
② IT5006 Fundamentals of Data Analytics
③ IT5007 Software Engineering on Application Architecture

今回はFundamentals of Data Analyticsについて振返ります。

Module受講前の状態

以下、このモジュールを受講する前の私の知識・スキル・経験です。
・数学は数Ⅱ・Bまで学習(といっても15年以上前なので記憶なし)
・統計は平均と分散の言葉の違いと、正規分布と言われたときの形はイメージできる
・AIの領域の中に機械学習という手法があることは知っている
・Pythonの基礎は習得済(Pandasの使用経験なし)
・データ分析の実務経験は、簡単なデータ集計やアンケート分析程度

つまり、ほぼ事前知識はゼロに近い状態からのスタートです笑

Fundamentals of Data Analytics

Lectureは10回+ゲストレクチャー1回

個人課題が2つ

1つ目の個人課題は、データの前処理とvisualizationに関する課題で、与えられたデータセットの欠損値処理や、特徴量作成を行い、Seabornというvisualizationライブラリーを使用してグラフや散布図などを作成。

2つ目の個人課題は、NUSのモジュール情報と、生徒の履修履歴のデータをともにContent-based Filteringという手法を用いてモジュールのおススメを表示するレコメンドエンジンを作成。クラスタリングのアルゴリズムであるk近傍法を使用する比較的簡易な手法で実装。

グループプロジェクト

3名1組で実施するプロジェクトワーク。Prediction ProblemとAnalytics Problemの2種類に取り組む。

Prediction Problemはシンガポールの公団住宅の再販売価格の予測を行いKaggleという機械学習者向けのコンペティションプラットフォームを使用して、クラス内コンペの形式で実施。予測精度の高さを競う。

シンプルな回帰分析であるため、重回帰分析、決定木(回帰)、アンサンブル学習(ランダムフォレスト、勾配ブースティング)を使用してモデリングを行った。

Analytics Problemは同じく公団住宅を題材にしつつ、自分たちで問題を考え、それに対する分析方法のレポートを作成しプレゼンテーションを実施。私のグループは新しい地下鉄路線の開業による再販売価格への影響度を問題として設定。

ABテストに近い考え方で、既に開業済みの路線をもとに開業した駅から500m以内にある公団住宅と、そうでない公団住宅の開業前後の再販売価格の変化を比較することで影響度を推察した。

感想

授業はペースメーカー

私がこのプログラムに参加してから度々経験してきた恐ろしいペースで授業が進んでいくタイプのモジュールでした。

一応数学や統計の知識がない人向けに極力数学的な説明を省略したり、統計の基礎をカバーする授業もありましたが、到底ついていけず。

また2時間の講義のあとに授業の内容をPythonで実装するTutorialが1時間行われますが、Tutorialを担当するTeaching Assistantがとてつもないスピードでコードを書きながら早口で説明をしていくので、私も含む多くの生徒が取り残されていました。

したがって次週の授業までに、不足する知識のキャッチアップや前週の復習をしないとどんどん遅れていってしまい、課題提出やプロジェクトにも影響してしまいます。今回はTAの手厚いサポートも補習もなかったので、1週間の勉強時間のうちかなりの時間をこのモジュールに費やすことになりました。

他のモジュールの予習復習や課題提出もあったため、今週の授業が終わって翌週までの勉強量に絶望していたと思ったらすぐに翌週の金曜日になってしまい、更に新しい内容を勉強しなければならないというもはや火だるま状態。

授業は学習内容を把握する程度で、次週までの学習計画を作るためのとてつもなく早く走るペースメーカーのようでした。

データ分析ってこういうことだったのか

前述の通り非常にタフ度の高いモジュールでしたが、やり切ったときの成長実感は強く有益度は非常に高いものでした。

今まで人生をかけて避けていた数学や統計を学ぶ必要性に直面しただけでなく、データサイエンティスト、データアナリストと言われる人たちが具体的にどのような手法でどのようなことをしているのかをあまり理解できておらず、このモジュールでデータ分析と言われる領域の一部分を理解・経験できた点においては私にとって視野が広がるきっかけとなりました。

高く険しい道であることも同時に自覚

山にかかっていた雲が晴れた一方で、その山は極めて高く道のりも険しいことを自覚するきっかけにもなりました。

ご存じの通り、データというものは構造化された数値データだけでなく、画像、音声、文字など非常に多くの種類が存在し、かつその分析や予測手法も多様かつ、精度を高めようとすると難解になっていきます。

ここから更に専門的な内容に進んでいくためには数学や統計の知識が圧倒的に不足していると感じたので、夏休みで少しでもキャッチアップしていきたいと思っています。

プロジェクトワークで得た刺激

もうひとつこのモジュールで大きな収穫だったのが、プロジェクトワークでした。

私のグループは私の他にHSBCのDX部門で働いていたカナダ人と、シンガポールの政府機関でデータ分析の仕事をしていたシンガポール人で組むことになり、彼らからたくさんの刺激をもらうことができました。

カナダ人のクラスメイトは、サバティカル休暇を取得して私費留学をしていて、目的意識を持ってとても真面目に勉学に取り組む姿勢や、ひとつの事へ時間をかけてでもしっかり理解しようとする探求心が刺激になりました。私よりはプログラミングの経験はあるものの、データ分析は私と同じく初めてだったようなので、お互いにわかることを教え合いながら切磋琢磨することができる素晴らしい人物でした。

またデータ分析を実務で担っていたシンガポール人のクラスメイトからは、データ分析業務を実際にどのようにやっているのか、理論と実務における乖離なども含めてより実践的なスキルや考え方を得ることができただけでなく、何より彼はシンガポール政府から奨学金をもらってこのプログラムに参加しており、シンガポールでもトップクラスの人材の頭の回転の速さ、スキルの高さ、キャリア観などを目の当たりにして驚嘆するとともに、自分自身を見つめ直すきっかけにもなりました。

クラスメイトとのネットワーキングやそこから得られる様々な刺激は、オンラインでは得づらいためこのモジュールでのプロジェクトワークは学べる内容と同じくらい貴重なものでした。

得るものが多かった分、ブログも長くなってしまいましたが、今回は以上です。