慶應義塾大学 #経済学のためのいろいろなデータさがし 2020夏: 2/2

慶應義塾大学 #経済学のためのいろいろなデータさがし 2020夏: 2/2

慶應義塾大学 #経済学のためのいろいろなデータさがし 2020夏: 2/2
2-1. 企業データを取得する (EDINETとgBizInfo)
2-2. Linked Open Data
2-3. Google Big Query でデータを取得する
2-4. Youtube API
2-5. API でデータを取得する;楽天
2-6. スクレイピング; gogo.gs

F5f758ca2ec0de2da9781ce9391d9c6c?s=128

yasushihara

July 15, 2020
Tweet

Transcript

  1. 慶應義塾大学 「経済学のための いろいろなデータさがし」 2020夏: 2/2 2-1. 企業データを取得する (EDINETとgBizInfo) 2-2. Linked

    Open Data 2-3. Google Big Query でデータを取得する 2-4. Youtube APIの使い方 2-5. API でデータを取得;楽天 2-6. スクレイピング応用編; Worldbank/gogo.gs 一橋大学大学院経済学研究科 原泰史 yasushi.hara@r.hit-u.ac.jp
  2. 今日の内容 • 16:30-16:55 • 2-1.企業データを取得する (EDINETとgBizInfo) • 2-2. LOD でデータを探す

    (gBizInfo) • 16:55-17:10 • 2-3. Google Big Query でデータを取得する • 17:10-17:20 • 2-4. Youtube APIからデータを引っ張り出す • 17:20-17:35 • 2-5. API でデータを取得する;楽天 • 17:35-17:50 • 2-6.スクレイピング; worldbank と gogo.gs • 17:50-18:00 • 質疑応答
  3. 2.1 企業情報を分析するには

  4. 企業情報/データベースでわかること • (上場)企業の製品, 財務パフォーマンス • 株価, ROA, ROI, ROE などのパラメータ

    • 売上高, 従業員数 • 創業年, 登記年 → 面接を受ける企業の財務, 経営パフォーマンスを同業他社と比 較して生産性を解析。面接で経営の改善案を提示する!(たぶん 面接官にとっては面倒くさいやつかもしれない)
  5. (一橋大学で利用できる)企業データベース • 日経NEEDS • 日経テレコン21 • ビューロバンダイク (部局による) • Orbis

    データベースはIIRのみ利用可能とのこと • 帝国データバンクデータベース • Entrepedia • FOR STARTUP • DBJ データベース • EDINET
  6. INITIAL (旧 Entrepedia) • スタートアップのデータベース • https://biz.entrepedia.jp/

  7. INITIAL

  8. INITIAL 無償ユーザとして登録後, メルカリを検索

  9. INITIAL • メルカリ関連の情報が表示されるが, 有償版でないと細かな データは取得できない

  10. FOR STARTUP/START UP DB • https://startup-db.com/ • スタートアップ企業12156社の情報を網羅 • INITIAL

    とは異なり、無償で参照できる • だけど、スクレイピング。ダメ、ぜったい。 • 関西学院大学とは共同研究しているとのこと。 • フォースタートアップス、関西学院大学と共同研究開始 「日本のスタート アップ企業の資金調達と成長に関する経済分析」にSTARTUP DBを活用 • https://forstartups.com/pressrelease/kwansei-university-startupdb- 20200326/
  11. FOR STARTUP/START UP DB • メルカリの場合

  12. 日経NEEDS • 日本経済新聞社の総合経済データバンク・システム • 日経NEEDS-FinancialQUESTでは、WEBから以下の内容を用 途に併せてエクセル形式でダウンロードできる。 • 国内マクロパッケージ • 新ミクロ総合パッケージ

    • 地域統計オプション • 企業ファイナンスデータ
  13. [一橋]日経NEEDS の利用条件 • (一橋ネットワーク内からの)同時接続10台 • 範囲: • 一橋大キャンパス内 • サービス時間

    • 月曜日 5:00 ~ 日曜日 15:00 • 対応ブラウザ • Internet Explorer, Microsoft Edge • Google Chrome ですとクレデンシャル情報が渡されませんでした • ということで、これも大学がオープンになっている間に活用しましょう
  14. [慶應] 日経NEEDS の利用条件 • 日経NEEDSの使い方: Home • https://libguides.lib.keio.ac.jp/needs • “一括ダウンロードするためのソフトウェアは、三田キャンパス大学院校舎パソコン室で利用できる

    ほか、在籍中であれば三田ITC、理工学ITCまたは湘南藤沢ITCに申請して個人のPCにインストール することができます(三田やSFC以外のキャンパスに所属される方も利用可能です)。 【三田ITC】 ・財務データ検索システム利用案内 ・株式データ検索システム利用案内 【理工学ITC】 ・財務データ検索システム利用案内 ・株式データ検索システム利用案内 【湘南藤沢ITC】 ・財務データ検索システム利用案内 ・株式データ検索システム利用案内” • 現状; オンラインでアクセスできるデータベース(日経企業財務データベースを含む)は 学部生も自宅からアクセス可能、図書館内でしかアクセスできないデータベースも、7月 13日から入館制限が一部緩和され予約制&制限時間ありで利用可能
  15. 実習. 日経NEEDS のデータを一橋大学図 書館から入手し解析する • 一橋大学付属図書館の電子リソースを参照する • https://www.lib.hit-u.ac.jp/retrieval/e_resource/dblist.html

  16. 実習. 日経NEEDS のデータを一橋大学図 書 館から入手し解析する • 「ナ」をクリックする

  17. 日経NEEDS-FinancialQUEST のメイン画面

  18. 財務データを引っ張ってくる • 【概要】 • 全国証券取引所(ジャスダック 含む)上場会社及び非上場有価 証券報告書提出会社、全国信用 金庫について、有価証券報告 書・決算短信などの開示資料や 日経独自の調査にもとづき、決

    算データ(上場会社は四半期 ベース)を収録します。最大で 1964年以降(単独本決算の 場合)の時系列データとして収 録しています。
  19. 財務データの取得 東証マザーズの全企業の データを取得する 全選択し, “採用” をクリッ クする “次のステップへ進む” をク リックする

  20. 財務データの取得 • 利用するデータ を選択し, “採 用” をクリック する • 右下に項目数が

    表示される
  21. 財務データの取得

  22. 財務データの取得 結果をダウンロードしますか? と表示されるので「はい」 をクリックする

  23. 財務データの取得 • データの出力画面が表示される

  24. Excel で取り出す

  25. グラフを作成する キャンディル ミクシィ インタースペース アマナ F ジ R ー O

    エ ア N ヌ ス T ア カ E イ ネ O グ ッ ル ト ー プ アドウェイズ ユナイテッド 海帆 ト A ラ S ン J スジェジ ニ ェ ッ ネ ク レーションパ ス オイシックス・ラ・大地 バルニバービ SHIFT ベガコーデ ポ ー レ タ ー ホ イ シ ラ グ ョ イ ニ ン ア ゾ ス ド ンバンスト・メディア ドカ リヤ コッ ムク GA technologieシ s リコンスタジオ Aiming ラクスユーザベース モ ソ オ ブ フ ー リ キ ト ク ア ャ マ フ ル ス ッ ァ ワ ト ク ン ー ホ ス ル ード ルディンシ グャ スノン ト A ラ M ス B ト I ホ T ー I ル O デ N ィングス UUUM エムケ ビ ア ー ネ メ 総 エ ッ デ 医 ス ト ィ 研 ネ ホ ッ ー ト ゼ ルネ デラ ィ ピル ン ク・ グ スオ ス タイ 農ス 業タ 総ー 合 ア 研 メ ク 究 モ デ セ 所 ル ィ ル ホ フ カ マ ッ F ォ ル ー ト C F ネ ク リ R ッ ン I ト ク ・ Aミ Lド Bル E バ ウ グ R リ ェ ロ T ュ イ ア ー ー ノ バ ゴ ベ ウ ル ル ー ォ ウ フ シ ナ ン ェ ョ レ テ イ ン ッジドス リイ ーー ト ラクスル メルカリ アイ・ピー・エス システムサポート マネーフォワーイ ド ーソ ル 串 リ カ ネ ツ ネ ッ 田 ッ ト 中 ト ジ ホ イ ャ ー ヤ パ ル ー ン デ グ ィ ル ン ク ー グ ラ プ ス ウドワークス シェアリングテクノロジー東名 ACCESS 手フ 間ル いッ らタ ず イ グ フ ン ラ ィ ル ト ン ジ ル ッ パ ラ G デ ェ ・ タ ル ロ ン - ィ イ カ マ ー ス F ー テ 霞 ン ド A ズ ッ ヶ パ ス C ク 関 ニ タ T コ キ ー ー O ー ャ キ R ポ ピ ャ デ Y レ タ ピ ィ ー ル タ ジ シ ル タ ョ ル ア ン デ メ プ ィ デ リ ー ィ ッ ・ ア ク デ プ フ ス ィ ロ ー ー フ バ シ ・ ェ ー ル エ ッ ユ ブ バ ス シ ー レ ーザ イ エー ン す ッM ロ ら グ ビ H マ ー ら ・ ー Z E エ ー カ ネ テ プ U R ー ト ル ッ ク ラ U O ア ト ノ ッ Z イ ロ ツジ ーW シト e ョ ア ビ l ン ナ ン カ ラ b ノ U メ イ シ オ y キ ェ M サ ド オ ス ン ャ ブ ス N ン レ ム ソ テ コ リ ラ フ バ ッ ・ レ ム リ ア イ ァ イ ク バ イ ズ ス ト サ ー オ ス イ ジ バ パ イ マ オ ア イ ス ジ サ ・ オ ・ ニ イ フ フ バ ア エ ァ ァ イ ン ー ー オ ン ス マ マ グス マー夢 サ ケ 展 ン ッ 望 ワ ト カ エ ン ン パ フ タ ニ リ ェ ー ー イ プ ガ ス ラ ル ネ イ 不 ッ ズ 動 ト産 ワーロ クG ッM クO オ メ リ ン デ サ ィ ー ア チ 工 は 房 てな ビーブレイクシバ ス ン テ ク ム E ・ ズ d オ u ブ L ・ a イ b ノベーショG ン MO イ T ト E ク C ロ H メディM イ ア R ー シ T ア ド ー ク ク トコー ル gooddaysホールディア ン ラ グ イドアーキテク ツ フリークアウト・ホールディング レアジョブ GMOメディア エクストリー 中村パ 超ー 硬トナ ム アクアラインーエージェン ト トライスジテフェーァイジングデルリーープテホィーールケスデユロータィピ ナ コ ピ ジ ン ー イ ン ー オ グ バ テ ド ア ス ン ッ タ ド ド オ ッ & ト コ コ レ ム クティコブラボソスエーデシエィャルアルテワスイサ ヤ J イ ー ス ン ト ポ プ リ ス ロ ア ー ト パ ク ム V テ A K リ A ィ m リ u ー L サ デ a ッ d ト U ー z ク a E バ タ i ソ n N ー バ a フ キ E ワ ン ジ ト ャ X ー ク ー リ ン ク ボ バ 窪 ス テ D ミ ス 田 ク e ッ 製 ノ l ク 薬 サ t ホ a ー エ - ル ン F デ シ ス l ィ ン y メンP ロ テ h ゼ ホ a ッ ー r タ ル m ディングス エスユーエス ウェルビー HANATOUR JAPAN SERIOホールディングス 大泉製作所 テラプローブ テノ.ホールディングス ピ ポ ア ー ラ ト ク エ ッ ル ク ・ ビ テ ズ ィ マ ー ネ ・ ジ エ メ ス ン フ ト ロ ソ ン リ テ ュ ィ ー ア シ イ ョ ン ン タ ズ ーナショナ ル コプロ・ホールディングス メタッバ プ ー ス チ 旅 ャ 工 レ 房 クス・ホールディング日本ホスピスホールディング ス フレアス 日本イ ス ン キ パ ー ク 場 ト ブ 開 ホ ラ 発 ー ン ル ジ デ ス イ ィ タ ン ン タ グ ジ ー ス 神 ー ネ コ 戸 ニ ッ ン 天 ー ト ヴ 然 イ ァ 物 ン ノ 化 フ 学 ィニギ テ ー ィ ク ア ー ス イリグッドコ スー ピポ ーレ ドーシ ョン MTG ヴィそ ッ ー ツ せいグル弁 ー ア 護 プ ド 日 士 ベ 本 ド ン 動 ッ チ 物 ト ャ 高 コ ー 度 ム医療ハ セ ホ キ イ ン エ ー リ ャ ア タ ヌ プ フ リ ス ー ・ ァ ア ・ ピ イ ア ー ン ・ バ ド シ ー ・ ー ス カンフ パ ア ロ ニ ル ン ー ー テ ジ プ ィ ャ レ ア パ シ ・ フ ジ ン マ ィ イ ョ ネ ン ジ テ ・ ベ メ ッ シ ス ン ク ス ト ト テ メグ ム ンロ ・ー サバ イル 識学サマ日 ン本 サアタバセサットジマ ャーパンケリティミテンッグ ヘリオJス MC リント ク レ バ ン メ ル ン ダ ッ ド バ ー ト ピ イ ズ ホ ア オ ー ・ ル ホ W デ ー F A ィ ル r S ン デ i H グ ィ n ハ ス ン ヒ g ウグ ュ e スス ー 8マ 1ン・テ ア ク ソ ノ シ ス エ あ デ A イ ん ー m ツ し タ i ・ ん サ d ホ 保 イ A エ ー シ 証 エ ホ リ ル ン ー ア バ ス ル リ ー ・ デ ン ラ エ ィ ク イ ンフ グス ブ C リ R ッ G ジ ホ イ ー ン ル タ デ ー ィ ナ ン シ グ ョ ス S ナ O ル U 自律制御シ み ス ら テ ベ い ロ ム ス ワ グ ト 研 ト ー リ ラ 究 ワ ク ー ン 所 ン ス ザ ド ス ットハ コウ ムテレビジョンブティック ス ベルトラ一家ダイプ ニ ラ ン ッ グ ツ ギ プ フ ロ ト ジ ェ ク ト NATTY ファS イW バA ーN ゲK ーY ト フィッイ ト オレ 富士山マ タ ガ イ ジ フ セ ン ォ イ ア サ ー ズ ー ラ ー ビ イ ム ス ア フ ユ ビ セ ニ ソ リ ン フ 駅 ケ ン テ ォ 探 ッ グ ッ ー ツ シ ク ム ス ネ 日 テ ク 本 ム ス フ デ ト ァ ー s ル J タ ア M コ I セ イ e ム G ク リ d バ - シ ッ i リ S ョ ジ う o ュ A ン エ る ー W コ る P デ S モ K ザ K ッ S イ I ト H ン Y A A ロ エ K ジ T チ ク I ザ e ー ス ー c シ ム モ ス ド h ノ ス カ ミ マ n プ ピ オ ン レ o ス リ ナ カ ジ オ l ッ ビ ブ ン o ト ・ コ g ジ セ・ ライ ピン ーフ ・ォ サ レ ノ イ ン イ エ 地 ト ド ン ア 盤 ラ ヒ エ ー ス ネ ッ キ ュ ク ー テ A ス マ ク p フ ン ツ p ェ ・ ・ B ニ メ ス a ッ タ タ G n ク ボ ジ a k ス ロ オ m バ ー ・ e ア イ ム ジ W ジ オ ・ ラ ャ i ャ テ イ パ t イ プ ク a ト イ h ル ロ n ア ー メ レ d ッ エ デ ド プ ム ィ ・ f ネ ア パ a エ ッ ・ ー c ー ト ネ ト 日 t ド ジ ッ ナ 本 o ッ ャ ト ー リ r C ト パ ワ ズ ビ y Y ン ー ン B グ E 和 ア 保 R 心 ル 証 D フ Y ァ N ポ E リス 0 200 400 600 800 1000 1200 1400 1600 1800 0 50 100 200 250 300 従業員数 150 企業利潤 企業利潤と従業員数
  26. 5.帝国データバンクデータベース • 企業信用調査報告書 • 企業財務データベース • 企業概要 • 企業倒産 などの情報を網羅

    ・未上場企業のデータもカバー
  27. 5. 帝国データバンクデータベース • 企業情報データ • 所在地 • 企業コード • 売上高

    • 代表者名 などをカバー 引用: https://www.tdb.co.jp/pdf/samp_c2p.pdf
  28. 5. 帝国データバンクデータベース • 調査報告書 • 上場有無 • 資本金 • 取引銀行

    • 仕入先 • 得意先 • 売上高 • 純利益 • 事業構成 • 信用スコア 引用: https://www.tdb.co.jp/lineup/pdf/samp_ccr.pdf
  29. 5. 帝国データバンクデータベース

  30. 5. 帝国データバンクデータベース • データ利用資格・手続き 1. センターで企業データを用いた研究に従事するのは、共同研究契約に予め記載さ れた一橋大学教員と帝国データバンク社員の他に、センターの連携協議会が認め る人とします(研究担当者、研究補助員、その他)。研究期間は、連携・協力協 定および共同研究契約の期間(2020年3月末までの2年間)を目処とします。 2.

    本学の教員・学生のみならず、国内外の他大学等の教員・研究者・学生等も、所 定の手続きを経てセンターの研究担当者・研究補助員等になり、当センターの企 業データを利用することができます。ただし、他大学等の教員・研究者の場合は、 一橋大学客員研究員として承認される必要があります。具体的な手続き等につい ては、当センターにお問い合わせください。 3. 企業データは(株)帝国データバンク本社のワークステーションに設置され、セ ンター端末からの遠隔操作を通じてのみ利用できます。個別企業のデータの検 索・閲覧や持ち出しは一切できません。 4. センターの企業データを用いた研究に従事する人には必ず、所定の誓約書を提出 していただき、その規定に従っていただきます。 5. DPを含めて研究成果を公表する場合には、他大学の教員・学生等にも、所属機関 に加えて一橋大学の当センターのアフィリエーションを成果論文等に記載するこ とが義務づけられます。 http://www7.econ.hit-u.ac.jp/tdb-caree/qualification/
  31. 5. 帝国データバンクデータベース • マーキュリタワーの4F に研究センターがあります • もし卒論や修論や博論に使いたい場合には、是非ともお問い合 わせください

  32. 6+. NISTEP 企業名辞書 • http://www.nistep.go.jp/research/scisip/rd-and-innovation- on-industry • 複数のデータセットをID ベースで接合するためのテーブル http://www.nistep.go.jp/wp/wp-content/uploads/user-

    manual-of-comp_dic_2019_1.pdf
  33. 6+. NISTEP 企業名辞書 • カバーしている企業群 • ① 特許出願数累積 100 件以上

    • ② 株式上場企業 • ③ 特許出願数の伸び率大 • ④ NISTEP 大学・公的機関名辞書掲載企業 • ⑤意匠・商標登録数累積 100 件以上 • ⑥ 持株会社制移行に伴い設立された事業会社 • ⑦ 一部事業の譲渡に伴い設立された会社 • ⑧ 名称変更又は吸収合併した企業が登録事由に該当
  34. 6+. NISTEP 企業名辞書

  35. 7. EDINET-PYTHON • pip を用いて edinet-python を導入する

  36. 7. EDINET-PYTHON • EDINET をインポートする • 特定日のドキュメントをイン ポートする • インポートしたドキュメント

    のタイトルを表示する
  37. 7.EDINET-PYTHON • EDINET のAPI を用いて, 特定企業のXBRL ファイルとPDF ファイルを取得する • 当該Notebook

    と同じディレクトリに保存する
  38. 7.EDINET-PYTHON • XBRL • XMLっぽいフォーマットの塊 • PDF

  39. 7.EDINET-PYTHON • 取り出したデータを参照して、必要なコンテンツを Parse する

  40. 7.EDINET-PYTHON • 情報を取り出す • Mecab と組み合わせると、きれいに出来そう

  41. 7.EDINET-PYTHON • 情報を取り出す(研究開発情報)

  42. まとめ • 企業に関するデータベースはございます • ただし、体系立てて、かつExcelやPython やR にすぐ使える感 じになっているもの (日経系, Orbis

    系) は、現状下とてもアク セスしずらい状況に • 企業ベースのデータで解析を希望する場合, 大学に入れる間に データの取得を済ませておく必要がありそうです • (秋や冬に大学に入れる可能性が、まだかなり不確かなので)
  43. 2.2 Linked Open Data

  44. 今日のテーマ; オープンデータ • オープンデータとは • “特定のデータが、一切の著作権、特許などの制御メカニズムの制限な しで、全ての人が望むように利用・再掲載できるような形で入手でき るべきであるというアイデア” • “オープンデータとは、自由に使えて再利用もでき、かつ誰でも再配布

    できるようなデータのことだ。従うべき決まりは、せいぜい「作者の クレジットを残す」あるいは「同じ条件で配布する」程度である“ https://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%BC%E3%83 %97%E3%83%B3%E3%83%87%E3%83%BC%E3%82%BF
  45. Level of Open Data ★ Available on the web (whatever

    format) but with an open licence, to be Open Data ★★ Available as machine-readable structured data (e.g. excel instead of image scan of a table) ★★★ as (2) plus non-proprietary format (e.g. CSV instead of excel) ★★★★ All the above plus, Use open standards from W3C (RDF and SPARQL) to identify things, so that people can point at your stuff ★★★★★ All the above, plus: Link your data to other people’s data to provide context https://www.w3.org/DesignIssues/LinkedData.html https://5stardata.info/ja/
  46. オープンデータのエッセンス • データがオープンライセンスで公開されていること • コンピューターが処理できる形式になっていること • オープンに利用できるフォーマットでデータが公開されている こと • Web

    標準でデータが公開されていること • 外部データともリンク可能なこと • これらを踏まえたのが, Linked Open Data
  47. 統計データのRDF (Resource Description Framework) 化 • 統計表のデータ定義では、統計 表のセルごとにRDF化を行ない ます。 •

    統計表の各セルに対してIDを振 り、それを主語とします。 • 各セルに対して、次元、測度、 属性、観測値を、それぞれ述語、 目的語として定義します。 • 主語、述語、目的語の3つの要 素を「トリプル」といいますが、 ひとつの統計値(統計表のセ ル)は複数のトリプルによって 表されます。 http://data.e-stat.go.jp/lodw/outline/abstraction#1-1-1
  48. Linked Open Data Cloud • https://lod-cloud.net/

  49. オープンデータの具体例; メディア芸術データベース LOD • メディア芸術データベース • マンガ • アニメーション •

    ゲーム • メディア・アート に係る情報が集約されたデータ ベース
  50. メディア芸術データベース • 検索結果 • 監督 • 演者 • 作成者 などの情報が取得できる

  51. メディア芸術データベースLOD • https://metadata.moe/madb-lod/

  52. メディア芸術データベースLOD • 公開年ごとにTVアニメ数を集計する PREFIX schema: <http://schema.org/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX

    rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX ma: <https://metadata.moe/ns/madb/ma#> SELECT ?y (COUNT(DISTINCT *) AS ?cnt) WHERE { ?s a ma:Collection ; ma:media "TVレギュラー" ; schema:startDate ?startDate . } GROUP BY (SUBSTR(?startDate, 1, 4) AS ?y) ORDER BY DESC(?y) 接頭辞 PREFIX を指定する たとえば, PREFIX ma: は文化庁 DBの叙述構造を取得する
  53. メディア芸術データベースLOD • 公開年ごとにTVアニメ数を集計する PREFIX schema: <http://schema.org/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX

    rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX ma: <https://metadata.moe/ns/madb/ma#> SELECT ?y (COUNT(DISTINCT *) AS ?cnt) WHERE { ?s a ma:Collection ; ma:media "TVレギュラー" ; schema:startDate ?startDate . } GROUP BY (SUBSTR(?startDate, 1, 4) AS ?y) ORDER BY DESC(?y) Select では, ?y と ?cnt を取得する Where 中では, ma:Collection の中で, ma:media で “TVレギュラー” に当て はまるデータを取得し, schema:startDate の情報 を ?startDate に渡すことを明記する
  54. メディア芸術データベースLOD • 公開年ごとにTVアニメ数を集計する PREFIX schema: <http://schema.org/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX

    rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX ma: <https://metadata.moe/ns/madb/ma#> SELECT ?y (COUNT(DISTINCT *) AS ?cnt) WHERE { ?s a ma:Collection ; ma:media "TVレギュラー" ; schema:startDate ?startDate . } GROUP BY (SUBSTR(?startDate, 1, 4) AS ?y) ORDER BY DESC(?y) ?startDate を substr 関数を使って, 年数だけにする、それを ?y と名づけ、 年ごとにグルーピングする ?y の値で並べ替える (order by)
  55. メディア芸術データベースLOD • 出力結果

  56. メディア芸術データベースLOD • 年別のテレビアニメ数 0 50 100 150 200 250 300

    350 1950 1960 1970 1980 1990 2000 2010 2020
  57. メディア芸術データベースLOD 年次アニメ映画数の推移 0 20 40 60 80 100 120 1900

    1920 1940 1960 1980 2000 2020 2040
  58. 13. 文化庁DB LOD からデータを取得する • 年ごとのTVアニメ数の推移を取得する

  59. 13. 文化庁DB LOD からデータを取得する • データを整形する

  60. 13. 文化庁DB LOD からデータを取得する • 年ごとのアニメ映画の数をカウントする

  61. 13. 文化庁DB LOD からデータを取得する • データを整形する

  62. gBizInfo (旧法人インフォ) • https://info.gbiz.go.jp/ • (政府に関連する)企業の情報を 一元的に取得できる • Web インターフェースのみな

    らず, API も提供 • 取得できる主な情報 • 財務 • 特許 • 届け出・認定 • 補助金 • 調達 • 表彰 • 職場 • ローソンを出力した場合
  63. gBizInfo (旧法人インフォ) • SPARQL Endpoint • http://api.hojin-info.go.jp/sparql

  64. 14. gBizInfo LOD からデータを取得する • ソニーの法人番号を調べて, そこからソニーによる政府調達の 情報を一元的に取得する

  65. 14. gBizinfo LOD からデータを取得する • 結果を成形する

  66. 2.3 BigQueryを使ってみよう

  67. データベースの環境構築って めんどくさい • SQL を使った解析をいちから行うためには 1. SQL のサーバを構築する 2. データを展開する

    3. データに対してクエリを発行して解析する の流れを踏まえる必要があり, 特に 1. や2. はオペレーションシステムや 言語環境への依存があるため, いささか面倒です.
  68. 使うもの • Google Big Query Sandbox • https://cloud.google.com/bigquery/docs/sandbox?hl=ja

  69. Google Big Query のはじめかた (1) 1. URL https://cloud.google.com/bigquery/docs/sandbox?hl=jaを開く

  70. Google Big Query のはじめかた(2) • 2. “GCP Console を開く”をクリックする

  71. Google Big Query のはじめかた(3) • 3. 左側のナビゲーションベインから BigQuery を選択する

  72. Google Big Query のはじめかた(4) • 4. [完了]をクリックする

  73. Google Big Query のはじめかた(5) • 以下の画面が表示されればOK

  74. Google Big Query でクエリを打ってみる(1) • 以下の内容を、クエリエディタに打ち込む SELECT name, gender, SUM(number)

    AS total FROM `bigquery-public-data.usa_names.usa_1910_2013` GROUP BY name, gender ORDER BY total DESC LIMIT 10
  75. SQL 構文の話 • SELECT: • 1 つ以上のテーブルから選択された行を取得するために使用する • Where: •

    選択されるために行が満たす必要のある 1 つまたは複数の条件 • Join: • Inner Join:指定したカラムについて同じ値を持つレコード同士を結びつける • Left Join: • 左のテーブルを基準にして、指定したカラムについて同じ値を持つレコード同士を結びつ ける。値が右のテーブルにあり左のテーブルにない場合は INNER JOIN 同様結果に含まれ ないが、値が左のテーブルにあり右のテーブルにない場合は INNER JOIN と異なり 右の テーブルのカラムには全て NULL がパディングされ、結果に含まれる。 • Right Join: • 右のテーブルを基準にして、指定されたカラムについて同じ値を持つレコード同士を結び つける。 2020/7/14 75 https://dev.mysql.com/doc/refman/5.6/ja/
  76. Google Big Query でクエリを打ってみる(1) • 以下の内容を、クエリエディタに打ち込む SELECT name, gender, SUM(number)

    AS total FROM `bigquery-public-data.usa_names.usa_1910_2013` GROUP BY name, gender ORDER BY total DESC LIMIT 10 翻訳; (1.) Select Name と gender と number の合計値を取得 して, number の合計値は total という名前に してね (2.) From `bigquery-public- data.usa_names.usa_1910_2013` というテーブルからデータを取ってきてね (3.) Order by Total の数字が大きな順にしてね (4.) LIMIT 最初から10番目までにしてね
  77. Google Big Query でクエリを打ってみる(3) • [実行]をクリックする

  78. Google Big Query でクエリを打ってみる (4) • 結果が出力される • どうやら James

    (4,924,235) や John (4,818,746) が多いらしい
  79. Google Big Query でクエリを打ってみる (5) • [データポータルで調べる]をクリックする

  80. Google Big Query でクエリを打ってみる(6) • [使ってみる]をクリックする

  81. Google Big Query でクエリを打ってみる(7) • [承認]をクリックする

  82. Google Big Query でクエリを打ってみる(8) • [許可]をクリックする

  83. Google データポータルで可視化する(1) • 右下の指標に, total を指定する • クエリの出力結果と同じものが表示される

  84. Google データポータルで可視化する(2) • 右上のグラフから, 可視化の手法を選択する • その1; 棒グラフ

  85. Google データポータルで可視化する(3) • 右上のグラフから, 可視化の手法を選択する • その2; 積み上げ横棒グラフ

  86. Google データポータルで可視化する(3) • 右上のグラフから, 可視化の手法を選択する • その3; ツリーマップ

  87. 今日の復習(20分程度) • Google Big Query + Google データポータルを使って, 大規模 データの解析をやってみましょう

    • 注意 • Sandbox 状態で解析すること • 大量データを解析して保持した場合 && クレジットカード情報を登録している場 合, 使用料を Google さんから請求されます • 4.3 で説明するオンプレミスな分析環境も, もし関心あればやっ てみてください.
  88. 利用できるデータセット • リソース から, [+ データを追加] をクリックする

  89. 利用できるデータセット • Word Development Indicators • Google Patent • US

    Census Data • US Residential Real Estate Data • Stackoverflow など, 楽しそうなデータ が並んでいる
  90. a.) baseball data の場合 • ピッチャーの球種をカウントしてみる

  91. Select pitchTypeDescription, count(gameid) as total FROM `bigquery-public-data.baseball.games_post_wide` group by pitchTypeDescrption

    ordey by total desc LIMIT 1000
  92. a.) baseball data の場合

  93. b.) Stack Overflow の場合 参考文献; https://qiita.com/perico_v1/items/7ea358a64cf1efa52cd9

  94. このセクションのまとめ • 多変量データが使えると、出来ることが増える • どう考えても,今の時代クラウドを使ったほうが楽 • クラウドにデプロイしてもOKなデータか, そうではないデータ かを確認しよう

  95. リクエスト大会!

  96. とりあえず、色々な方からリクエストの あった内容を盛り込みました • 2-4. • Youtube API • Instagram •

    2-5. • 楽天API その1; 楽天市場 • 楽天API その2; 楽天トラベル • 2-6. • Worldbank • gogo.gs
  97. 2-4.Youtube API をたたいてみる

  98. Youtube のAPI を叩くまでの流れ • API を有効化する • 必要なパッケージをAnaconda+Python 側に導入する •

    いくつかスクリプトをまわしてみる
  99. Youtube Data API v3 を Google APIs 上で有効化する

  100. [有効にする] をクリックする

  101. 左側メニューの[認証情報]をクリックする

  102. API キーを取得する

  103. Notebook 上で、google-api-python-client をインストールする

  104. キーワードに基づき動画の情報を取得する

  105. 今回は知り合いの経営学者 Youtuber の情 報をゲットしてみる • いろいろテストしてたら、API の利用制限を越えたのであった • その後無事にデータ取得に成功

  106. Instagram API について • Instragram API Platform が廃止され、後継のAPI に移行した模 様

    • 位置情報やフォロワー数などの情報は提供されなくなる • 画像の位置情報は含まれなくなる • 参考文献 • https://www.e-pokke.com/blog/instagram-basic-display-api.html • https://embedsocial.jp/blog/instagram-api-changes-2020-2/ • https://arrown-blog.com/instagram-graph- api/#AxiosInstagram_Graph_API
  107. 2-5.楽天のAPI をたたいてみる その1; 楽天市場編

  108. 楽天のAPI を使う大まかな流れ • 楽天にログインする • 楽天のアプリID を発行する • テストサイトで動かしてみる •

    実際にコーディング (Anaconda etc…) する
  109. 1. 楽天にログインして、続いて Rakuten Developers にアクセスする

  110. 2. [アプリID 発行] をクリックする

  111. 3. “アプリ新規作成フォーム” を入力する

  112. 4. アプリID/アフィリエイトID などを 取得する

  113. 5. API テストフォームでデータの取得を テストする • 今回は、”楽天商品検索 API” を利用する • Keyword

    に”うさまる” を指定する (基本的には、アプリID とパラメータさえ指定す れば、NotebookやR経由 でもデータが引っ張って これそうな感じである)
  114. 6. データの取得結果

  115. 7. 実際にPython 上でコーディングする • 先程のAPI テストフォームの内容に基づき、コーディング • アプリケーションID やデータの取得方式を指定する •

    今回のキーワードは “うさまる” に • ただし、日本語はそのままURL に指定できないので、 urllib.parse.quote を使う
  116. 8. 実際にPython 上でコーディングする (続き) • Request を用いURL2 を 開く •

    日本語データが含まれて いるのでデコード • URL先が開かない場合, 例 外処理をする
  117. 9. 実際にPython 上でコーディングする (続き) • 中身が表示されるが、ちょっと使いづらい

  118. 10. Panda 形式に変換する • Json パッケージをインポート • 取得したデータをjson として読み込む (json.loads)

    • Panda DataFrame 形式に json_normalize で変換する • このとき、Items をピボットする • とりあえず出力する (temp3)
  119. 11. Panda で出力される • とりあえず、うさまるグッズ情報が一覧取得出来ている

  120. 楽天のAPI をたたいてみる その2; 楽天トラベル編 • https://webservice.rakuten.co.jp/api/simplehotelsearch/ を 参照しながらコーディングする • 位置情報に基づく探索

    • 座標情報に基づく探索 • 宿同士の検索 などが実行出来そう
  121. 座標情報を指定する形で宿を探索する • Json 形式でデータを取得 • 緯度・経度を指定する

  122. 東京駅近辺のホテル情報を取得する

  123. Json をPandas DataFrame に変換する • json_normalize で record_path を指定することで、ホテル名な どの情報を取得する

  124. DataFrame 形式の出力結果

  125. 2-6. スクレイピング; worldbank/gogo.gs

  126. スクレイピングの応用編 • Worldbank • Gogo.gs

  127. Worldbank(ICSID) Database of Bilateral Investment Treaties • https://icsid.worldbank.org/en/Pages/resources/Bilateral- Investment-Treaties-Database.aspx#

  128. とりあえずスクレイピングしてみた 1. Pandas 2. BeautifulSoup 3. 手作業

  129. 1. Pandas でtable 内の情報を取得する • Table からデータは 取れている • ところが、ほしい情

    報が入っていない
  130. 2. Beautiful Soup でデータを取得する • url を指定 • データが埋 まっている箇

    所から、class を指定して データを引っ 張ってくる • td のデータを 取得する
  131. 2. Beautiful Soup でデータを取得する • ところが、あんまりきれいにデータが取れない。

  132. 3. 手作業でコピペする • 基本に立ち戻り、コピペしてみる

  133. 3. 手作業でコピペする • Excel にコピーできました。

  134. スクレイピングがうまくいかなかった原 因(推測) • Table が入れ子構造になってる • スクレイピングしずらい構造になってる • たぶん、申請したら普通にくれるから? •

    https://icsid.worldbank.org/en/Pages/about/Contact-us.aspx
  135. Gogo.gs • “ガソリン価格比較サイト gogo.gs は、ガソリン価 格やガソリンスタンド情 報を共有するサービスで す。掲載情報は、全国の ドライバーの皆さんやガ ソリンスタンドの方から

    寄せられた情報をリアル タイムに掲載していま す。”
  136. Gogo.gs をスクレイピングしてもOKか確 認してみる。 • https://gogo.gs/info/terms • 第4条 禁止事項 • 事務局は、登録ユーザの行為が以下の項目に該当すると事務局が判断した場合、事務局は上記登録ユーザに事前に何等

    通知又は催告することなく、除名処分とします。 1.公序良俗に反する行為 2.犯罪的行為に結びつく行為 3.他のユーザ又は第三者の著作権を侵害する行為 4.他のユーザ又は第三者の財産、プライバシー等を侵害する行為 5.知的所有権、著作権、その他、法律に反する行為 6.他のユーザ又は第三者を誹謗中傷する行為 7.選挙の事前運動、選挙運動又はこれらに類似する行為及び公職選挙法に抵触する行為 8.本サービスの運営を妨げ、或は事務局の信頼を毀損するような行為 9.複数のメールアドレスを利用し重複して会員となる行為 10.登録ユーザのユーザとして有する権利を第三者に譲渡若しくは使用させたり、売買、名義変更、質権の設定その 他の担保に供する等の行為 11.本サービスを通じて入手したコンテンツを、事務局の承認なく、複製、販売、出版その他私的利用の範囲を超え て使用する行為 12.事務局が承認した、登録ユーザが運営する店舗もしくは商品の宣伝以外の、営利を目的とした行為 13.その他、事務局が会員の行為として不適切であると認めた行為 • 研究活動は11. に記載されている「私的利用の範囲」なのかすごく絶妙な気分になる
  137. BeautifulSoup でデータを取得する • 個別店舗ごとの価格推移 を取得する • Table タグ内の”table table-bordered” クラス

    内に価格推移が埋まって いるので、そこから引っ 張ってくる
  138. BeautifulSoup でデータを取得する • Table の中身が取り出せる • ただ、ここから処理するのがちょっとめんどくさい

  139. Pandas でデータを取得する • Pandas の read_html でデータを持ってくる • こっちのほうが楽そう

  140. Pandas で平均価格を取得する • Pandas をimport する • レギュラー(0), ハイオク (1),

    軽油(2), 灯油(3) の順 にデータが掲載されてい るので、添字 i で順番に 取得する (for 文) • read_html でデータを取 得し、空の DataFrame に追記する • 最後にデータを出力
  141. Pandas でガソリンの都道府県別平均価 格を取得する • 価格が取得出来ていそう • 若干調整が必要かもしれない

  142. スクレイピングの注意点(reprise) • 本当にスクレイピングしてもよいサイトかチェックする • サイト構造がよくかわるサイトもあるので、その場合にはコー ディングし直しになる • API やLOD、raw data

    で提供している場合にはそちらを使う
  143. アフターサーヴィスのお知らせ • 今回取り上げたデータの取得手法はかなり限定的です • そのため、同じようにAPI やスクレイピングでデータをとって こようとすると、ひっかかったり、コードがうまく動かないと ころが必ず出てくると思います。 • そのため、困ったときには

    Slack の #わからないところの質疑 応答用 チャンネルに書き込んでください • 僕や、僕以外のメンバーが回答してくれるかもしれません
  144. 一橋データ分析講義の資料 • 1. https://speakerdeck.com/yasushihara/10hui • 2. https://speakerdeck.com/yasushihara/10hui-b83cea5a-c7ed-478f-9482-75eb2cfbf5a6 • 3. https://speakerdeck.com/yasushihara/10hui-07f62b90-55db-4d69-a46d-78c995cb8bf3

    • 4. https://speakerdeck.com/yasushihara/10 • 5. https://speakerdeck.com/yasushihara/10-57e0b909-959b-48ba-a076-a3458c238412 • 6. https://speakerdeck.com/yasushihara/10-77078dec-4181-43d9-922e-e395e07c2eed • 7. https://speakerdeck.com/yasushihara/10hui-7da3864c-a6b1-47b3-8c12-b4507ee2b3c0 • 8. https://speakerdeck.com/yasushihara/10hui-b024f4c9-5dfb-453d-8697-585f86974786 • 9. https://speakerdeck.com/yasushihara/10hui-b83e5c32-af91-4af3-a91d-54f937a89a04
  145. THANKS yasushi.hara@r.hit-u.ac.jp