Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Pythonではじめるロケーションデータ解析

3,931 views

Published on

PyDataTokyoでの発表資料をアップしました。
http://pydatatokyo.connpass.com/

スマートフォンやセンサーデバイスの普及に伴い、「ロケーション・インテリジェンス」と言われるように、位置情報データの解析が盛んになってきています。本発表では、地図オタクが位置情報データを扱う上でぶつかる特有の問題やPythonライブラリを活用した対処方法を紹介します。位置情報データにまつわる解析事例も交えつつ、地図の世界に誘います。

参考)
https://www.youtube.com/watch?v=2sXKpj9Z91k
https://www.youtube.com/watch?v=dnPIwmlphII

Published in: Data & Analytics
  • Be the first to comment

Pythonではじめるロケーションデータ解析

  1. 1. 株式会社マイクロベース 代表取締役 仙⽯裕明 1 Pythonではじめるロケーションデータ解析 2016年8⽉29⽇(⽉) アクサ⽣命保険株式会社
  2. 2. ⾃⼰紹介 22 株式会社マイクロベース CEO 博⼠号(環境学) 専⾨:GIS, リモートセンシング, 統計学 趣味:simcity, ロードバイク 仙⽯裕明 @xianshiyuming
  3. 3. 最初のきっかけ Simcityって何? って⼈はググってね! http://ja.wikipedia.org/wiki/シムシティ 3
  4. 4. ⼤学1年のときにGoogleEarth に出会う 気がついたらこの道へ… 4
  5. 5. 株式会社マイクロベース 代表取締役CEO 仙⽯裕明 取締役COO 富川蓉⼦ あらゆる情報を地図上に集約し、 「すぐに⾒え る、すぐに分かる」を実現する 都市の将来成⻑ポテンシャルをシミュレーションす るための 分析プラットフォーム・ミクロな地理空 間情報データを開発 2013年3⽉、代表の仙⽯が、東京⼤学⼤学院博⼠ 課程在学中に設⽴。2014年12⽉株式会社化。 Real版SimCity© 2014 Electronic Arts Inc.を⽬指し、あら ゆる情報を地図上に集約可能なプラットフォームの 開発を始める。 会社概要 5 会社名 役員 ミッショ ン 事業概要 沿⾰ ⽇経ビッグデータに掲載 http://business.nikkeibp.co.jp/atclbdt/15/258673/092800035/
  6. 6. 今⽇のお話 スマートフォンやセンサーデバイスの普及に伴い、 「ロケーション・インテリジェンス」と⾔われるよう に、位置情報データの解析が盛んになってきています。 本発表では、地図オタクが位置情報データを扱う上で ぶつかる特有の問題やPythonライブラリを活⽤した対 処⽅法を紹介します。位置情報データにまつわる解析 事例も交えつつ、地図の世界に誘います。 6
  7. 7. 本⽇のサマリー ロケーションデータ解析は めっちゃめんどい。 7
  8. 8. AGENDA 88 • ロケーションデータとは • めっちゃ助かるPythonライブラリ • ロケーションデータ解析事例 • 今後どうなっていく?
  9. 9. AGENDA 99 • ロケーションデータとは • めっちゃ助かるPythonライブラリ • ロケーションデータ解析事例 • 今後どうなっていく?
  10. 10. ロケーションデータとは 位置情報をもつデータ 10
  11. 11. ロケーションデータの種類 ロケーションデータは⼤きく2種類あります. • ラスター(raster)形式 例)JPEG, PNG, TIFF • ベクター(vector)形式 例)シェープファイル(.shp) 例えば「川」と「橋」を表現すると… 11 ベクター形式 始点と終点と それをつなぐ 線として表現 される ラスター形式 ⾊の付いたド ット(点)の 集まりで表現 される
  12. 12. NAME AREA PERIMETER 0 A棟 18352 644 1 B棟 22496 756 2 中庭 22050 602 3 ⽣協購買 7548 352 4 ポスト NA NA 5 道路 NA NA 中庭 A棟 ⽣協購買 B棟 ・ポスト ポイントデータ(点) 例)住所情報, スマートフォンのGPSデータ,店舗データ ラインデータ(線) 例)道路データ,鉄道データ,河川データ ポリゴンデータ(⾯) 例)市区町村の形状データ,建物データ 【3種類の地物(フィーチャ)】 12 ロケーションデータの構造
  13. 13. 何が⼤変か? 1. データの扱いが特殊 2. 加⼯が⾯倒 3. データがなかなか⼿に⼊らない、⾼い 13
  14. 14. 何が⼤変か? 1. データの扱いが特殊 2. 加⼯が⾯倒 3. データがなかなか⼿に⼊らない、⾼い 14
  15. 15. 地球は丸い!! 1515
  16. 16. 投影法とは? • ⽅位図法 ある基準点からの⽅位が正しい図法。その⼀つである正距⽅位図法 では中⼼からの距離と⽅位が正しく記され、地球全体が真円で表現 される。 • 円筒図法 地球に巻き付けた円筒に地物を投影して作られる図法。すべての緯 線は平⾏な直線、経線は等間隔かつ平⾏な直線として表現される。 ⽇本で⽤いられている平⾯直⾓座標系は、円筒図法の⼀つであるメ ルカルトル図法に基づいている。メルカルトル図法は多くのGISソフ トにおいて標準の図法として⽤いられている。 3次元の物体を2次元で表現することを「投影法」という。地球は球体に近い形状を とるために投影法によって必ず歪みが⽣じるため、⽬的に応じて(⾯積・⾓度・距離 計算など)投影法を使い分ける必要がある。 よく使われる投影法には以下のような図法がある。 16
  17. 17. 座標系(測地系)とは? 地球上のあらゆる位置を数字で表現したものを座標(緯度経度など)といいます. 原点や座標軸など,座標を定義する体系のことを座標系 (Coordinate system)と呼 びます. 座標の値(例えば緯度経度)が同じでも座標系が異なると,GIS上では違う場所に表 ⽰されます.データを扱う前にソースがどの座標系でつくられているかの確認が必 須! -31788.8930935 -6433.4151654 -31785.5178796 -6432.6469309 まったく同じ場所を指してい るのにXYの値が異なる 17
  18. 18. Tokyo(ESPG:4301) WGS84(ESPG:4326) データを重ねるとずれるorz… 18
  19. 19. GoogleMapsなどでは緯度経度が よく使われるが、 距離や⾯積を計算したいときは、 ⼀度、メートル法に変換しなくて はいけない。 計算のたびに座標変換が必要 引⽤: http://www.cvl.gunma-ct.ac.jp/~nmiyazato/Start_Page.htm 19
  20. 20. ※詳細は国⼟地理院のウェブサイト(http://www.gsi.go.jp/LAW/G2000-g2000.htm)をご覧ください! 引⽤: 国⼟地理院 http://vldb.gsi.go.jp/sokuchi/datum/tokyodatum.html • 世界測地系1984 WGS84 ⽶国が構築・維持している世界測地系で,GPSによるナビゲ-ションの位 置表⽰の基準として⽤いられています.原点は地球の中⼼. • ⽇本測地系2000 JGD2000 2002年の改正測量法にもとづき,準拠楕円体をWGS84楕円体とほぼ同⼀ のGRS80楕円体にして定められた座標系.原点はWGS84と同じく地球の 中⼼.世界測地系,新⽇本測地系,⽇本測地系2000など,さまざまな名前 で呼ばれています. • 旧⽇本測地系 Tokyo 明治新政府が全国に整備した三⾓点の測量(三⾓測量)によって定められ た座標系.準拠楕円体はBessel楕円体,原点は東京のロシア⼤使館の敷地 裏⼿(旧東京天⽂台)にあります.JGD2000と同様に,⽇本測地系,旧⽇ 本測地系,旧測地系など,複数の呼び名があります. 今⽇,⽇本でよく使われる地理座標系には以下の3種類があります. 座標系の種類 20
  21. 21. 何が⼤変か? 1. データの扱いが特殊 2. 加⼯が⾯倒 3. データがなかなか⼿に⼊らない、⾼い 21
  22. 22. • 会員情報の住所 • ニュース記事の 地理的キーワー ド etc データ解析するまでのプロセスが⻑い GO! 緯度経度や メートル等の 座標になって いる! 22
  23. 23. 住所ジオコーディングとは? GIS上取り込みたいデータがもつ住所情報をもとにして, 緯度経度などの定量的な位置情報(座標値)を付与することを 住所ジオコーディング(address geocoding)といいます. 施設名 住所 新宿アルタ 東京都新宿区新宿3丁目24-3 札幌市時計台 北海道札幌市中央区 北1条西2丁目1-1 東大寺 奈良県奈良市雑司町406-1 首里城 沖縄県那覇市首里当蔵町3丁目1 施設名 住所 経度 経度 新宿アルタ 東京都新宿区新宿3丁目24-3 139.7012913 35.6926208 札幌市時計台 北海道札幌市中央区 北1条西2丁目1-1 141.3540735 43.0631485 東大寺 奈良県奈良市雑司町406-1 135.8392526 34.6869178 首里城 沖縄県那覇市首里当蔵町3丁目1 127.7179785 26.2172938 XY情報をもとに GIS上にプロット X Y 23
  24. 24. 何が⼤変か? 1. データの扱いが特殊 2. 加⼯が⾯倒 3. データがなかなか⼿に⼊らない、⾼い
  25. 25. 25 ⾃社で取得できるデータ ex) ⾃社アプリの投稿履歴情報等 =>分析できるまでが⻑い。 外部から取得できるデータ ex) 地図データ =>著作権がついており、⾼価であることが多い。 データ取得パターン
  26. 26. http://downloads.cloudmade.com/ http://www.geofabrik.de/data/download.html GeofabrikCloudmade Wikipediaの地図版として知られるOSMデータは商⽤利⽤可。 ⼀度に⼤量のOSMデータをダウンロードする場合は、別途ダウンロード サイトから国/地域単位においてダウンロードすることができます。 オープンデータとして公開されている地図データ。
  27. 27. AGENDA 2727 • ロケーションデータとは • めっちゃ助かるPythonライブラリ • ロケーションデータ解析事例 • 今後どうなっていく?
  28. 28. GeoPandas おなじみPandasのGeo版 28
  29. 29. Pyproj ⼿軽で簡単 29
  30. 30. FOSS4G 30
  31. 31. 地理情報系のサービスの多くがPythonでつくられている! 31
  32. 32. サービスを⽀えるオープンソース 32
  33. 33. ロケーションデータの主な解析⼿法 33
  34. 34. GUIで簡単にデータを可視化・分析したいとき 34 QGIS
  35. 35. AGENDA 3535 • ロケーションデータとは • めっちゃ助かるPythonライブラリ • ロケーションデータ解析事例 • 今後どうなっていく?
  36. 36. 点配置パターンなど空間に起こる事象を分 析するための統計的方法である。生態学( ecology)、森林学(forestry)、天文学 、地理学(geography)等で使われる。 空間統計学 36
  37. 37. 空間補間 クリギング(Kriging) 南アフリカの鉱山技術者Krigeが考案した方法。複数個のボーリングのデ ータ(サンプル)から採石場全体の鉱山の総含有量を推定する。 渋谷区の路線価の空間補間 距離が近い点のデータは大 きな類似性を持つという空 間相関を,変数間の共分散 を距離の関数として表現 井上亮, (2008)共クリギングによる土 地取引価格の時空間内挿に関する研究 内挿に関する研究 37
  38. 38. 空間補間アルゴリズム カーネル密度推定 その他⽬的に応じて ・クリギング補間 ・スプライン補間 ・空間的⾃⼰相関を考慮したモデル など “近接関係にある調査区間で、同種個体数が似る” (同種個体数に空間的な⾃⼰相関がある) 38
  39. 39. 空間的⾃⼰相関 モランI統計量 Moran's I ( -1.0 < I < 1.0) 空間的な連続性を定義するために空間的位置関係の 隣接性から地区間の連結性⾏列w(空間重み付け⾏ 列)を作成し、隣接地区間で属性の共変動関係を定 義 Xは属性値 Anselin (1988), LeSage and Pace (2009) 39
  40. 40. 空間的⾃⼰相関 install.packages("spdep") library(spdep) data(oldcol) crime <- COL.OLD$CRIME plot(COL.nb, coords = cbind(COL.OLD$X, COL.OLD$Y)) col.W <- nb2listw(COL.nb, style = "W") str(moran(crime, col.W, length(COL.nb), Szero(col.W))) moran(crime, col.W, length(COL.nb), Szero(col.W)) moran.test(crime, nb2listw(COL.nb, style = "W")) Rの例(オハイオ州) http://web.sfc.keio.ac.jp/~maunz/wiki/index.php?asakura_sp_chap05 より詳しくは、慶應義塾⼤学古⾕准教授のページが参考になります 40
  41. 41. 路線価に適⽤してみる 東京都主税局から公開されてい る路線価マップ(PDF)から画像 認識により路線価データを⽣成 => 残りの地点は空間回帰モデルで推定!! しかし、認識ミスや取得した地 点情報が位置の誤差により道路 データに落とせない場合がある 連結性⾏列W(空間重み付け⾏列) 41
  42. 42. gdal_grid -zfield variable -of GTiff input_path output_path (おまけ)単純なヒートマップをつくりたいだけなら GDAL(Geospatial Data Abstraction Library)を⼊れるとら っくらく〜!! GDALはラスターデータのメタデータの検索(gdalinfo)や 、データフォーマットの変換(gdal_gransform, gdalwarp )などが可能なPythonライブラリ 42
  43. 43. 東京都主税局より http://www.tax.metro.tokyo.jp/map/H27/shibuya/041.pdf 渋谷駅北部 43
  44. 44. 実際に画像からベクター化できた地点 ※道路データにはOSMを使っています 44
  45. 45. 空間回帰モデルにより推定 45
  46. 46. 最短経路探索 ダイクストラ法 (Dijkstra's Algorithm) 擬似的に推定した⾃宅と勤務地を出発地 点(OD)とし、道路ネットワークデー タ(OSM)にダイクストラ法を適⽤し 、経路を推定 その際に移動⼿段に応じた移動速度およ び出発時間を設け、滞在推定 46
  47. 47. 通⾏量推計 47
  48. 48. 48
  49. 49. 交通量推計 49
  50. 50. 50推計歩⾏者通⾏量(⼈)
  51. 51. 51 パルコ周辺の 推計歩⾏者通⾏量 約3万⼈ 推計歩⾏者通⾏量(⼈)
  52. 52. 疑似⼈流データ ⾸都圏版につづき、 関⻄・中京版が新た に追加 株式会社ナイトレイ のホームページにて 公開 52
  53. 53. ダウンスケーリング Hessami, M., Quarda, T.B.M.J., Gachon, P., St-Hailaire, A., Selva, F. and Bobee, B., “Evaluation of statistical downscaling method over several regions of eastern Canada”, 57th Canadian water resources association annual congress, 2004. 気象分野において、将来の気候変動をモデル化した GCMs(Global Climate Models)によって作成された データを精細化 ローカルに観測された気象デ ータからモデルを作成し、 GCMsに適⽤ http://epscorspo.nevada.edu/nsf/climate1/climate10.htmlhttps://www.ral.ucar.edu/projects/conus-downscaling 53
  54. 54. 擬似的に居住属性を生成 ⼈⼝を対象としたダウンスケーリング 町丁目単位 500mメッシュ単位 住居と世帯の関係を示す延床面積別 一般世帯数や世帯の家族類型別世帯数 Gallego J., Downscaling population density in the European Union with a land cover map and a point survey, JRC-Ispra. ローカルスケールで取得可能 なデータ 54
  55. 55. 第8表 住宅の建て方(7区分)別住宅に住む主世帯数,主世帯人員及び1世帯当たり人員 −町丁・字等 平成22年国勢調査 小地域集計 (総務省統計局) 1)住居選定および居住可能世帯数の推定 町丁目単位において、建物種別世帯数が取得可能。町丁目単位において統計表と整合するように、住 居となる建物・世帯数を特定。共同住宅の階数・部屋数は建物面積・用途地域をもとにランダムフォ レストで推定後、国勢調査の世帯数に一致するように部分調整 55
  56. 56. 平成22年国勢調査人口等基本集計(総務省統計局) 第29表 世帯の家族類型(16区分),住居の種類・住宅の所有の関係(3区分),延べ面積 (14区分)別一般世帯数及び一般世帯人員(3世代世帯−特掲) − 人口20万以上の市 2)居住者人数および家族類型の推定 町丁目単位において部屋面積別世帯数が取得可能。さらに市区町村単位において、部屋面積別家族類 型が取得可能。先と同様、統計表と整合するように、住居となる建物・世帯数を特定 56
  57. 57. http://microgeodata.com/shop/micropupulationcensus/世帯単位のライフスタイル属性を推定 擬似的に推定された65歳以上のみで構成される世帯分布 57
  58. 58. http://microgeodata.com/shop/micromeshcensus/50m単位のメッシュ統計を全国で作成 建物按分によって推計された50m単位の人口分布 58
  59. 59. 事例(将来⼈⼝) オープンデータのみを活⽤し、2040年までの各年将来⼈⼝を推定しています。 出⽣・死別や年齢移動分布を加味し、より精度の⾼い予測を⽬指しています。 59 主要お取引先:コンサルティングファーム、⾃治体、ゼネコン ご活⽤事例: ・公共建築建設時の参考情報。「近い将来買い物難⺠が発⽣する地区はどこか」「この道は30年後も通る⼈がいるのか」等。 ・⼟地所有者向け⽤地活⽤への参考情報。「10年後の⼦どもの数はどの程度減ると考えられるか」等。
  60. 60. 事例(50mメッシュ統計データ) 国勢調査結果を国勢調査の300を超える統計指標(⼈⼝や世帯数等)を、 ミクロなメッシュに再集計しています。 60 主要お取引先:コンサルティングファーム、⾃治体 ご活⽤事例: ・公益事業検討のインプットとなる、買い物難⺠や独居⽼⼈世帯が多いエリアの特定。 ・⼟地所有者向け⽤地活⽤への参考情報。「10年後の⼦どもの数はどの程度減ると考えられるか」等。 従来のメッシュ 実際はほとんどが⼭間部 だが、 右端が住宅地のため、 按分されて平均的な⼈⼝ と判断されている 50mメッシュ 居住区域だけを 抽出できる
  61. 61. 事例(築年数) 航空写真を元に建造物の築年数を推定します。 個⼈所有の⼾建てや、台帳管理されていない橋や道路等に有効です。 61 主要お取引先:⾃治体、ゼネコン ご活⽤事例: ・各橋梁を各年代の航空写真から⾃動検出し、その変化を検出。変化した年を建設年度とし、修繕計画を⽴案。 ・昭和57年の建築基準法導⼊以前の建物を推定し、被災時の建物倒壊リスクが⾼いエリアを推定。 1977年 1983年 航空写真は年代・地域によって解像度や⾊にバラツキがありますが、 補正する機械学習プログラムを⽤いて実施します。
  62. 62. 位置情報から形作られる 確率的に作成されたペルソナ 個⼈スケールでは環境・ライフスタイルによって影響を受ける 購買⾏動や習慣を想定する際に便利62
  63. 63. 63 https://www.spaada.co/ マッシュアップアワード10において 「オープンデータ賞」を受賞 2015年秋に、WEB上で簡単に統計情報閲覧できるサービス「Spaada」をリリースしました。 住所と任意の商圏を⼊⼒することで、簡単に⼈⼝ピラミッドや世帯類型を閲覧できます。
  64. 64. 64 住所と半径を⼊⼒すると、その商圏内の⼈⼝情報がすぐに表⽰されます。 出店計画や商圏分析の際にすぐにご利⽤いただけます。 住所を⼊⼒ 半径を設定 100m以上の任意の半径 を指定できます。 ⼈⼝動態情報を表⽰ 世帯数 利⽤交通⼿段 ⼈⼝ピラミッド &将来⼈⼝ピラミッド
  65. 65. AGENDA 6565 • ロケーションデータとは • めっちゃ助かるPythonライブラリ • ロケーションデータ解析事例 • 今後どうなっていく?
  66. 66. https://www.ted.com/talks/will_marshall_teeny_tiny_satellites_that_photograph_the_entire_planet_every_day?language=ja 66
  67. 67. http://www.gizmodo.jp/2014/06/50cm31cm.html 67
  68. 68. まとめ ロケーションデータは、 • データクレンジングが大変。オープンソースのライブラリは充 実しているが、やや専門的知識が伴う。 • 不完全なケースが多い。学問的には 補間 を行うことで、対応 してきた。完成度の高いデータを使えるようにするために 補 間 があると便利。 • スマホやセンサデバイスのように、情報取得源が劇的に増加し ているものの、まだまだ分析フレームワークが確立していない フロンティア。 • 大変だけど、がんばりましょう!!(笑) 68

×