フォーラム - neorail.jp R16

【自由研究】の話題

 → 茨城県内で必要な「主論文・野帳・掲示物」とは? 【詳細】(2017/10/19) NEW!
 → 【自由研究】の記事一覧(新着順)


【研究ホワイトボックス】

研究を楽しく「追体験」! 真っ白のキャンバスに虹色の未来を描く方法、教えます。
R with Excel prcomp | kmeans・hclust | rpart | ggvoronoi | spantree | lm NEW!


発行:2019/5/24
更新:2022/5/26

[3707]

【研究ホワイトボックス】 【A9R:データで遊ぶA列車】

研究ホワイトボックス(35) 複雑なデータと「対話」するには〜郵便番号データを例に(R編)


「j日市(じぇいかいち)」「n本松(えぬほんまつ)」
【フリフリポテト】ちょいと「R」よ高機能関数電卓よ(談)【大崎ThinkParkTowerあり】
なんと「郵便番号データ」に「グラフ理論」を(再)
「郵便番号データ」を『多変量らしい』多変量データたらしめるには(仮)
ランダムどーん(仮)
「R with Excel」(再)
「R with Excel」より「rpart」「rpart.plot」(再)
「R with Excel」(再)

(約58000字)

(2019年5月24日に追記)

・近年®「複雑なデータ」の用例です(2018年6月7日)
 https://trend.nikkeibp.co.jp/atcl/contents/feature/00069/052800004/

 > 多層パーセプトロンでは、層の数を増やすと複雑なデータも簡単に分類できるようになる。その理由を大まかにいうと、それぞれの層がそれぞれの役割を持って分類を行うからだ。

 …この続きは有料です。(※ジト目で棒読みしてください。)

 https://atos.neorail.jp/photos/led/led00251.jpg

https://atos.neorail.jp/photos/led/led00251.jpg

 https://www.sankei.com/life/news/190410/lif1904100016-n1.html

 > この年「渋谷109」がギャル路線に衣替え、JR埼京線延伸で来やすくなった埼玉方面などから続々と渋谷へ、ギャルやギャル男が集まりました。

 「この年」とは平成8年です。

※「近年®」:ちかごろみやこにはやるもの、の意。

 「複雑なデータ」とは、簡単には分類できないデータのことだとわかります。そういうとき、わたしたちが「簡単に分類できない」と思うのは、そのデータが「複数の分類に確率的に所属するようなデータ」だからなのですよ。たぶんですけどね。

 ここでは日本郵便「郵便番号データ」を使い、簡単には分類できない「複雑なデータ」が、いかにして「簡単には分類できない」のかを実感的に理解していきませう。

 「R編」([3707])では、「郵便番号データ」がいかに「複雑なデータ」であるかを理解します。そのままでは単なる辞書的なデータ(一定の項目が一定の順序で並んだデータ)である「郵便番号データ」をさまざまな方法で“分解”し、多変量データとして扱います。フリーの統計解析環境「R」を使用すれば、高度な数理的手法を簡単に扱えることを体験してください。

 「MySQL編」([3708])では、「郵便番号データ」をデータベース(RDB)にインポートして、基礎的な集計を実行します。高度なプログラムを書くことなくSQL文だけで多くの処理ができることを実感していきます。一般的なデータベース入門では説明が端折られたり“禁じ手”とされるような「スロークエリ(実行時間が非常に長いSQL文)」を積極的に活用します。基本的に同じSQL文を2度とは実行しない(いわば“使い捨て”でもある)「対話的データマイニング」ならではのデータベース(MySQL)の活用法をデモンストレーションします。

※この記事は2018年10月、2019年1月、2019年5月に断片的に記したものを無理やり1つにまとめたものです。過度な期待はしないでください。

・(2018年11月19日)
 http://must.c.u-tokyo.ac.jp/sigam/hiki.cgi?%C2%E820%B2%F3%B8%A6%B5%E6%B2%F1%BE%B7%C2%D4%B9%D6%B1%E9%CD%BD%B9%C6%2F%A5%CF%A5%F3%A5%C9%A5%A2%A5%A6%A5%C8

 > 世の中ではデータサイエンティストの育成が急務となり,社会人のリカレント教育を推し進める動きや,大学内でデータ分析を専門に行う部署を設立する動きが加速している.一方で,データ分析に不慣れな人は,専門的な知識がないとデータ分析を行うことは難しいと考えていたり,データ分析のためのツールを導入すれば,ツールが分析してすべての結果を出してくれるという誤解を抱いているケースが多い.そこで本チュートリアルにおいては,データ分析とは何をすることなのか,どうすればデータ分析ができるようになるのか,を最も基本的なところから説明するとともに(以下略)

 …「するとともに」構文みたいなのキター!!(※恐縮です。)


(2018年10月7日)

 ずっと以前にも遊んだことがあったと思いますが、改めて遊んでみようという話題でございます。

[3540]
 > 地名なんて、あとから決まるんですよ。人が住むから地名が必要なんですよ。…その発想はなかった!(棒読み)

 > > わあぃ地名の好みは別として、新しく郵便番号が振られるなんて、とっても賑わいっぽいと感じられてきそうです。

[3044]
 > 郵便番号辞書で遊んでいた時のこと、地名の文字の連接を、もとの分布確率を保ったままランダムにつなぎかえて…というつもりがプログラムのミスで、やたら長くなんでもかんでもつながってしまったのでした。駅名でいえば「溜池山王」どころか、それに「王子」「子安」「安善」が連なって「溜池山王子安善」になるようなものです。文字数に上限を設けなければ「溜池山王子安善光寺山北八王子安善…」などとループしていく始末です。また、ソートすれば「山形県米沢市アルカディア1丁目」が出てきて、わあぃ(以下略)

 うわあぃ!(※悲鳴です。)

[3326]
 > > 最近では、素データがインターネット等で公開されていることも多く、そのようなデータを入手して活用することもできる(適当に検索して探してみると良いだろう)。

 > ぬおー。「素」で『素データ』へのビスケットが足りないのではないかねキミぃ

[3699]
 > …そんな操作をしなくてもぉ〜♪

 > はい☆ピッピッのピーっさ。(もっと違)

 > > エラー!

 > えーっ!

[3543]
 > 装置やプログラムを自慢しながら我々「ここに置いてください」と書かれた投入口みたいなところに(中略)とっておきの試料やデータをもったいぶって(さらに略)わざわざ費用・労力・時間などを費やすのだから、これはもうすばらしい結果が出ないといけないんだ&むしろ出るんだと言い聞かせながら「OKぐーごー?」などと言葉による働きかけを(以下略)からの「途中であわてて止めてみせる」ところまでが「かける」です!

 費用のかからない、しかも失敗してもなくならないデータだからといって、その実、油断は禁物ですぜというのが日本郵便「郵便番号データ」であります。

・日本郵便「郵便番号データダウンロード」
 https://www.post.japanpost.jp/zipcode/download.html

 > 読み仮名データの促音・拗音を小書きで表記するもの

 https://www.post.japanpost.jp/zipcode/dl/kogaki-zip.html

 > 全国一括
 > (1,687,378Byte)

 https://www.post.japanpost.jp/zipcode/dl/kogaki/zip/ken_all.zip

 > 全国一括のデータは12万件あるため、一般的な表計算ソフト等では全データを読み込むことができない場合があります。
 > 本データファイルには検索ソフトは含まれておりませんのでご承知ください。

 そのくらいはじぶんでできるもん☆のほうなどおつけして&しつれいしました。ちょっとしたエディタで開いていちばん下までスクロール(略)124236行あることがわかります。

 https://www.post.japanpost.jp/zipcode/dl/readme.html

 > 郵便番号データに限っては日本郵便株式会社は著作権を主張しません。自由に配布していただいて結構です。

 ほぉお。…こうして「中目黒の小松菜に関するお店」みたいなの([3576])が世にあふれるのだと、たぶんこういうわけです。(棒読み)

[3704]
 > > 名古屋駅周辺のほうれん草に関連するお店
 > > 岡本太郎記念館周辺のラーメンのお店

[3673]
 > > 佐原・水郷にあるラーメン(拉麺)のお店22件のランキングTOP20を発表!

 https://tabelog.com/saitama/A1103/A110301/R7275/rstLst/MC/
 http://www.myoei.co.jp/templates/jsn_corsa_pro/images/myouei/kurumaya/tenpo/niiza_01.jpg

 …そっちは『新座駅のおすすめラーメン』ですよぅ。だから無造作に撮った写真でもタンク車が写るんですね、わかります。(※恐縮です。)

[3674]
 > > 東京都のパイナップルチャーハンに関連するお店

 東京都のパイナップルチャーハン!!(違)

[3576]
 > いくらデータベースに「中目黒」と「小松菜」があるからといって、さも「きょうは中目黒で小松菜。」みたいな…うそーん。

 がびーん…じゃなくて、ぎゃふん! 両手でぎゃふん! えいっ。(※表現は演出です。)

[3521]
 > > 39位 鉄道駅数
 > > 56位 長時間ネット利用率(中学生 2時間以上)
 > > 59位 ラーメン店数
 > > 73位 無線LAN普及率(家庭内)

 > 『平成時代!』における地域間での差(=地域の特徴)や、この30年のうちでも目まぐるしく変化しているようすなどを『よく(じゅうぶんに)』表していそうなのは、このあたりかなぁ。…このあたりかなぁ!!(棒読み)

 > 『変な業態!』の店が「たけのこ」…そういうことになってくる直前の、つまり「この30年」のほぼ全域にわたって、よく特徴が出ていそうなのは「ラーメン店数」っぽいですよね。そういう意味では「ラーメン店数」もまた、時限的な有用性しか持たないといえます。いえ、そもそも、よほど普遍的な指標を除けば『賞味期限!』のある指標ばかりなのではないんですかねぇ。…ギクッ。▼「すかいらーく」については[3436],[3455]、▼JR九州「ミスタードーナツと呼ばれるジャンル!」については[3413],[3458]などを参照。こういう1970年ごろからの業態は2000年までの30年でだいたい変化が終わっている(≒落ち着くところに落ち着いている?)のではないか、逆に「牛丼店」などは、まだ15〜20年分しか変化が見えていないという…そういう(時間的に)両側から挟まれて(&いま分析するなら)「ラーメン店数」なんだと、たぶんこういうわけです。ここをもう1段「抽象化」するなら、「外食産業の新業態『n年目』!」みたいな…ゲフンゲフン。ちまきでも桜餅でもラーメンでもステーキでも酸素でも宇宙食でもなんでもござれっ&ハハー!(※かなりボウロンですので、うのみにせぬよう。)「【食べる桜しょうゆ味】焼いてないから焼きおにぎりじゃないもん! お姉ちゃん風ふきすさぶ隅田川上空をうじうじと仰ぎながら「桔梗屋菓子目録」(1683年)を遠目に浮かべる(談)【カザンオールスターズ特設ステージあり】」については[3485]を参照。

 …ぜぇぜぇ。(※表現は演出です。)

 > 逆に、「『よく』表してはいない」というのはどういうことかといいますと、▼どの時代でも激しく変化しそうだよね、▼常にふらふらしているので誤って地域の特徴だといってしまいそうだよね(=ある時点に限れば確かに地域の特徴ではあるけれども、定常的な特徴なのかというと、ぜんぜん違うよね)…みたいなの(?)でしょうか。

 再び郵便番号データです。

 > 全国地方公共団体コード(JIS X0401、X0402)
 > (旧)郵便番号(5桁)
 > 郵便番号(7桁)

 > 都道府県名
 > 市区町村名
 > 町域名

 Rにインポートしてみよー。(棒読み)1と3と7,8,9と6の列を使おうかな。(もっと棒読み)…だが断る!

※メモリ不足で読めません! 『前処理!』でファイルを小さくしないと読めません!!

 …SQLサーバーにインポートしてみよー。そうそう、さいしょからそうすればいいのよ。(※表現は演出です。)

・「都道府県名」と「市区町村名」が異なって「町域名」が同じという「町域名」がいくつあるかカウントしてみよー
・「町域名」の隣接関係(同じ「市区町村名」にあるもの同士)と、別の「市区町村名」にある同名の「町域名」との関係をグラフ(辺リスト)で表現してみよー

 あ、じゃぶじゃぶ。

・インポートがタイムアウトしました
・インポートがタイムアウトしました
・MySQLは衰退しました(…してません!!)
・MariaDBがこちらを見ています(違)

 ええーっ。ちゃんと使える環境を用意して出直してきます&すんません。(※「MySQLとか一通り」については[3708]を参照。)

 いますぐRで遊ぼうというかたは県別のファイルを使いなさいってこった。

 https://oku.edu.mie-u.ac.jp/~okumura/ajax/yuubin2/

 > x = read.csv("24MIE.CSV", header=FALSE, fileEncoding="CP932")

 これだね。

・「MJ文字情報一覧表」
 https://mojikiban.ipa.go.jp/1311.html

 > 部首(参考)
 > 部首欄には部首番号を記した。『康煕字典』の部首の通し番号により、1から214までである。

 これだけ使いたいんですけど、ケッタイなXMLを目的にあわせたCSVに書き換えるか、1文字ずつAPIで引けとおっしゃる。


☆「j日市(じぇいかいち)」「n本松(えぬほんまつ)」


 結局、プログラムをじぶんで書かないといけないときたもんだ。

町名の
文字数
頻度(%)
1260.028
24371146.728
33019032.274
41140112.188
552115.571
621582.307
75700.609
81930.206
9540.058
10200.021
1160.006
1220.002
1610.001
(計)93543


 ほぅ。1文字の町名というものは9文字の町名よりも頻度が少ないとおっしゃる。下記の通り、絶妙な条件で抽出しているので、ならびにそもそも郵便番号が単独で割り当てられない町名はごっそり除外されているので1文字の町名(大字)が少ないということでしょう。ま、そこに駅や郵便局ができるかといって、しょーじきそれはないなみたいなー(諸事情により略)そういう意味では除外するほうが適切だと考えます。(※恐縮です。)

214
310
44
52
61


 町名をランダムに30個くらいつくってみせるとき、このような内訳にすればよいとおっしゃる(※四捨五入したら31個になっちゃいました)。長いほうから見て1,2,4ときて、8,16じゃなくて10,14だというのがミソです。そういう16みたいな割合の2文字の町名の末尾に「町」とか「台」とかついて3文字になるのがそういう割合であるってことですね、わかります。(※全国ごちゃまぜの分布であります。あしからず。)

※もとより3文字の町名としてのみ成り立つ「洋光台」みたいなのが『31ぶんの8』の割合であって、『31ぶんの2』の割合で「日野」でも「日野町」「日野台」でもいいみたいなのが『「日野」もありだけどここは「日野台」だ』みたいにして3文字になるんだというような理屈を想像してください。

鹿島富士見町
鹿島代々木町
鹿の谷山手町
野幌代々木町
茂尻新春日町
幾春別千住町
布礼別市街地
茂辺地市ノ渡
青山奥四番川
江差港北埠頭
美馬牛市街地
歌登上徳志別
歌登志美宇丹
白滝上支湧別
丸瀬布上武利


・「流山新市街地」
 http://www.city.nagareyama.chiba.jp/business/1006720/1006721/1006733/1006760.html

・いうなれば「東京代々木町」
 http://kyouiku.higo.ed.jp/kiji2/pub/default.phtml?p_id=1190

・北海道の各地に「代々木町」
 http://www.kitanihon-oil.co.jp/pc/essay/mera-tonden3.htm

 試される6文字だよ北海道らしい町名とはこのことだよ。…中野富士見町じゃないよ?(※恐縮です。)

女満別眺湖台
女満別夕陽台


 …MMB! MMB! そっちは女満別夕陽台ですよぅ。

(n=268951)

32973
9761
5311
5098
5064
4579
3717
3704
3090
2706
2619
2458
2329
2305
2101
2096
2082
1891
1886
1843
1744
1695
1506
1477
1470
1394
1370
1370
1354
1354
1348
1342
1335
1267
1266
1244
1206
1190
1172
1167
1140
1117
1078
1072
1054
1038
1030
1023
1016
960
940西
922
915
897
894
879
860
859
859
851
845
800
797
786
779
778
757
753
750
749
745
744
741
733
732
698
694
687
676
672
669
668
664
654
653
653
640
636
623
612
609
603
597
597
594
593
590
587
586
581
581
578
577
577
575
574
569
565
551
551
550
547
543
538
531
531
527
524
516
498
476
473
469
467
466
462
458
453
451
447
436
435
434
434
433
432
429
427
426
426
422
421
420
412
412
409
405
404
402
400
399
398
397
396
394
386
385
385
376
370
369
367
365
357
346
341
340
338
336
335
332
327
326
326
324
320鹿
320
315
312
312
312
311
308
308
304
303
301
300
300
299
297
293
292
284
282
282
281
281
278
278
276
275
273宿
269
258
257
257
255
251
249
248
246
240
237
235
234
230
228
228
224
224
223
217
217
214


※ぜんぶで2307個の文字列が出現しました。そのうち225番目までを表示しています。

 うーん。どうしてもといえば「MJ文字情報」のAPIを2307回、つごう2307回ほど事前に呼んでおけば済むということです。…それはちょっとなんだかなぁだなぁなんだよね。(※見解です。)わたしたち、部首がどうのこうのというのは後回しにしませう。

 ▼「以下に掲載がない場合」「の次に番地がくる場合」を除外、▼数字を含む町名は無視(「/[0-9]/u」)、▼括弧の内側の文字列は除外(なぜか残る「/、/u」「/)$/u」も無視)、▼ひらがな・カタカナは「のがヶノ之」だけ許可(「/[ァ-ネハ-ヴー・]/u」「/[ぁ-かき-ねは-ん]/u」)、▼狭い地域には2つとない「国」「城」「宮」は除外*(※恐縮です=それは別口で考えたい、の意)、▼「/条[東西南北]*$/u」「/区$/u」「/一円$/u」は除外して、さらに▼「AA町BB」「AA町CC」を「AA町」1つと「BB」「CC」に分けて計上したのち、1文字単位での『町名頻度!』(町名が同じでも自治体が異なれば別物としてカウント)を出してこーい&降順でソートして上から225つまで持てーい。(棒読み)

*「/(空港|学園|公園|団地|駅|国|城|宮)/u」みたいなので見てます。「/[東西南北甲乙丙丁]$/u」「/^[東西南北上中下]/u」も都合により除外します。そして「埠頭」と「農場」と「第一」みたいなのがあったよといいながら、そこは直さずそのまま@なんてこったい。

※「アルカディア」とか「あいの里」とかユニークすぎるのをほとんど除外できます。(※まことにメッソウではございます。)

 うーん。同じことを2文字の連接で調べたのプリーズっす。

(n=175408)

1709田町
1127本町
1020新田
804原町
802山町
739新町
673野町
653川町
603屋町
539木町
505島町
447清水
446栄町
433寺町
395東町
389西町
369久保
366八幡
355谷町
354中町
347山田
335井町
326南町
323浜町
323が丘
298日町
297崎町
294川原
283和田
277元町
275田中
275見町
270屋敷
264和町
262春日
262内町
260上町
244生町
237幸町
234北町
232大野
228沢町
228口町
218河原
216場町
207吉田
203緑町
202園町
201岡町
199津町
198温泉
198松町
196泉町
195下町
193本郷
191旭町
189馬場
187吉町
187塚町
186古川
186番町
185野田
180河内
179神町
177葉町
176天神
175水町
170高野
170前町
169住吉
168手町
166末広
166橋町
165大谷
162尾町
162小路
162朝日
159戸町
158小野
157水沢
157松原
155市場
154出町
153浦町
153昭和
153ノ内
152江町
152小山
144太田
143高田
141幡町
141日市
138子町
138富士
137谷地
137広町
134柳町
134瀬町
134池町
134嵯峨
132明町
132ノ木
131坂町
131倉町
131畑町
131小川
129平町
129衣川
128池田
127港町
127石町
127平野
126常盤
126前田
126小田
125地町
125大和
125深草
123田原
123神田
121保町
119花園
118曽根
117中央
117大町
117部町
116錦町
116里町
115寿町
115山崎
115諏訪
113大久
112村町