勉強中

自然科学の統計学をちょっとずつ読み進めています。

三年くらい前に買った時はあんまりにもよく分からなくて挫折したけど、今はなんとなく理解しながら読んで行けるようになったので、なれというか経験というかは大事ですね。

 

今は4章 最尤法について。

自然科学の統計学 (基礎統計学)

自然科学の統計学 (基礎統計学)

 

 

 

もくもく会と、統計検定の対策やります。

4/29月にもくもく会と統計検定の対策やります。

よければお越しくださいませ。

場所は名古屋の上前津駅で、午前にもくもく会、午後に統計検定をやりますが、席にはどうせ余裕がありますので、終日もくもく会していただいてても大丈夫です。

会費は、1日いて200円です。

 

午前

名古屋データ分析もくもく会#GW突発開催 - connpass

 

午後

統計検定対策回 2019春 - connpass

発表しました。

Yahoo! JAPAN名古屋で行われてる名古屋検索勉強会の#2で発表しました。

検索技術の基礎 (原著名:Introduction to Information Retrieval)、第2章 用語語彙とポスティングリスト、をまとめたものになります。

資料はこちら。

https://speakerdeck.com/takinou0/ming-gu-wu-jian-suo-mian-qiang-hui-number-2

 

 

e-Statからの人口メッシュデータダウンロード

背景とか

人口メッシュデータが欲しかったので、eStatのメッシュデータを見に行きました。(https://www.e-stat.go.jp/gis/statmap-search?type=1) で、ダウンロードのためにボタンを一つ一つクリックするのが面倒くさかったので、curlで実装。

一番面倒くさかったのは、地域メッシュ情報を抜き出すところだったと思う。ここは手実行しか思いつかなかった。。。 抜け漏れあるかもしれないので、漏れてたら指摘ください。 ↓のサイトの数字を見ながら抜き出し。。。 (https://www.e-stat.go.jp/sites/default/files/pdf/gis/primary_mesh_jouhou.pdf)

あと、離島については、一次メッシュ情報は定義されているものの、データがないらしくってzipの中身がエラーになるようなので、そこはご承知ください。

実行環境

macOS Mojave(10.14.2)のbashで実施

コマンド

下記コマンドは、2015年国税調査 => 4次メッシュ(500mメッシュ) => その1 人口等基本集計に関する事項、を落とすように作っています。 他の情報が欲しい場合は、ダウンロードボタンのURL確認してアレンジしてください。

あと、1つダウンロードするごとに5秒sleepにしてます。 まぁ、気長にやってください。

array=("6840" "6841" "6842" "6847" "6848" "6740" "6741" "6742" "6747" "6748" "6641" "6642" "6643" "6644" "6645" "6646" "6647" "6540" "6541" "6542" "6543" "6544" "6545" "6546" "6439" "6440" "6441" "6442" "6443" "6444" "6445" "6339" "6340" "6341" "6342" "6343" "6239" "6240" "6241" "6243" "6139" "6140" "6141" "6039" "6040" "6041" "5939" "5940" "5941" "5942" "5839" "5840" "5841" "5738" "5739" "5740" "5741" "5636" "5637" "5638" "5639" "5640" "5641" "5531" "5536" "5537" "5538" "5539" "5540" "5541" "5432" "5433" "5435" "5436" "5437" "5438" "5439" "5440" "5332" "5333" "5334" "5335" "5336" "5337" "5338" "5339" "5340" "5229" "5231" "5232" "5233" "5234" "5235" "5236" "5237" "5238" "5239" "5240" "5129" "5130" "5131" "5132" "5133" "5134" "5135" "5136" "5137" "5138" "5139" "5029" "5030" "5031" "5032" "5033" "5034" "5035" "5036" "5038" "5039" "4928" "4929" "4930" "4931" "4932" "4933" "4934" "4939" "4828" "4829" "4830" "4831" "4839" "4728" "4729" "4730" "4731" "4739" "4740" "4629" "4630" "4631" "4529" "4530" "4531" "4540" "4429" "4440" "4328" "4329" "4229" "4230" "4128" "4129" "4142" "4027" "4028" "4040" "4042" "3926" "3927" "3928" "3942" "3823" "3824" "3831" "3841" "3724" "3725" "3741" "3622" "3623" "3624" "3631" "3641" "3653" "3036")

i=0
for e in ${array[@]}; do
    echo "array[$i] = ${e}"
    curl "https://www.e-stat.go.jp/gis/statmap-search/data?statsId=T000847&code=${e}&downloadType=2" --output "$HOME/Documents/${e}.zip"
    sleep 5
    let i++
done

参考文献

https://qiita.com/b4b4r07/items/e56a8e3471fb45df2f59

名古屋データ分析もくもく会 #6, #7公開しました

詳細はこちらのリンク先ご覧ください。

nagoya-stats.connpass.com

nagoya-stats.connpass.com

--

以下、定型文

各自もくもくと、勉強したり、プログラムを作成したり、報告資料を作ったりします。

データ分析という名前をつけていますが、そこまでテーマは固定しなくていいかなと思ってます。

統計でもいいし、機械学習でもいいし、何作っててもいいです。

とりあえず、主催者は名古屋市営地下鉄の乗車数の重回帰分析モデル作っている気がします。


会場

セルフカフェ神沢店 (愛知県名古屋市緑区神沢一丁目205)

桜通線 神沢駅 1番出口すぐ




参加費

無料

ただし、セルフカフェ利用料として、自販機から何かをご購入ください。(200〜300円くらい)


タイムスケジュール

13:00-17:30 もくもく作業

17:30-17:45 やったこと発表

18:00 自由解散

(なお、頑張りたい方は22時までもくもくできます)



遅刻、早退、自由です。

休憩は適宜自由にとってください。


用意していただくもの

・勉強や作業に使うもの

一応Free WiFiはありますが、WiMAX等をご準備いただいたほうが無難かなと思います。

無料の電源あります。ただし、数に限りあり。


注意事項

他のお客さんもいますので、もしかすると混み合うこともあるかもしれません。 そこはすみませんが、ご了承ください。

愛知県の電車+徒歩でいける範囲まとめ

なんで作ろうと思ったか

東山線名古屋駅伏見駅間に新駅(柳橋新駅)を作るとか作らないという話を名古屋市がしてるので、新駅がないとあの辺をぶらぶら歩くのがしんどいのかどうかを検証してみました。

あと、高辻のあたりって徒歩で移動すると死ぬよねー、とか、豊明市みよし市の境あたりって鉄道全然ないから、桜通線伸ばして三河豊田まで到達させるとハッピーな人多いんじゃないかな? みたいのも示そうかと思いました。(収益性についての話はさておき)

実行環境

その他前提

  • 半径800mを駅から歩ける距離として採用。不動産会社としては、徒歩10分 = 800mらしいので。

  • 愛知県に所在する駅データだけを元にしてるので、岐阜・三重・静岡の駅は乗ってません。

コード

import folium
import pandas as pd

#駅からの距離を設定
RADIUS=800

#名古屋市の全体を表示してみる
mp_Nagoya = folium.Map(location=[35.14, 136.9064], zoom_start=12)
mp_Nagoya

#愛知県も作る
mp_Aichi = folium.Map(location=[35.0, 137.25], zoom_start=10)
mp_Aichi

df_free = pd.read_csv("./datas/ekidata.jp/station20180330free.csv")

#愛知県だけのデータに絞る
df_free=df_free[df_free['pref_cd']==23]

#駅からの半径で色ぬり
#ちなみに、Circleだとm単位、makeCircleだとpixel単位で色ぬりするらしい。
for i,row in df_free.iterrows():
    folium.Circle(
            [row['lat'], row['lon']],
            radius=RADIUS,
            popup=row['station_name'],
            color='#3186cc',
            fill_color='#3186cc',
    ).add_to(mp_Nagoya)
    
    folium.Circle(
            [row['lat'], row['lon']],
            radius=RADIUS,
            popup=row['station_name'],
            color='#3186cc',
            fill_color='#3186cc',
    ).add_to(mp_Aichi)

mp_Nagoya
mp_Aichi

結果

こんな感じ

柳橋駅(の候補地)

一応、徒歩圏内に入っているけれど、名鉄名古屋駅近鉄名古屋駅・JR名古屋駅・地下鉄名古屋駅・地下鉄丸の内駅・地下鉄伏見駅からみて円の縁にギリギリかかっているかどうかという感じなので、アクセスが悪いといえば悪いかもしれない。

でも国際センター駅から徒歩5分くらいのエリアに含まれてるので、やっぱ問題ない気はする。ほらわがまま言わず桜通線使いなさいよ桜通線reachable_Yanagibashi.jpg

名古屋全体

地下鉄のおかげもあってだいたいのエリアが徒歩圏内に収まっているけれど、中川運河のあたりと高辻のあたりは、車がないとしんどい。 庄内川の沿線もしんどい。 あと、市東部のあたりもところどころおっきな空白地帯があるのでしんどそう。 reachable_Nagoya.jpg

愛知県全体

東三河は車がないと生きていけない。。。

あと、やっぱみよし市豊明市のあたりがすっぽり空白。名古屋市近郊エリアなのにここだけ線路網が薄い。市内でも人口多いエリアなのに。。。 桜通線三河豊田駅まで伸ばしてくれると嬉しい。 reachable_Aichi.jpg

参考にしたところ

Python: foliumでJupyter Notebookに地図を描画する - け日記

Folium: Pythonでデータを地図上に可視化 - Qiita

名古屋の駅乗者数で単回帰分析 #2

前回までと反省

前回までは以下を参照 https://qiita.com/takinou/items/5cd236ef05c68304f09b

データ数確保のために、1990年とか2000年とか、古い時期のデータも入れていたのだけど、未開設の駅もそのまま放り込んでいたのでよくないと思った。 そこに何の路線も通っていないよ、だから利用者0人だよ、と言うのは正しいには正しいんだけど、データ的にはゴミじゃね? と言うことで除外することにする。

コードはここ。

https://github.com/takinou/station_sim/blob/master/2_simple_linear_regression_nonzero.ipynb

前回と変えたところ

路線数が非0のデータだけを元データとして採用する。

Nagoya_Station_data=Nagoya_Station_data[Nagoya_Station_data['lines']!=0]

散布図からも0が消えたことを確認。 sample.png

あとは前回と同様に、単回帰分析をしてみる。

結果

相関係数

np.corrcoef(nz_datas['lines'], nz_datas['josha_num'])
array([[1.        , 0.85435272],
       [0.85435272, 1.        ]])

0.85だった。 前回は0.82なのでちょっと改善

回帰直線と散布図を見比べてみるとこんな感じ。 graph2.png

決定係数

決定係数は0.73だった。 前回は、0.68だったので、ちょっと改善。 やっぱ適当なデータは入れるべきではないなぁ。