山手線ミステリー?

きっかけ

高木浩光@自宅の日記 - Bluetoothで山手線の乗降パターンを追跡してみた

非常にインパクトの大きい記事だった。本題のプライバシー上の問題のみならず、Javaアプレットによる表現(山の手ブルースw)、乗降パターン分析など、調査研究結果の発表方法についても参考になった。

だが、鉄ヲタとしては本質的ではない例外パターンの方が気になった。まず30分周期で現れたパターンが気になり、ざっと調べてはてブコメントしたところ、そこそこの反応があったので、調子に乗って他の例外パターンも調べてみることにした。例えば、新宿と東京で検出されたら、中央線乗り換えが考えられる等のマニアックなパターンを期待してのことであった。

ただし、以下は実際の時刻と列車位置の関係が正確に紐付けられていることが保証されていない(すなわち仮の紐付け条件が崩れると結果が大きく変化する可能性を持っている)、かなりいい加減な分析であることをご了承願いたい。つか、はじめに謝っときます。すみません(_o_)。

[3/8 22:48追記]時間計算に誤りがあったので、修正した。また、3/7付の首都高速都心環状線でBluetooth追跡できるか + 続・山手線の新「山の手ブルース」で再検証した。
[3/10 0:52追記]またまた誤り発見orz 修正に次ぐ修正。

準備と調査方法

掲載されたタイムスロット番号(約21秒毎)から出発時刻からの経過秒数を求めて実際の時刻を割り出し、どのあたりを走っているかを時刻表と「山の手ブルース」からあたりをつけるという方法。わしはもうプログラムなんて書けないので、調査はMY LINE東京時刻表2009年2月号(交通新聞社)Windows電卓というアナログかつローテクな方法で。途中計算面倒になってExcel使ったが。時刻表がなくてもJR東日本の駅時刻表のページでは列車の運行ダイヤが表示できるようになっているのでそれを使う手もあるが、正直紙の時刻表の方がわしには使いやすかったw(3/14でダイヤ改正されるので検証はお早めにw)尚、JR東日本の駅構内図も参考にした。

高木さんが乗車された列車は、

2009年3月1日の日曜日、池袋駅18:12発の外回り列車に乗り、真ん中あたりの車両の中央の座席に腰掛け、観測を開始。4周廻って池袋駅22:18着まで*1を観測した。その間に1154個のMACアドレスを検出した。

高木浩光@自宅の日記 - Bluetoothで山手線の乗降パターンを追跡してみた

とあり、池袋駅18:12発の外回り列車とは、時刻表で見ると列車番号1719Gであることがわかる。山手線は基本的に大崎駅到着後乗務員交代し、同じ列車で列車番号が変わって1分後発車して一周するという運行パターンである。調べてみると、ダイヤ通りなら池袋18:12→1719G→18:48大崎18:49→1819G→19:50大崎19:51→1919G→20:51大崎20:52→2019G→21:53大崎21:54→2119G→22:18池袋というパターンである。

実際には目黒で遅れたとあるので、時刻表の時刻はあてにならない。「山の手ブルース」で表示される時刻はダイヤの時刻(ほとんど発車時刻)と異なっていたので、高木さんは駅停車時刻を記録していたようだ。よって、(到着時刻と発車時刻が不明ではあるが)「山の手ブルース」で実際の時刻を確認する必要がある。「山の手ブルース」は動作中のマウスクリックで一時停止するようになっているので、一時停止を繰り返して時刻を確認するのだが、ぼやぼやしていると行き過ぎてしまい、山手線をもう4周するはめになるw「ああ、アナログレコードのスクラッチみたいなことできたら」と、頭の中にSUPER BELL"ZのMOTERMAN山手線題材の数曲が回りながら思ったものだった。実際に確認してみると、「山の手ブルース」で確認しても駅にいたのか駅間にいたのかよくわからないところがあった。また西日暮里〜日暮里間など駅間が短いと、どっちの駅かわからないこともあった。

列車は18:12:00に発車する訳ではないので正確な発車時刻はわからないが、

最初の時間スロットは池袋駅停車中であり、2つ目のスロットは駅から動き出した時、3つ目のスロットは、駅を離れて走行中の時である。

2009-03-01.18:12:03 001CEEXXXXXX +
2009-03-01.18:12:04 001987XXXXXX +
2009-03-01.18:12:05 00175CXXXXXX +
2009-03-01.18:12:06 001783XXXXXX # +
2009-03-01.18:12:07 00175CXXXXXX +
2009-03-01.18:12:08 001A16XXXXXX +
2009-03-01.18:12:09 001CEEXXXXXX +
2009-03-01.18:12:10 001C43XXXXXX +
2009-03-01.18:12:11 00175CXXXXXX +
2009-03-01.18:12:12 001C43XXXXXX +
2009-03-01.18:12:13 00175CXXXXXX +
2009-03-01.18:12:14 00175CXXXXXX +
2009-03-01.18:12:15 001CEEXXXXXX +
2009-03-01.18:12:16 001CEEXXXXXX +
2009-03-01.18:12:16 0018AFXXXXXX +
2009-03-01.18:12:16 0015B7XXXXXX +
2009-03-01.18:12:16 00175CXXXXXX +
2009-03-01.18:12:16 00175CXXXXXX +
2009-03-01.18:12:16 0000EBXXXXXX +
2009-03-01.18:12:16 0000EBXXXXXX +
2009-03-01.18:12:16 00175CXXXXXX +
#### 21 2009-03-01.18:12:16
2009-03-01.18:12:24 00175CXXXXXX
2009-03-01.18:12:25 00175CXXXXXX

高木浩光@自宅の日記 - Bluetoothで山手線の乗降パターンを追跡してみた

という記事中の記載から、乱暴だが18:12:20頃か。だが、最初のスロットの開始は、次のスロット開始が18:12:16なので、21秒引いて18:11:55であるようだ。最初のスロットが0番なのか1番なのかで計算時刻が異なってくるが、0番だと仮定し、スロット番号に21秒をかけると、18:12:00からの経過秒数が求められることになると思っていた。しかし、3/7付の日記に出ていた3/1計測の実際の時刻と最初に現れるスロット番号の計算値からの計算値が21秒計算で出た時間と合わない。

001C43XXXXXX 2009-03-01.20:31:30 0:00 | 395

首都高速都心環状線でBluetooth追跡できるか + 続・山手線

00175CXXXXXX 2009-03-01.21:44:48 0:00 | 603

首都高速都心環状線でBluetooth追跡できるか + 続・山手線

001CEEXXXXXX 2009-03-01.19:18:07 10:35 | 187,...

首都高速都心環状線でBluetooth追跡できるか + 続・山手線

00175CXXXXXX 2009-03-01.19:36:49 0:00 | 240

首都高速都心環状線でBluetooth追跡できるか + 続・山手線

どうも、「約」21秒というところがくさい。色々計算してみると、21.18秒で計算すると良さそうだ。

約1時間間隔のパターン

ログを分析してみると、約1時間間隔で繰り返し点として現れたMACアドレスが何個かあった。山手線は一周が1時間と数分なので、これは、駅に設置されている何らかの情報機器か、もしくは近接した住宅や事務所の情報機器なのかもしれない。以下にそれを示す。

(a)00037AXXXXXX 187:12 | 42,43,216,217,402,573
18:26:45(上野),18:27:06(上野),19:28:10(鶯谷or上野),19:28:31(鶯谷or上野),20:33:49(鶯谷or上野),21:34:11(上野)

18時台から21時台までまんべんなく登場している。鶯谷か上野かまぎれがあり、駅間の沿線上の機器という可能性もあるが、18時台と19時台にスロットが2つあることから、駅停車中の可能性が高い。駅の判定が誤っていてどちらかの駅に停車中、駅構内の機器を検出した可能性がある。20時台と21時台は1スロットであることから、固定設置機器(ホーム上事務室内のPC等)や売店(場所が固定されている)販売員所持機器ではなく、駅員が所持している機器である可能性が高いが、人体遮蔽の影響を否定しない。

(b)001CEEXXXXXX 185:06 | 110,111,112,113,285,286,469,635
18:50:45(大崎or五反田),18:51:06(大崎or五反田),18:51:27(五反田),18:51:48(五反田),19:52:31(五反田),19:52:52(五反田),20:57:28(五反田),21:56:04(五反田or目黒)

これも18時台から21時台までまんべんなく登場している。大崎か五反田か目黒かまぎれがあり、駅間の沿線上の機器という可能性もあるが、18時台と19時台にスロットが複数あることから、駅停車中の可能性が高い。五反田か? 駅に停車中、駅構内の機器を検出した可能性がある。20時台と21時台は1スロットであることから、固定設置機器や売店販売員所持機器ではなく、駅員が所持している機器である可能性が高いが、人体遮蔽の影響を否定しない。

(c)00037AXXXXXX 125:11 | 224,579
19:30:59(御徒町or秋葉原),21:36:18(御徒町or秋葉原)

19時台と21時台で1回ずつ検出され、18時台と20時台に検出されていない。御徒町秋葉原かどちらかの駅であれば駅員が所持している機器である可能性が高い。駅間であれば、JR社員(もしくはその関係者)が何らかの業務で当該区間を行き来した可能性がある。鉄道警察官のパトロールの可能性もあるか。もしくは商売中の痴漢やスリなんだろうか。

(d)00175CXXXXXX 125:10 | 231,232,233,419,420,586
19:33:28(秋葉原or神田),19:33:49(秋葉原or神田),19:34:10(神田),20:39:49(秋葉原),20:40:11(秋葉原),21:38:46(秋葉原)

18時台に0回、19時台に3回、20時台に2回、21時台に1回検出されている。(c)と同じ結論。

(e)00175CXXXXXX 124:49 | 236,590
19:35:13(東京),21:40:11(神田or東京)

19時台と21時台で1回ずつ検出され、18時台と20時台に検出されていない。東京だとすると、駅員が所持している機器である可能性が高いが、(c)と同じ結論かも。

(f)001C7EXXXXXX 66:00 | 138,309,323,324,325
19:00:38(原宿),20:01:00(原宿),20:05:56(代々木〜新宿),20:06:17(新宿),20:06:39(新宿)

これはちょっと変わったパターン。19時に原宿で検出後、20時台に原宿、新宿で検出されている。20時台は高木さんが乗車している列車(1919G)に乗り込んでいる可能性が高い。時刻表で調べると、19:00の原宿には向かいのホームに内回り1812Gが停車しており、持ち主はこの列車に乗っていた人かもしれない。用事を済ませて1919Gに乗車したと思われる。原宿〜新宿間を行き来していたのかもしれない。

(g)00037AXXXXXX 63:07 | 93,94,95,96,268,269,270,271,272
18:44:45(田町〜品川),18:45:06(田町〜品川),18:45:27(品川),18:45:48(品川),19:46:31(田町〜品川),19:46:52(品川),19:47:14(品川),19:47:35(品川),19:47:56(品川)

18時台に4回、19時台に5回検出されている。1〜2分の間に連続して検出されたということであり、機器所持者は駅構内にいるのではなく当該列車(1719Gと1819G)に乗車中であることが示唆される。1時間の間に田町から品川に2回乗車するというパターンは解せないが、JR社員(もしくはその関係者)が何らかの業務で当該区間を行き来した可能性がある。鉄道警察官のパトロールの可能性もあるか。もしくは商売中の痴漢やスリか。

(h)00037AXXXXXX 61:24 | 149,150,151,322,323
19:04:31(代々木),19:04:52(代々木),19:05:13(代々木〜新宿),20:05:35(代々木〜新宿),20:05:56(代々木〜新宿)

19時台に3回、20時台に2回検出されている。(c)や(g)と同様か。

約30分間隔のパターン

最初にざっと調べてはてブにコメントしたもの。

約30分間隔で現れたものもあった。これは何だろうか。対向列車に乗車して半周した人、あるいは、対向列車の運転士や車掌さんなのだろうか。

高木浩光@自宅の日記 - Bluetoothで山手線の乗降パターンを追跡してみた

(i)001CD6XXXXXX 29:35 | 563,568,646,647
21:30:39(西日暮里or日暮里),21:32:25(日暮里),21:59:57(目黒or恵比寿),22:00:18(恵比寿)

はてブコメント時は西日暮里と目黒と思っていたが、よく調べてみると日暮里と恵比寿の可能性も否定できない。いずれにしろ、2回ずつ検出している。地下鉄乗り継ぎで恵比寿に行くのは厳しそうなので、停車中の検出としか思えない。西日暮里〜日暮里間は駅間が短いのでどちらかの駅か。さて対向列車はというと、時刻表で調べると、内回りの2016Gが、日暮里21:24、西日暮里21:26、恵比寿21:55、目黒21:57というダイヤになっており、時間的には最も近い。内回りも遅れていたのかもしれない。停車中の検出であり、高木さんは編成の真ん中あたり(6号車?)に乗車しており、列車端部にいる運転士や車掌である可能性は否定される。よって、2016Gに乗車して半周した乗客であると考えられる。

(j)00175CXXXXXX 28:33 | 425,506
20:41:57(神田),21:10:32(代々木〜新宿)

対向列車で最も近いのは、内回り2056Gの神田20:35、代々木21:08であろうか。次の2052Gでは神田20:40、代々木21:13となり、代々木に早着は有り得ないので、やはり2056Gが該当か。それぞれ1回ずつの検出であるので、乗客のみならず、どちらかの列車が動いている時に運転士か車掌(乗務員交代は行われていない)の機器を検出した可能性も否定できない。

不規則なパターン

一方、不規則な間隔で現れたものもあった。以下の2つ目の事例の、50分後に現れたケースは、同じ人が対向列車か別ルートで駅に移動していたのを捕らえたものだろうか。1つ目の、90分後、8分後、20分後というのは解せない。3つ目以下の20分後に現れるというのも解せないが、これらは、同じ列車に継続して乗車していたものの距離が遠くて飛び飛びにしか検出されなかったケースなのかもしれない。

高木浩光@自宅の日記 - Bluetoothで山手線の乗降パターンを追跡してみた

手ごわそうだがやってみる。

(k)00236CXXXXXX 128:21 | 202,480,505,566
19:23:13(西日暮里),21:01:21(目黒〜恵比寿),21:10:11(代々木),21:31:43(西日暮里or日暮里)

19時台に1回、21時台に3回検出されており、21時台は高木さんと同じ列車(2019G)に乗車しているようだ。一番最初と一番最後の検出が西日暮里の可能性があるのが興味深い。19:23頃の対向列車として、内回り1816G(西日暮里19:24発)があった。おそらくこの機器を持っている人は西日暮里のホームで内回り列車1816Gを待ってたのだろう。そして高木さんの乗車した列車1819Gが走行中に検出したということか。そしてこの人は内回り列車で目的地(目黒?)に到着した後、21時前に帰宅の途につき、2019Gに乗って半周して西日暮里に帰ったと考えられる。

(l)0023D6XXXXXX 50:02 | 84,85,226
18:41:34(浜松町〜田町),18:41:55(田町),19:31:42(御徒町秋葉原)

18時台に2回検出しており、高木さんの乗った1719Gに乗っている乗客と思われる。50分後の19:31は御徒町秋葉原間と思われるが、当該時間帯には対向列車として内回り1912G(秋葉原19:31発、御徒町19:32発)が時刻表から判明した。この人は田町まで1719Gに乗車し、用事を済ませて1912Gで帰宅したのではないだろうか。

(m)001CEEXXXXXX 24:41 | 461,531
20:54:39(大崎),21:19:22(池袋)
(n)001CEEXXXXXX 24:19 | 461,530
20:54:39(大崎),21:19:00(池袋)

(m)と(n)は検出がほぼ同一タイミングである。山手線半周と考えれば妥当な乗車パターンである。高木さんが乗った車両の隣の車両の車端部(優先席とかあるところ)にいた人(大崎〜池袋間の乗車?)が乗降時に移動したことにより、貫通路を通じて所持機器を検出したのかもしれない。同一車両に乗車していたが、記事にあるように人体による遮蔽で検出できなかった可能性も否定しない。

(o)001CEEXXXXXX 22:35 | 222,285,286
19:30:17(御徒町),19:52:31(五反田),19:52:52(五反田)

列車番号は大崎で1819Gから1919Gに変わったが、山手線半周と考えれば妥当な乗車パターンである。御徒町〜五反田間の乗車か。(m)と同様隣接車両に乗車していた可能性がある。駅停車中であることから、ホーム上にいたのを検出している可能性もある。

(p)001CEEXXXXXX 19:45 | 619,621,675
21:50:25(田町〜品川),21:51:08(品川),22:10:12(新宿)

列車番号は大崎で2019Gから2119Gに変わったが、山手線半周と考えれば妥当な乗車パターンである。田町〜新宿間の乗車か。(m)と同様隣接車両に乗車していた可能性がある。

(q)00175CXXXXXX 16:13 | 461,507
20:54:39(大崎),21:10:53(代々木〜新宿)

山手線半周と考えれば妥当な乗車パターンである。大崎〜代々木間の乗車か。(m)と同様隣接車両に乗車していた可能性がある。尚、埼京線下り、湘南新宿ライン北行が並走しているが、大崎駅構内は広く、山手線と埼京線のホームは離れており、適切な列車も時刻表上ないため、この可能性は否定される。

(r)00175CXXXXXX 15:49 | 129,174
18:57:27(恵比寿〜渋谷),19:13:20(目白〜池袋)

1819G列車による妥当な乗車パターンである。恵比寿〜池袋間の乗車か。(m)と同様隣接車両に乗車していた可能性がある。尚、埼京線下り、湘南新宿ライン北行が並走しているが、時刻表上適切な列車はなく、埼京線に遅れがない限りこの可能性は否定される。

(s)001CEEXXXXXX 14:26 | 44,80,85
18:27:27(上野),18:40:09(浜松町〜田町),18:41:55(浜松町〜田町)

2つの可能性が示唆される。一つは(r)と同様隣接車両への乗車(上野〜田町間?)。もう一つは並走する京浜東北線南行の存在である。時刻表で調べると、列車番号1731Cが上野18:27、浜松町18:40、田町18:43というダイヤであった。記事上にも、

ログを眺めながら乗車していると、対向列車とすれ違ったときにも「+」が現れることがあった。また、京浜東北線と並走するときにも「+」が出ることがあった。

高木浩光@自宅の日記 - Bluetoothで山手線の乗降パターンを追跡してみた

とあり、京浜東北線1731Cに乗車した人の機器を検出した可能性を否定できない。

んで、何が言いたい訳?

単なる知的好奇心で調べたのだが、列車現在位置と状態の把握に苦労した。実験時において測定データの正確な記録、周囲の状況(走行状態、遮蔽物の存在、対向列車の有無、ダイヤ乱れ等)を同期して記録することの重要さがよくわかった。

一方、プライバシー問題はというと、上記(m),(n)のパターンを見て考えさせられた。ペアで行動している可能性があるが、たまたま同じ行き先である全然関係のない人かもしれないし、(Bluetoohは無指向性アンテナを使用していることもあり)2人が同じ場所にいるということも確定できない。もし乗降駅が偏見の多い場所(風俗街等)の近くだったらと思うとぞっとする。もしそのことが判明した場合は、上記のような勝手かつ精度の低い分析による人物像の推測は、情報が一人歩きしかねないため、その安易な公開は危険である。高木さんが実際の検出時刻ではなくスロット番号で公開したのはこういった意図があったのかもしれない。そう考えるとこんな分析結果書いて良かったのかとも思ってしまう。さらにもしMACアドレスが全公開されていたらとんでもないことになることは容易に想像できる。第三者による追加調査による行動パターンの確定(蓄積された情報の怖さがわかる)、リアルな人物との紐付け(どこの誰かは知らないけれど、今俺の目の前にいるコイツはこんな行動しているのか)、等など…。

色々考える機会を作ってくれた高木さんに勝手に感謝したい。