2018年度卒論関係

ゼミ用ページ

2018年度のゼミページ

データサイエンスの勉強

人流解析

現状、Todoは https://docs.google.com/document/d/14-eg92zGThTa8Qo5uNp9hUabqy5_RpvbWoAw_eXIzlI

バス到着予測

Todo
バス時刻表や路線が変更された場合にも対応できるよう、類似路線のデータ検索 ⇒ 予測へ活用

全路線サービスに向けた回帰係数の蓄積・更新システムと予測出力の高速化

バスコンシェルジュ、バスロケ情報取得

いくつかは、DBからJSON形式でデータをゲットするスクリプトを作ってある。 一覧は、こちら BusMap2json.html

バスロケの情報取得については、下記「バスロケーション情報」の項を参照

サーバ上での数値計算

こちら → batchTutorial.html

以下は、年度当初の記載事項

交通流シミュレーション

独自バスロケデータの地図上での確認

現在の車載器の状況閲覧 http://8tops.yamanashi.ac.jp/~toyoki/busloc/showBusLocations.php

研究室内専用の情報を含むノウハウについては、Google Driveの方に書く。ファイル名:ピクニックバス利用者分析

車載器

筐体として適当な既成品を見つけたい。

甲州市での実験に向けて

ランダムアドレスに関する基礎知識

やまなしバスコンシェルジュ関係、到着時刻予測

バス運行データのオープンデータ化

参考事例(ヴァル研究所 諸星さんのスライド): https://www.slideshare.net/KenjiMorohoshi/20180216-88155353?next_slideshow=1

改善したのは「運行条件」(「年末年始を除く平日」のような運行日の記述)を自動的にカレンダーに落とすためのプログラム。自然言語の解釈をうまく行えるアルゴリズムと実装を行いたい。

変換したいソース(運行条件一覧)はGoogle Driveの研究室ゼミ/2018年度/オープンデータ化に載せてある。

共通知識

ファイル共有

デスクトップパソコンとノート、あるいは家での作業、ゼミでの利用などの場合、サーバ上にファイルを置いてそれにアクセスできると便利である。いつでも自分の作業領域にアクセスできるようにしておこう。利用例はこちら

サーバ関係の基礎知識

Linux関係のいろいろ

こちら linuxHowTo.html

raspberry piのことはGoogle Drive上の文書にもいろいろ書いてある。

研究室のサーバとバッチジョブなど

こちら

pythonの勉強

こちら

少し本格的に勉強する場合は、Googleドライブの「データ処理演習」の問題にチャレンジする。

Google Maps API利用のチュートリアル

種々の情報

バスロケーション情報

バス停通過時刻データの取得
http://8tops.yamanashi.ac.jp/~toyoki/buslog2016/getLocationsYamanashi.php バスロケ生データから、バス停通過時刻を割り出し、別テーブルに保存したものから取得しているので高速
やまなしバスコンシェルジュデータの表形式表示
http://8tops.yamanashi.ac.jp/~toyoki/buslog/getLocationsYamanashi.php (リクエストがあった時点でバスロケの生データからの取得するので時間がかかるが同じものが出力されるはず。)
やまなしバスコンシェルジュのロケーションデータ取得テスト
http://8tops.yamanashi.ac.jp/~toyoki/buslog/showBusLocations.html 特定の日、路線、運行時刻の全データポイント(約15秒おきの位置)を地図表示
国土地理院地図上でのバスロケ&路線経路表示 (New)
http://8tops.yamanashi.ac.jp/~toyoki/geojson/showBusLocGsi.php
国土地理院地図上でのピクニックバス+α表示 (New)
http://8tops.yamanashi.ac.jp/~toyoki/geojson/showBusLocationsGsi.php
HTTPを通じてJSON形式で得られるデータ一覧
http://8tops.yamanashi.ac.jp/~toyoki/labTips/BusMap2json.html 路線、バス停位置、時刻表などのデータを得るためのスクリプトへのリンク

GPS, BLEデータの格納や、位置データをGoogle Map上に表示する方法

BLEデータのpythonによる図示
csv_plot_tutorial.html

バスコンシェルジュの情報

路線の地理情報(道路、バス停のjson形式データ)を得る方法
路線総称IDと路線IDを"|"で区切って次のURLに引数として与えると個別のバス路線の情報が得られる。

  http://dev.busmaps.jp/yamanashi/modules/BusMap2/jsonp/BusRouteRoadsJSON.php?routes=19|17
  

総称IDと路線IDの一覧は、 https://drive.google.com/open?id=1-6xotxfRnSkgJATahb4TW_Ch9sc44yOr においた。地理情報が未作成の路線(地理情報が空)があるかもしれない。このファイルを読み込み、URLを指定してファイルにセーブする繰り返すpythonスクリプトを書けば(他の言語でも良いが)、全部入手することは可能である。 pythonでjson形式のデータを得るには、

import json, urllib
url_obj = urllib.request.urlopen("http://dev.busmaps.jp/yamanashi/modules/BusMap2/jsonp/BusRouteRoadsJSON.php?routes=" + "19|17")
json_data = url_obj.read().decode('utf8')
json_dict = json.loads(json_data)
print(json_dict)

のように書けば良い。ファイルから読み込んだIDを"19|17"の部分にセットし繰り返す。

以下は2017年度に書いたもの

Javaの勉強

Googleドライブの「2017年度>Javaサンプル」に置いたので試してみてほしい。

コマンドラインでの実行
それぞれのプログラム言語について開発・実行環境がさまざまあるが、プログラムがある程度完成の域に達し、シミュレーションや観測の実行段階になると、コマンドライン(シェルウィンドウ)でコンパイル、実行するということが便利である。必要であると言ってもよい。 どのOSにもシェルウィンドウ(Windowsの場合は「コマンドプロンプト」)が用意されているが、UNIX系のOSの方が便利である。Max OSXを使うか、OSの仮想化ソフト(VirtualBox)をインストールして、その上にLinuxを載せて使うことを推奨する。

メーリングリスト

toyoki-lab@ml.yamanashi.ac.jp へメールするとメンバー全員に届く。(メンバーのアドレス以外のアドレスから投稿すると保留になって、管理者が手動でOKを出さないと配送されない。) メンバーは過去のメールをまとめてみることができる。 https://mailman.yamanashi.ac.jp/mailman/listinfo/toyoki-lab

JAVAのGUIについて

(2015年度学生用に書いたもの)

八ヶ岳ピクニックバス関係

その他バス情報関係

pythonの学習など

基本的な文法やライブラリの使い方

csvファイルを読み込みとグラフ作成

サンプルプログラム

動画を作る

Raspberry PI

参考

自分用メモ

数式を埋め込む

MathJaxを使えば、LaTeX形式での数式埋め込みが可能である。(literalタグで囲む必要がある。)

<!-- MathJax -->
<script type="text/javascript" async
  src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML">
</script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}});
</script>
$$ y(t) = \sum_{n=1}^\infty C_n \sin(nt+\delta_n) $$

以下は、obsolete

JavaScriptコードとして

   // TeX 出力用
   $('.tex').each(function(i,obj){
          var base = 'http://chart.apis.google.com/chart?cht=tx&chl=';
          var url = base + encodeURIComponent($(obj).text());
          $('<img>').attr('src',url).insertAfter(obj);
          $(obj).remove();
      });
を書いておき(literalタグで囲んで埋め込む)
 <div class='tex'>
        y(t) = \sum_{n=1}^\infty C_n \sin(nt+\delta_n)
 </div>
のようにTeX形式で書き込む。そうすると次のように表示される。

y(t) = \sum_{n=1}^\infty C_n \sin(nt+\delta_n)

インラインの場合は、divタグの代わりにspanタグを使う。(class指定は同じくtex)