カテゴリー別アーカイブ: データマイニング

統計学の興味は個別データではなく、集団に関する情報

以前、データジャーナリズムのイベントでジャーナリストと一緒に仕事をしたが、どうしてもデータに対する考え方の違いがあって、どうにもはっきりしなかった。しかし、量的研究エッセンシャルという記事を見て、自分の中のモヤモヤ感がはっきりした。

簡単に言うと、統計学・データサイエンティストは個別のデータに関心があるのではなく、個別データの背後にある一般的な仕組みや規則に興味がある。一方、ジャーナリストは個々のデータや事件に興味があるのだと思う。それで、両者のデータに関する考え方の違いでどうも通じ合えないのではないだろうか。

記事の内容をまとめてみた。元の記事を見たほうが分かりやすいかもしれないので、是非元記事をみるのをお勧めする。かなり丁寧に書かれた記事であり、更に連載記事なので他の記事も通して読んでみると統計学・データ解析の本質が分かると思う。

(要約)

量的研究での関心事は個別データの背後にある一般的な仕組みや規則を明らかにすることだ。

統計学では個別データは母集団という仮想世界から現実世界へ偶然に生じたものと考える。

データと説明可能なモデルとノイズに分けると確率的考えで変動をうまく説明できる。

量的研究の関心事は個別データではなく、集団に関する情報であり、個性はノイズとみなす。

世の中の現象は多数の要因が絡みあって生じるので予測は確率的にしかできない。

 

統計学・データサイエンスの勉強法

ここ数年、私はデータサイエンスについて学んでいます。おすすめの学習資料を紹介したいと思います。

教師用の教科書と初心者用の教科書

私自身、データサイエンスを学ぼうとして色々なソースを試してみました。残念なことに、日本語の良い学習資料は見つけられませんでした。どこかのブログで読んだことがありますが、教科書は教師用と学生用の二週類があるそうです。一つめは内容が既に分かっている教師の為の教科書で、日本はこのタイプです。もう一つのタイプの教科書は自学自習を目的に作られているので、教師なしで学ぶできる教科書になっているということで、アメリカはこのタイプの教科書が多いです。私自身、他の文系・理系の教科書を探した時もアメリカの教科書の方が分かりやすく、その本だけを読めば分かるようになっていると同じ印象を持ちました。

オンライン教育(MOOC)

アメリカは科学教育に熱心であり、最近はやりのMOOCでも豊富なコースが無料で受けることができます。有名なのはCoursera, Udacity, EdXがありますが、私はもっぱらCourseraのファンなのでCourseraのコースを紹介します。

1. Machine Learning by Andrew Ng

Courseraの創設者の一人Andrew NGが講師で、ビジュアル的に板書で説明してくれるので、計算の理屈がよく分かりました。Courseraのコースの中で最も授業が上手だと思います。最近、完全に日本語字幕もついたので、かなり受講しやすいです。

2. Johns Hopkins 大学のData Specialization

これは9つのData Science関連コースが合わさったものですが、中のRoger D. Pengのコースがお勧めです。Rの基礎やデータクレンジング等について丁寧に解説してくれます。しかし、Brian Caffoのコースは説明が下手なので、お勧めしません。

お勧めのコース

R Programming 統計プログラミング言語Rの初歩

Exploratory Data Analysis データ解析の予備的解析やデータ探索

Reproducible Research データ解析手順を再現可能にするための技術(ドキュメント化やパブリッシング)

Getting and Cleaning Data データ解析前のデータの整形や洗浄

3. Social Network by Lada Adamic

ソーシャルネットワークやネットワークグラフに興味のある人は取ってみたら良いとおもいます。

4. Mining Massive Datasets from Stanford大学

私はまだコースを受講していませんが、かなりきっちりとカリキュラムが組まれているようです。

授業内容は書籍が出版されているようで、PDF版は無料で見ることができます。良質の教材を惜しみなく無料提供するというStanford大学の太っ腹さには驚かされます。
http://www.mmds.org/

Khan Academy と CK-12

Courseraとは別に高校や大学教養学部レベルのものであれば、Khan AcademyとCK-12を覗いてみるのもよいでしょう。Courseraでは説明が不十分な基礎的な知識はこちらの二つのサイトの動画を見て学びました。

カーンアカデミー(Khan Academy)は講義の動画がYouTubeに載せてあります。

Khan Academyのprobability and statistics

CK-12はあまり有名ではありませんが、 高校レベルの講義資料や教科書を無料提供しており、高校レベルで教えてくれるのでとても助かります。

CK-12のFlexBookという教科書は、PDFやepubで読むことができ講義画像へのリンクもついています。

CK-12の統計コース一覧

CK-12の統計学初歩の教科書

CK-12には他のレベルの統計学の教科書もあります。

書籍

小島 寛之 完全独習 統計学入門 ダイヤモンド社

統計学の初歩として数式を多用せず、分かりやすいのでお勧めです。

涌井良幸 多変量解析がわかる 技術評論社

著者は高校の先生なので非常に丁寧に説明してくれるので、多変量解析のことがよく分かるようになります。

Foster Provost 戦略的データサイエンス入門

過学習等、実際にデータ解析を行う際のノウハウが収録されている。

Steven Bird 入門 自然言語処理

自然言語処理の入門書。Pythonでの自然言語処理方法を収録している。

勉強会

TokyoR

東京で開催されている統計プログラミング言語Rの勉強会です。

一人で勉強していると周りが見えなくなることもありますので、一緒に学ぶ人を見つけるのがよいでしょう。他にも多くの勉強会があるので、探してみましょう。

英語の教材が多くなってしまいました。統計学やデータサイエンスを学んでいくと、やはり欧米の科学教育に対する層の厚さをひしひしと感じます。英語という障壁はありますが、その障害を補っても余りある学習効果があると思いますので、是非英語の教材にも挑戦してみてください。

[問題解説12] 男性と女性の殺人被害者数の関係は?

かなり遅くなってしまいましたが、「男性と女性の殺人被害者数の関係は?」の問題解説をします。

今回の問題は、前回の問題「ヒストグラムと散布図を描いてみよう」の発展問題です。

データとプログラムは下記のGitHubリポジトリーにおいてあります。

問題

世界各国の殺人被害者データを用いて女性被害者数から男性被害者数を予測してみましょう。

UNODC(United Nations Office on Drugs and Crime : 国連薬物犯罪事務所)から公開されている世界176ヶ国の殺人被害者の男女別のデータがあります。女性被害者数から男性被害者数を予測してみましょう。

homicide_log.zipをダウンロードしてください。解凍して、homicide_log.csvを読み込んでください。
男性・女性の殺人被害者数のデータは10を底とする対数化してあります。
元データは下記のページから入手しました。
Global Study on Homicide(殺人に関するグローバル調査)

■課題

1.回帰分析を行ってください。

Rの回帰分析関数 lm() を使用して予測式を求める計算をしてください。

2.予測式の値を答えてください。

男性被害者数をM、女性被害者数をFとすると、以下の予測式が成り立ちます。
M = a * F + b
a, b を小数点3桁まで答えてください。解答方法はプログラムの最終行に以下のように記述してください。
# a = x.xxx
# b = y.yyy
3.散布図を作成し、予測式の直線を表示してください。 X軸は女性被害者、Y軸は男性被害者。2Dの散布図を作成してください。表示範囲はX軸、Y軸ともに[-1,3]とする。 その散布図に重ねて、予測式の直線を青色で表示してください。

■解答方法 R言語のプログラムを作成し、上記1~3の課題に答えてください。プログラムファイル名は predict.txt として、アップロードしてください。 散布図は predict.pdf というファイル名でPDFとして出力するプログラムにしてください。

[問題解説12] 男性と女性の殺人被害者数の関係は? の続きを読む

Commerce and hotel business will activate Japan

Statistical survey discovered that commerce and hotel business will activate Japanese society.

統計分析によると、日本社会の活性化には宿泊・娯楽産業と商業の発展が重要である。

We selected 121 factors from eStat data and made network analysis where factors connect each other with correlation coefficients.

Metropolis and Countryside

The factor network of Japan shows that factors are mainly divided into 3 clusters in left, middle, and right. Factors of metropolis formed the left supercluster. Right region includes countryside supercluster, commerce, and manufacturing clusters. In the middle, there was hotel business and NEETs who don’t work and live with their parent.

Importance of Global Connectivity

Network analysis have many feature index. Betweenness is an index which shows importance of global connectivity. Betweenness indicates a hidden important relay station on the networked system. We show a network diagram of factors where the betweenness was shown in the circle size.

Factor	                Description	                  Betweenness
merchant_employee       commercial employee               164.0
restaurant	        restaurants	                  123.1
family_parent_m         families with father	          117.3
unemployed	        unemployed people	          115.4
ground_residence.log	ground price in residential area  113.2
high_student	        high school students	          112.2
family_parent_f	        families with mother	          108.8
garbage_emission	garbage emission amount           107.4
garbage_recycle	        garbage recycling rate	          102.0
elem_student	        elementary school children	   94.7

Commerce is important

The factor of commercial employee (merchant_employee) has the highest betweenness score. As the network diagram shows, restaurants (restaurant) also has the high betweenness. Garbage emission amount (garbage_emission) is high because commercial activity causes a large amount of garbage as a consumption result. These three commercial factors situated on the middle side of the network system. They are regarded as relay station to the far metropolis and must be an important activating factors in the total system.

Travel Industry is welcomed

Hotel business (hotel) and amusement workers (employee_amuse.log) are situated between the metropolis and countryside superclusters. That means those two factors are activator of the system, which globally connect the two divided superclusters.

f:id:infoarchitect:20140122111134p:image

Commerce and Travel are activator

Our conclusion is that hotel business and commerce will activate the Japan society in the hidden layer of economical structure. We hope political decision will learn from this result and pursuit activation of Japanese economy.

This survey was done by data galaxy team on the competition of data journalism camp & award in Dec, 2013.

【解説】「ヒストグラムと散布図を描いてみよう」

今回の問題はRの初心者向けで、まずデータ読み込み、ヒストグラムと散布図を生成する問題でした。

問題は以下の通りです。

世界193カ国の殺人被害者のデータを読み込んで2種のヒストグラムと2種の散布図をPDFファイルに出力してください。

読み込む入力ファイルはHomicides_by_sex2.csvを使ってください。

こちらからダウンロード(homicide.zip)して解凍。

データはUNODC Homicide statisticsのHomicide by sexのエクセルファイルをコンマ区切りのCSV形式に変換したものです。

入力ファイルの最後には説明文など不要な行がありますので、うまくパラメータを使って読み込んでください。

“Males rate per 100,000″のカラムは10万人当たりの男性殺人被害者数、”Females rate per 100,000″は10万人当たりの女性殺人被害者数です。

出力するファイルはPDF形式でhomicide.pdfとしてください。1ページにつき1つの図で、全部で4つの図を描画してください。

下記の図を描画してください。

男性殺人被害者数のヒストグラム

1A. 男性殺人被害者数のヒストグラム

1B. 男性殺人被害者数の対数ヒストグラム(x軸を対数化してください)

binの数は30個。等間隔になっているbinで描画してください。目盛りはlog値になっていてもOKです。

女性と男性の殺人被害者数の散布図

女性をx軸、男性をy軸にして、各国を点として散布図を描画してください。

2A. 散布図

2B. 散布図(x軸、y軸共に対数表示)

対数は自然対数logでOKです。値には0も含まれており、log化できないものありますが、今回は警告などは無視してプログラムを作成してください。

各図にはメインタイトル、x軸ラベル、y軸ラベルを日本語でつけてください。

■解答方法

解答は作成したRのプログラムをtxtに変換し、アップロードしてください。

プログラムの例は以下の通りです。

### homicide.R ###
pdf('homicide.pdf')
par(family="Japan1GothicBBB")
h <- read.csv('Homicides_by_sex2.csv', nrow=193)
str(h)
f <- h$Females.rate.per.100.000
m <- h$Males.rate.per.100.000
### HISTOGRAM ###
hmain <- '男性殺人被害者のヒストグラム'
hxlab <- '10万人当たりの殺人被害者数'
hylab <- '殺人被害者の頻度'
hist(m, main=hmain, xlab=hxlab, ylab=hylab, breaks=30)
hist(log(m), main=hmain, xlab=paste(hxlab, '(対数)', sep=''), ylab=hylab, breaks=30)
### SEXUAL COMPARISION PLOT ###
pmain <- '世界各国の男女別殺人被害者'
flab <- '10万人当たりの女性殺人被害者数'
mlab <- '10万人当たりの男性殺人被害者数'
plot(f, m, main=pmain, xlab=flab, ylab=mlab)
plot(f, m, main=paste(pmain, '(対数表示)', sep=''), log='xy', xlab=flab, ylab=mlab)

ファイルはコンマ区切りなので、読み込みにはread.csv()を使います。1行目はタイトルで、データの行数は193なので、nrow=193でデータ行数を指定します。

日本語を表示させるにはフォントファミリーパラメータの設定が必要です。

par(family=”Japan1GothicBBB”)

1A. 男性殺人被害者数のヒストグラム

f:id:infoarchitect:20140408163457p:image

binの数はhist()関数のbreaksパラメータで指定することができます。

1B. 男性殺人被害者数の対数ヒストグラム

f:id:infoarchitect:20140408163456p:image

値を対数化するにはlog()関数を使えばいいですね。ただし、このやり方だと数値も対数化されているので、分かりにくいですが、今回の問題では数値が対数になっていてもOKです。

1Aのヒストグラムは左側(小さい値)に集まっていますが、1Bの方は対数かすることによって大きな二つの山が見えてきました。

2A. 散布図

f:id:infoarchitect:20140408163455p:image

2B. 散布図(x軸、y軸共に対数表示)

f:id:infoarchitect:20140408163453p:image

散布図の対数化は、hist()とは異なり、plot()関数のlogパラメータでlog=”xy”のように指定します。この場合、x軸とy軸が対数スケールとなります。

2Aでは点が扇形に広がっているように見えますが、2Bでは対角線に並んでいるように見えます。点のばらつきから推測すると、男性・女性殺人被害者数は対数スケールで扱う方がうまく行きそうだということが分かります。

データ解析の最初に行うべきことはデータの概要をつかむことです。ですから、最初にすることは、ヒストグラムや散布図を書いてみることです。データの雰囲気を捉えることが解析への重要なステップの一つなのです。

Okinawa, A Migratory Life Divided into Child-Caring Family and the Old

Statistical survey discovered that Okinawa economy is divided into child-caring families and the old. Okinawa has a migratory life style such migrant workers, orphans, or the old in home.

沖縄は子育て世帯と老人世帯が分かれている。出稼ぎ労働や施設生活者等の移住性の高い生活が中心となっている。

We selected 121 factors from eStat data and made network analysis where factors connect each other with correlation coefficients.

http://www.e-stat.go.jp

We focused on Okinawa cities from the previous Japan network analysis.

http://d.hatena.ne.jp/infoarchitect/20140122/p1

Three Regions in Okinawa

We progressed network analysis of 121 factors on Okinawa cities. The factor network of Okinawa shows that factors are mainly divided into 3 regions in left, middle, and right.

Child-Caring Families

The yellow green left region indicates the child-caring family composed of child and adult since the factors related to child and adult stand at the center of this region.

The Old Connected to School

The right region shows the old people. It has school-related factors in it. In Okinawa school system may be a center for the old.

Migratory Life of Okinawa

In the middle, there were migratory factors such as the people who move in, move out, work outside their own city, or orphans and the old in home. And divorced single persons tend to run restaurant for earning according to the network diagram.

f:id:infoarchitect:20140127165455p:image

Top 10 of Betweeness

An statistical index of between indicates hidden connectivity among all the network system. The following is top 10 of betweeness in Okinawa.

Factor			Description				Betweenness
movein			People moving in			186.6
employee_out		Employees working outside the city	175.1
worker_gov.log		Worker in government			169.0
moveout	        	People moving out			161.1
family_faculty		Orphans and the old in home		136.6
divorce			Divorce Rate				120.5
maker_employee		Employees in manufacturing		102.2
jhigh_student		Junior high school students		100.4
popul_day_rate.log	Population rate in day and night	 97.4
maker_shipping.log	Total product shipping price		 86.7

As previously noted, the people moving in, moving out, and working outside the city has high betweenness score, showing these migratory factors connect the two divided world such as child-caring family and the old. As well known Okinawa has much high divorce rate among other prefectures in Japan, the result also indicates that divorce rate is a critical factors in Okinawa.

Okinawa Should Take a Migratory Policy

Okinawa was found to be a migratory life style by our analysis, having a feature where the people are coming in and out. Then we recommend Okinawa should take a migratory strategy to invite people and money by travel and tax-free policy, which Singapore succeeded as a center of East Asian hub airport. We hope policy makers in Okinawa will utilize this analysis result for the better economy situated among economically hot east asian countries.

アメリカ発MOOCに見るデータリテラシーの基礎講座

MOOC

私は最近MOOCというオンライン講座でデータサイエンスを学んでいる。MOOCとはインターネットを通じてアメリカ等の大学の授業を受けることができるサービスだ。中でも有名なのが、Courseraで、私はCourseraにハマっている。去年からはじめて、今まで7つの授業を受けた。

CourseraのSpecialization

今まで私は一個一個別の内容の授業を受けてきた。だが最近、Courseraでは授業を幾つかのまとめたものができた。名前はSpecializationといって、一つの学問領域を幾つかの講座に分けて、提供しているものだ。

私はデータ解析が専門なので、現在Data ScienceというSpecializationに挑戦していて、すでに中の3つの講座を取得し、現在、もう2つに挑戦中だ。

このSpecializationにもう一つ面白そうなものがある。それは、Reasoning, Data Analysis and Writingだ。これは、Duke大学から提供されているもので、内容は (1)議論の方法、(2)データ解析、(3)英作文となっている。 (1)と(3)はいわゆる文化系だが、(2)は理科系となっていて、文理融合のように全く異なっている物をうまく組み合わせているところが面白いと感じる。

これからの時代の基礎教育とは

私は、従来の教育については常に疑問を持っており、どんな基礎教育が一般の人に必要なのかについて時々考えることがある。学問には様々な分野があり、どれも重要そうに見える。小・中学校では、国語、算数、理科、社会、図工などにわかれているが、本当に、この分け方は正しいのだろうか。この競争の激しい時代に産業革命のために決められた学問分野の分け方が通用するのだろうか、私は常に疑問に思っている。

データサイエンスは基礎学問となるか

とりあえず、私の専門であるデータ解析について考えてみたいと思う。データ解析が果たして、基礎教育となるのであろうか。ビッグデータというバズワードが巷に溢れているが、単なるブームなのだろうか。また、データ解析が本当に基礎学問になるのであれば、どのような形で有るべきなのか。

データリテラシー講座

私は上記のReasoning, Data Analysis and Writingを見た時、まさにこれがデータの基礎教育ではないかと思った。

(1)のReasoningでは議論の方法を学ぶものであり、国語的言語能力と共に算数(数学)の論理的能力が必要となる。

(2)のData Analysisでは、算数(統計)的考えと図工(工学)的能力、更には社会現象を見る能力が必要とされる。

(3)は国語(英語)の能力である。

データという一本筋の概念により、従来の国語、算数、理科、社会等を横断的に必要とする授業となっている。この講座では従来の文化系・理科系等の区別も意味をなさない。もし、データの学問を一般人に基礎教育として教えるのであれば、この講座のような形になるのではないかと思う。まさにデータリテラシーと言う言葉がふさわしいと思う。データリテラシーとは、ITリテラシーとも全く異なる。

データリテラシーが必要な時代が来る

データジャーナリズムという言葉を聞いたことがあるだろうか。データを使って、ニュースを作ることらしい。データの取得コストがゼロに近づくと誰でもデータを使って解析をすることができるようになってくる。誰でも情報発信するのと同じ感覚だ。全員がデータ解析をする必要なないが、データをどのように見るかなどの読み書きそろばんと同じレベルで基本的な作法を知る必要がある時代が来るかもしれない。

このデータジャーナリズムの基礎としてもこの講座が有用であると思う。ジャーナリスト出身者は、文章能力は高いが、データ解析能力が弱いので、データ解析を学ぶ必要がある。また、データ解析出身者は文章能力が一般に低いので、文章能力を高める必要がある。

私はとにかく驚いたのは、アメリカという国は常に時代の先を行く考えが存在し、その考えを具体化させ、世に問うているという事実だ。