数理・データサイエンス教育強化拠点コンソーシアム
関東・⾸都圏ブロックワークショップ
2021年6⽉24⽇

模擬講義2「データエンジアリング基礎」
森 純⼀郎
数理・情報教育研究センター
東京⼤学
東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

⾃⼰紹介
•

専⾨
• ⼈⼯知能、データ解析•••

数理・情報教育研究センター 准教授
数理・データサイエンス教育強化拠点コンソーシアム 教育⽤データ
ベース分科会委員
リテラシーレベル教材の担当• 4-2 アルゴリズム基礎、4-3 データ構造とプログラミング、4-5 テキスト
解析、4-7 データハンドリング•

応⽤基礎レベル教材の担当• 2-3データ収集の⼀部、3-1⼈⼯知能の歴史、3-7⾔語・知識•

数理・情報教育研究センターでの主担当科⽬• Pythonプログラミング⼊⾨（全学対象）• データマイニング⼊⾨（1,2年⽣対象）• データマイニング概論（3,4年⽣、⼤学院⽣対象）

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

2

数理・データサイエンス教育プログラム
http://www.mi.u-tokyo.ac.jp/mds-oudan/index.html•

数理・データサイエンス分野の166科⽬から構成される（2021年度）• http://www.mi.u-tokyo.ac.jp/mds-oudan/Data_Science_20210430.pdf•

数理・情報教育研究センター教員の担当科⽬は以下

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

3データサイエンス履修の⼿引き
http://www.mi.u-tokyo.ac.jp/mds-guide/index.html

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

4担当科⽬の例1•

Pythonプログラミング⼊⾨
•
•
•
•
•

全学対象（1,2年⽣、⼤学院⽣は聴講）
S1ターム（4⽉~6⽉）とA1ターム（9⽉~11⽉）に開講、全7回300名程度の履修者
6-7名の教員と複数のTAで運営
反転授業• 学⽣は事前に教材を⾃学し授業当⽇は演習課題に取り組む• 授業では課題の解説および学⽣からの個別質問に対応• 教材は⼀般公開• https://utokyo-ipp.github.io/• オンラインプログラミング環境のGoogle Colaboratoryで実⾏可能• 独⾃の課題配布・提出・⾃動採点システムを導⼊• 学⽣はコードの動作を複数のテストケースで確認可能• 教員は特に誤答に対してフィードバックを⾏う

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

5

Pythonプログラミング⼊⾨ 教材
https://utokyo-ipp.github.io/

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

6

担当科⽬の例2•

データマイニング概論• 3,4年⽣、⼤学院対象• 1,2年⽣にはSセメスターに「データマイニング⼊⾨」として開講• Aセメスター（9⽉~1⽉）に開講、全14回• 200名程度の履修者• 基本的に1名の教員で運営• 座学（前半）+演習課題（後半）• 前半（45分）• スライドによる授業• 後半（45分）• Google Colaboratory (Colab)でプログラミング演習• Pythonを使⽤• プログラミング課題• 質問対応• zoomのチャット、メール、LMS（Classroom）でのコメント* 学⽣によって質問の障壁に差がある

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

7データマイニング概論のシラバス
https://catalog.he.u-tokyo.ac.jp/detail?code=0590105&year=2021

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

8データマイニング概論の進め⽅（オンライン授業）•zoomによるオンライン授業• zoomは毎回録画し公開。学⽣が後から⾒直せるようにする•

教材（スライドと演習教材）はLMS経由で配布• LMSはGoogle Classroomを使⽤（Google Workspace（旧 G Suite）が全学で利⽤可能）•座学部分• 学⽣へはGoogleスライドを共有• 学⽣は任意のファイル形式でスライドを保存可能• 授業ではタブレット（iPad）のアプリケーション（GoodNotes5）でスライドのpdfを映し、ペン（Apple Pencil）で書き込みながら説明•

演習部分•••••••

演習教材（主にJupyter Notebook）はGitHubで管理
ColabはGitHubを参照するようにする
学⽣へはColabのリンクを共有
学⽣は同リンクを開き各⾃のDriveへ保存、演習に取り組む
演習中は教員のColabを映し、実⾏しながら説明
演習課題はColabファイルをClassroomから提出
Classroom経由で提出物に対するフィードバックを⾏う

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

9

教材配布

Colabへのリンク（ColabはGitHub上のファイルを参照している）

zoom録画へのリンク
Googleスライドへのリンク

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

10

座学部分の進め⽅

重要な点は部分記述・空欄にしておき、書き込みながら説明
特にオンライン授業ではスライドの読み上げだけでは学⽣の集中⼒が続かない

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

11

演習部分の進め⽅
配布するColabファイル

演習教材を管理するGitHubのレポジトリ

参照

学⽣はColabファイルを各⾃のDriveに保存して実⾏
教員はColabファイルを映し、実⾏しながら説明
東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

12

演習の進め⽅
学⽣は作成したコードを提出前にテスト可能（テストケースはColabファイルに埋め込まれている）

教員はテストケースをパスできなかった誤答に対するフィードバックに注⼒できる
東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

13

演習の進め⽅
同テスト機能はGoogle社との連携により開発され、オープンソースとして以下に公開されている
https://github.com/google/prog-edu-assistant/

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

14

演習の進め⽅
課題の提出

課題の配布、実⾏、提出、すべてブラウザ上で可能
東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

15

演習の進め⽅
フィードバック

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

16

以降、応⽤基礎教材 2-3「データ収集」より抜粋

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

17ウェブからのデータ収集における留意点•

データの信ぴょう性• ウェブに公開されているデータを収集する際には，元データの公開元，元データ⾃体の収集⽅法や内容，などの検証を⼗分に⾏い，データの信ぴょう性を確認する必要があります．

•バイアス• 収集したデータにはバイアス（偏り）が含まれる可能性があることに留意する必要があります．
• 選択バイアス：データを集める際に観測したものと観測しなかったものの間の性質の差によって⽣じるバイアス• 情報バイアス：観測者の先⼊観や観測対象の過少申告や過剰反応によって⽣じるバイアス•

個⼈情報の扱い• データを収集する際には，個⼈情報の扱いに⼗分に留意する必要があります．収集したデータが個⼈情報を含む場合は，あらかじめ利⽤⽬的を公表しておくか，または取得後速やかに利⽤⽬的を本⼈に知らせなければいけません．

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

18ウェブクローラ• ⼀般にウェブブラウザは以下のような流れでウェブページを取得しています．
• ウェブブラウザのようなクライアントはウェブサーバへhttpリクエス
トをおくる• この時，http://から始まるURL (universal resource locator) を指定する• ウェブサーバはこのリクエストに答えてURLで指定されたコンテンツ（HTMLで記述されたファイル）を返す• ウェブクローラは，ウェブブラウザが⾏うようなウェブサーバへのコンテンツのリクエストと受信をウェブのリンクを辿りながら逐次的に⾏うことで⾃動的にウェブのコンテンツを取得し蓄積するプログラムです．
• ウェブクローラはボットやスパイダーとも呼ばれます．
• 検索エンジンではウェブクローラを⽤いて膨⼤な数のウェブページを⾃動で収集し索引付け（インデキシング）を⾏い管理しています．

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

19

ウェブスクレイピング• ウェブページ（⼀般にはHTMLで記述されたファイル）から情報を抽出することをウェブスクレイピングと呼びます．
• ウェブクローラなどで⾃動で収集したウェブページからウェブスクレイ
ピングにより情報の抽出を⾏うことで，ウェブから⾃動的にデータを収集することができます．
• ウェブスクレイピングでは⾮構造的なウェブページから情報を抽出し，データ分析に利⽤可能な構造的なデータに整理します．
• ウェブクローリング・スクレイピングを⾏う際はウェブサーバに負荷がかからないように⼗分に注意する必要があります．また，サイトによってはウェブクローリング・スクレイピングを禁⽌している（代わりにWeb APIの利⽤を求める）こともあるため，事前にサイトの規約をよく確認しておく必要があります．

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

20東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

21東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

22