motsu's blog

大学生のブログ, 主に統計とか 数学とか 諸々の話題

Rのジオコーディングで詰まった話

状況

住所から経度緯度を求めたい。いわゆるジオコーディングを行いたい。今回はGoogle APIとRのライブラリであるggmapを用いてジオコーディングを行った。

使用言語

R 3.6.1

発生した問題点

hoge %>% 
  mutate(緯度 = geocode(住所)$lat,
         経度 = geocode(住所)$lon)

を実行した際に、

Error in geocode(住所) : is.character(location) is not TRUE

とデータの型がcharacterではないことをエラーが出た。

解決方法

hoge$住所 <- as.character(hoge$住所)

としてデータの型をcharacterに変更した。

終わりに

データの型によるエラーで今後ジオコーディングを行う際の備忘録として記している。

コード

# パッケージの読み込みとAPIの設定
library(ggmap)
library(tidyverse)
library(dplyr)
register_google("your google api key ")
has_google_key() 

# データの読み込み
hoge <- read.csv("hoge.csv",row.names = 1)
# 経度緯度に変換したい住所のデータ型をcharに変更
hoge$住所 <- as.character(hoge$住所)
# ジオコーディングを行う
hoge_address <- geocode(hoge$住所)
# データを結合する
hoge <- cbind(hoge,hoge_address)
# csv形式で出力する
write.csv(hoge, "hoge.csv")

参考

R:複数ポイントの一括ジオコーディング→ggplot2でマッピングして背景にGoogleMapを重ねる。
ggmapパッケージを用いて住所から緯度経度のデータを得る

gzファイル・tarファイルの展開

はじめに

この記事は自分が躓いた部分の備忘録です。 [追記] 自分はコマンドプロンプトではなく、git bashで下記コマンドを実行しました。

状況

gzファイルという形式でデータをインストールしましたが、windowsで普段はzip形式でファイルを圧縮・展開しているので、展開方法がわかりませんでした。(とりあえず、圧縮ファイルであることはわかりました。)

解決法

gzファイルの展開

gzip -d ファイル名.gz

tarファイルの展開

tar xf ファイル名.tar

終わりに

コマンド集は圧縮展開系のコマンドのまとめにまとまっているので、参考にしてください。

[追記] またまとめてgzファイルを展開する を参照してもらえれば、同一ファイル内の複数のgzファイルを一度に展開することができます。

find . -name "*.gz" -print0 | xargs -0 -n1 gzip -d

参考

linux tar.gzの圧縮・解凍 メモ 圧縮されたアーカイブファイルが展開出来ない!(ソースコードを自分でコンパイルした時のトラブルシューティング) 圧縮展開系のコマンドのまとめ tarおよびgzipについて まとめてgzファイルを展開する

Latex 「Overfull \hbox」 の解決方法

はじめに

みなさん。motsuです。本日はLatexを書いているときに出てきたエラーとその解決方法のメモを残したいと思います。

エラー概要 

Overfull \hbox (xxxpt too wide) in paragraph at lines yy--zz

上記のエラーの意味としては、改行をうまく行えなかったために枠をはみ出してしまった、というものです。

解決方法

解決方法としては、

1 枠内に収まるようにフォントサイズを小さくする

2 無理やり改行して枠内に収めること

が考えられます。

参考

14. エラーが出たら・・・

https://www.math.nagoya-u.ac.jp/~naito/lecture/2016_AW/ex04.pdf 

「データ分析のための数理モデル入門 本質をとらえた分析のために」を読んで

はじめに

私はmotsuといいます。統計学アクチュアリーなどに興味がある大学生です。本日は

データ分析のための数理モデル入門 本質をとらえた分析のために」を読んだ感想を記載していきたいと思います。

 目次

こちらのサイト

データ分析のための数理モデル入門 本質をとらえた分析のために 江崎貴裕(著/文) - ソシム | 版元ドットコム

から目次を取ってきました。主に物理モデルと統計モデル、それらのモデルの評価、モデル構築、より良いモデルについて詳しく書かれた本になります。

 

第一部 数理モデルとは
第1章 データ分析と数理モデル
〔データを分析するということ/数理モデルの役割〕
第2章 数理モデルの構成要素・種類
〔理解志向型・応用志向型モデリング数理モデルの適用限界〕

第二部 基礎的な数理モデル
第3章 少数の方程式によるモデル
〔線形モデル/実験式・カーブフィッティング/最適化問題
第4章 少数の微分方程式によるモデル
〔線形微分方程式非線形微分方程式/安定性解析/制御理論〕
第5章 確率モデル
〔確率過程/マルコフ過程待ち行列理論〕
第6章 統計モデル
正規分布/統計的検定/回帰分析〕

第三部 高度な数理モデル
第7章 時系列モデル
〔時系列データの構造/自己回帰モデル/状態空間モデル/非線形時系列解析〕
第8章 機械学習モデル
〔複雑なモデルと過学習/分類・回帰問題/クラスタリング/次元削減/深層学習〕
第9章 強化学習モデル
〔行動モデルとしての強化学習機械学習モデルとしての強化学習
第10章 多体系モデル・エージェントベースモデル
〔ミクロからマクロへ/さまざまな集団現象モデル/相互作用のネットワーク分析〕

第四部 数理モデルを作る
第11章 モデルを決めるための要素
数理モデルの性質/理解志向型・応用志向型モデリングのポイント〕
第12章 モデルを設計する
〔変数の選択/データの取得・実験計画/数理構造・パラメータの選択/間違ったモデリングをしないために〕
第13章 パラメータを推定する
〔目的に応じたパラメータ推定/パラメータ推定における目的関数の最小化/ベイズ推定・ベイズモデリング
第14章 モデルを評価する
〔「いいモデル」とは/分類精度の指標/情報量基準/ヌルモデルとの比較・尤度比検定/交差検証〕

感想

統計学や物理学を学びたい人やデータ分析について関わりたいと思っている人にはちょうど良い本だと思います。様々は専門書にはない、各モデルについての概略やどういう場面でそれらモデルを使用するべきなのかについての全体像を掴むことができると思います。1冊目におすすめです。 

 

私はこの本において 微分方程式モデル・確率モデル・機械学習モデル・強化学習モデル etc が1冊にまとまっていることに感動しました。 これらをまとめた「数理モデル」を俯瞰的にみることができ、状況に応じてどのようなモデルを用いるのか、あるいは組み合わせるのかを考えるきっかけになりました。

  

この次に読むと面白い本

こちらの本は全体像を掴むことには最適ですが、実装したいであったり、理論について深く学びたい場合にはもう1段階踏み込んだ内容の本を読む必要があります。そこでお勧めの本を紹介していきたいと思います。

数理統計学

これらの本は全て測度論をベースとしない数理統計学の本です。上記の本を読んだ後に統計学への興味が出てきた場合、こちらの本を手にとって、自分に合う本を一冊読んでみるのがいいと思います。

 

現代数理統計学の基礎」 

こちらの本は統計検定1級の対策やアクチュアリー数学の試験の勉強に最適です。近年話題の計算機統計の話も載っています。

 

数理統計学

「数学シリーズ」の1冊です。満遍なく書かれており、わかりやすい記述がなされています。

 

新装改訂版 現代数理統計学

こちらは「現代数理統計学」の新装改訂版になります。Amazonでも高額の中古商品ばかりで手が出せなかった本書が問題の略解付きで販売されます。

 

入門・演習 数理統計

上の3冊が難しい場合、こちらから読んでみると良いかもしれません。証明の式変形は丁寧ですし、何より問題数が多いので、良い練習になります。

 

入門数理統計学

あとは証明の参照に以下の本がおすすめです。上記の3冊には書かれていない証明などが詳しく書かれています。

 

機械学習

 機械学習に関する本はいろいろと出版されております。そのため、ここでは名著をピックアップします。他にも良い本がある場合はコメントいただけると嬉しいです。

 

パターン認識と機械学習

通称「PRML」です。機械学習の代名詞と言える本です。ベイズに親しみのある方、これからベイズに取り組みたい方にもおすすめです。

 

はじめてのパターン認識

PRML」ほどではありませんが、機械学習アルゴリズムについて理論的に記述されている本です。「はじパタ」として親しまれています。主に分類において用いられている線形判別分析やSVMの理解に最適です。

 

ベイズ深層学習

上記の「PRML」に変わるベイズ流の機械学習本と巷では話題になっている本です。一番の魅力としては「ガウス過程」について書かれていることです。「深層学習」と「ガウス過程」との関わりを知りたい方にもおすすめです。

 

機械学習のエッセンス

こちらは機械学習で用いられている数学(線形代数微分積分)から書かれており、pythonによる実装も載っているため、機械学習を学びたいあなたにとって最初に選ぶべき1冊であると断言できます。こちらの本を読み切った上で、上記の「PRML」や「はじパタ」、「ベイズ深層学習」などを読み進めてはいかがでしょうか。

 

終わりに

今回は「データ分析のための数理モデル入門 本質をとらえた分析のために」を読んだ感想とそれにまつわる本の紹介をさせていただきました。特定の分野(統計、機械学習、などなど)に特化したはたくさんありますが、今回のような全体像を把握できる本はなかなかありません。なので、このような貴重な本を味わい尽くしたいと思います。

 

データ活用のための数理モデリング入門」も同テーマであるので、今度こちらの本についても読んでみたいと思います。

 

 

8月に読んだ本

8月に読んだ本は「[新版]この1冊ですべてわかる 金融の基本」です。  

こちらの本の目次は以下のようになっています。

(こちらのサイトから引用[新版]金融の基本 – 日本実業出版社)

はじめに  
第1章 金融はなぜ大切なのか  
第2章 コーポレート・ファイナンスの基本  
第3章 株式市場  
第4章 債券市場  
第5章 金利を理解しよう  
第6章 外国為替市場  
第7章 投資の基本  
第8章 新しい金融の流れ  
索引  

 

目次から分かる通り、金融について基本的なことから近年における金融事情(Fintech等)についても記載されており、ざっと全体像を知るのに最適な本でした。

 

最近ではコーポレートファイナンスにも興味があるので、そちらの本を読んでみたいと思います。

コーポレートファイナンス入門〈第2版〉 (日経文庫)

コーポレートファイナンス 入門編 第2版

 

 

都市の数理モデル(1) ~ 導入~

はじめに

ここでは都市と地域の数理モデル ―都市解析における数学的方法―を題材に、都市解析の基本をまとめていきたいと思います。

目次 

以下が

都市と地域の数理モデル ―都市解析における数学的方法― / 栗田 治 著 | 共立出版

から引用した目次です。順番に前からシリーズ化して進めていきたいと思います。

 

 第1章 移動の都市解析
1.1 都市内流動のモデル化
1.2 空間的相互作用モデル
1.3 重力モデル
1.4 ウィルソンのエントロピーモデル
1.5 生起確率最大化エントロピーモデルによる発生制約型重力モデルの誘導
1.6 エントロピーモデル式を実測データ{Tij}にフィットさせるアイデア

第2章 非集計ロジットモデルによる都市解析
2.1 選択行動の例
2.2 定式化
2.3 I.I.A.特性と赤バス―青バス問題
2.4 非集計ロジットモデルと空間的相互作用モデルの相互関係
2.5 線形効用関数と係数の推定
2.6 非集計ロジットモデルに立脚した特急料金の最適設定モデル試論

第3章 多角形をとりまく都市解析
3.1 面積と重心の算出定理とその証明
3.2 面積と重心の計算例
3.3 多角形から固定点への距離の平均値と等高線
3.4 2次の積率(距離の2乗の平均値)

第4章 都市施設への距離分布の都市解析
4.1 都市平面の距離モデルの概観
4.2 施設位置と勢力圏が確定しているときの距離分布
4.3 最近隣距離とボロノイ線図の紹介
4.4 レギュラーな施設配置の下での最近隣距離分布
4.5 ここまでの議論からわかること

第5章 ランダムな点分布と都市解析
5.1 空間ポアソン分布
5.2 無限平面上の直線距離の分布
5.3 直線上の距離分布
5.4 多発火災の延焼モデルへの応用

第6章 領域間距離の都市解析
6.1 領域間平均距離とは何か
6.2 2つの円盤の間の平均距離とその近似式
6.3 平均距離近似の一般公式
6.4 不定形の間の平均距離近似式

第7章 施設の適切な数を探る都市解析
7.1 最適施設数モデルを定式化するための準備
7.2 総費用の最小化問題
7.3 政令指定都市と東京特別区部の区数の分析
7.4 サービスの階層構造を持つ都市施設の数を決めるモデル

第8章 1次元ミニサム型施設配置の都市解析
8.1 1次元ミニサム型施設配置モデル
8.2 単一施設のミニサム型配置問題
8.3 2つの施設の配置問題
8.4 n個の施設の配置問題(n≧3)
8.5 数値解法
8.6 既存施設を想定した施設の追加モデルと一方通行モデル
8.7 東京圏の放射鉄道セクターへの適用

 

前提知識

基本的には線形代数微分積分微分方程式、数理統計学を知っていれば読むことには困らない設計になっていると思います。あとはデータ解析の経験があれば、より鮮明に伝わるのではないかと思います。

 

更新頻度

しばらくは気まぐれに進めていきますが、とりあえず第4章あたりまで進めていければいいかなという認識です。

 

参考文献

はじめに

はじめに

こんにちは。はじめまして。 motsuです。現在大学生をしています。興味分野としては数学、経済学、会計学、Web技術などです。ここでは、主に月単位で読んだ本の記録や独学の内容を中心に記載していきたいと思います。