中心極限定理

大数の法則では算術平均が分布の期待値に近づいていくことが示された。n個の観測値の和をnで割ると一点に収束していくが、収束するまでの分布はどのような形になっているであろうか?n個の観測値の和をnの平方根で割った場合は、元の分布がどのようなものであっても、正規分布に近づくことが示される。この中心極限定理は、様々な検定統計量の有意確率を評価する際の基礎となる。ほとんどの場合、検定統計量の厳密な確率分布は求めることができないが、nが大きくなると正規分布に近く(漸近正規性)なる性質を利用して、例えば帰無仮説が正しい場合の検定統計量の分布を評価し、それが非常に稀にしか起こらないような量であれば、帰無仮説そのものを棄却することになる。

(定理1)
X_nを、モーメント母関数M_{X_n} (t) を持つ確率変数とし、Xを、モーメント母関数M_X (t) を持つ確率変数とする。もし、

\lim_{n \to \infty} M_{X_n} (t) = M_X (t)

ならば、X_nの分布関数(cdf)は、n \rightarrow \infty Xの分布関数に収束する。

(中心極限定理)
X_1,X_2,\cdots,X_nが互いに独立で同一の分布にしたがう確率変数とし、分布の平均を\mu、分散を\sigma ^2、モーメント母関数をM_X (t)とする。n \rightarrow \infty のとき、Z=\frac{T-n \mu}{\sigma \sqrt{n}} (ただしT=X_1+X_2+ \cdots + X_n)の極限分布は、標準正規分布N(0,1)である。

中心極限定理の証明は、モーメント母関数の極限が正規分布のモーメント母関数になることを導く方法が一般的である。

データサイエンスのおすすめウェブサイト(5/31)

これまで50以上のウェブサイトを紹介してきた。そろそろ整理をしないと、同じページを二度紹介したりすることが起きてくる。しかし興味深いページはまだまだ尽きない。

Pythonの5大統合開発環境
Pythonプログラマ、開発者向けの主要IDEの紹介。Pycharm, VIMなど。

プログラミングで用いられる主なアルゴリズムとデータ構造
ソート、探索、ハッシュなどプログラマ必須のアルゴリズムとデータ構造(概要のみ)。

機械学習をクールに用いている10の企業
有名IT企業でいかに機械学習が舞台裏で活躍しているのかの紹介。Yelp, Pinterestなど日本ではこれからのサービスもある。

「すばらしい」データサイエンス貯蔵庫
GitHubにあるAwesome Data Scienceという名前のリポジトリは現実問題への適用手法が学べるデータ等を保管している。

データサイエンスで用いられる40の手法
おなじみVincent Granville氏によるまとめ。各手法をクリックするとそのキーワードでの記事検索結果が表示される。

Pythonを用いた機械学習プロジェクト入門
本記事に沿って、機械学習のプロジェクト全体を学ぶことができる。

データサイエンスのおすすめウェブサイト(5/28)

先日中国のアリババグループの現状についての話を聞く機会があった。売上額の巨大さ、ライフスタイルの全てをカバーする多角化は凄まじいものがある。データサイエンス技術者も千人規模で活躍しているようである。

今回も気になったサイトを紹介する。

Pythonを用いた機械学習の実例:プロジェクト全行程のリハーサル(その3)
NYのビルのエネルギーデータを用いた機械学習プロジェクトの完全演習をたどる。

代表的なテキスト分析ツールとアルゴリズム
SNSのような構造化されていないテキスト情報を分析する手法(英語の場合)

頻度論者の逆襲
ベイズ主義者の頻度論への批判に対する反論に関する筆者の見解をまとめたもの。

ディープラーニングに関する12のよくある質問と回答
ディープラーニング初心者の典型的な質問とそれへの回答(PhDは必要か?など)

データサイエンスのおすすめウェブサイト(5/25)

相変わらず、「データサイエンス」というバズワードだけを追いかけているきらいがあるが、もうしばらく継続して紹介していきたいと思う。

データサイエンスと機械学習の包括的情報源
おなじみVincent Granville氏によるまとめ。これまでこの種のまとめサイトは紹介しなかったが、重要なものは紹介していきたい。

スタートアップのためのデータサイエンス
本件はパート4だが過去の記事もリンクで辿れる。スタートアップの際にデータ環境を一から構築する方法について。

機械学習のためのトップオープンデータセット
本文中のリンクにより、米国の主要なオープンデータのサイトに到達できる。

モーメント母関数

中心極限定理へ進む前に、モーメント母関数について記述しておく必要がある。

確率変数Xが与えられたとき、その確率密度関数をf(x)とする。以下の量(ここでは連続の確率変数とする):

\mathbb{E}(X^k )=\int _{-\infty}^{\infty} x^k f(x)dx

は、Xのk次モーメントと呼ばれる。

「モーメント母関数」は、確率変数Xの全てのモーメントを変数tの単一のべき級数にまとめるすぐれた方法である。これは以下のように定義される:

M_X (t) = \mathbb{E}(e^{Xt} ) = \mathbb{E}\Big( \sum_{k=0}^\infty \frac{X^k t^k}{k!} \Big)

期待値をとるという面からtを定数とみなせば、期待値の線形性より以下のようになる:

\mathbb{E}(e^{Xt} ) =\sum_{k=0}^\infty \frac{\mathbb{E}(X^k) t^k}{k!}

それゆえ、tのべき乗の係数はモーメントをkの階乗で割ったものとなる。

モーメント母関数をk回微分してt=0とおけば、k次のモーメントが得られる:

\big( \frac{d}{dt} \big) ^k M_X (t)\biggm| _{t=0} = k\mathrm{th\ moment\ of\ } X

(例1)パラメータpのベルヌイ分布のモーメント母関数は以下のようになる:

M_X (t) = \mathbb{E}(e^{Xt} ) = e^{0\cdot t} (1-p)+ e^{1\cdot t}p=pe^t + 1-p

ベルヌイ分布の確率変数Xは0と1しかとらない。つまりX^k =Xなので、Xのk次のモーメント(k\geq1)は最初のモーメント(すなわちp)に等しい。実際、モーメント母関数をk回微分するとpe^tとなり、t=0を代入するとpとなる。

(例2)分散\sigma ^2、平均\mu =0の正規分布:

f(x) = \frac{1}{\sqrt{2\pi} \sigma} e^{-x^2 /2\sigma ^2}

のモーメント母関数は以下のようになる:

M_X (t) = \mathbb{E}(e^{Xt} ) = \int_{-\infty}^{\infty} e^{xt} \frac{1}{\sqrt{2\pi} \sigma}  e^{-x^2 / 2\sigma ^2} dx
= \int_{-\infty}^{\infty} \frac{e^{-(1/2\sigma ^2)(x^2 -2\sigma ^2 tx)}}{\sqrt{2\pi} \sigma} dx

上の式の最後の部分の分子の2番目のカッコの中の平方を完成させ、xと関係ない部分を積分の外に出すと以下のようになる:

M_X(t) = \frac{1}{\sqrt{2 \pi} \sigma} \int_{-\infty}^{\infty} e^{-(1/2 \sigma ^2)((x-\sigma ^2 t)^2 -\sigma ^4 t^2)} dx
= e^{\sigma ^2 t^2 /2} \Big( \int _{-\infty}^{\infty} \frac{1}{\sqrt{2\pi }\sigma} e^{-(x-\sigma ^2 t)^2 /2\sigma ^2} dx \Big)

上の最後の式のカッコの中は、正規分布N(\sigma ^2 t, \sigma ^2)の全区間にわたる積分なので1になる。したがって:

M_X (t) = e^{\sigma ^2 t^2 /2}

となる。

(モーメント母関数の一意性)X,Yが、変数tの区間[-\delta, \delta] 上に存在するモーメント母関数M_X (t), M_Y (t)(それぞれ)を持つ確率変数であるとする。もし、

M_X (t)=M_Y (t), \mathrm{\ for\ all \ } t \in [-\delta, \delta ]

ならば、XとYは同じ累積分布を持つ。つまり、全ての実数aについて、P(X<=a)=P(Y<=a)が成立つ。

データサイエンスのおすすめウェブサイト(5/22)

今回はテクニカルでなく実務面での記事4件を紹介する。

Kirk Borne氏インタビュー「ビッグデータが解決の役に立たない問題はない」
学生などこれから本格的にデータサイエンスを学ぼうという人向けの話。過去の経験やデータサイエンスの今後について。

ビッグデータはモノではなく心の状態である。
単なる精神論ではなく、経済学やビジネスの側面からビッグデータへの取り組み方を説いている。

R言語で学ぶべき7つの可視化方法
図の基本タイプ(比較,分解,分布,関係)や一つの図中の変数の数を踏まえて、適切な図を選んでいく。

データサイエンティストになるための9つの必須スキル
新たにフォローし始めたBob E. Hayes氏のツイートからの引用。Pythonなど9つのテクニカルスキルと知的好奇心など他のスキル。

データサイエンスのおすすめウェブサイト(5/17)

前回までのフォロー対象者の絞り込みの結果、現在はKirk Borne氏のみをフォローしているが、ツイート数は多く、興味深い記事も多い。数が多くなったが紹介したい。

社会貢献のためのデータサイエンスとAIの力
Kirk Borne氏自身による記事。社会に貢献するAIやデータサイエンスのコンテスト(Data Science Bowl)等について。

ベイズ推論を実世界の問題に適用する
ベイズ推論について実例を用いてわかりやすく書かれている。

PyMC3とベイズモデル入門
こちらも実例を交えたベイズモデルの基本解説。pythonのベイズモデルのライブラリであるPyMC3を用いたベイズモデル入門。

機械学習のためのデータセット(無料公開)
Figure Eightというプラットフォームのためのデータセットだが一般的なデータ分析学習用に公開されている。

Pythonがいかにデータサイエンスの言語として有望か
データサイエンスのプログラミング言語としてはpythonとR言語が双璧だが、今後はpythonのみが主流になるとしている。

データ分析で避けるべき「誤った手続き」
一般的なデータ解析の誤用に関する虎の巻

ベイジアン・ノンパラメトリック・モデル
無限数のパラメータ、ディリクレ分布プロセス。

データ分析論者、データサイエンス著名影響者Top15
記事の著者自身がSNSで大いに影響を受けているデータサイエンス人物のリスト。

2つの美しい数学的結果(Part2)
Part1と並んで基本数学のエッセイ的な内容。

大数の弱法則

チェビシェフの不等式

P\{|Z-E(Z)| \geq \epsilon \} \leq \frac{V(Z)}{\epsilon ^2}

において、Z=\frac{1}{n} \sum_{i=1}^n X_i であると考える。ここで各xは互いに独立で同一の分布に従うとする。この場合の期待値は以下のようになる。

E(Z) = \frac{1}{n} \sum_{i=1}^n E(X_i)=\frac{1}{n} \cdot n \mu = \mu

また分散は、互いに独立であることから異なる添え字の変数間の共分散がゼロとなるため、以下のようになる。

V(Z) = \frac{1}{n^2} \sum_{i=1}^n V(X_i)=\frac{1}{n^2} \cdot n \sigma ^2 = \frac{\sigma ^2}{n}

期待値と分散の結果を上のチェビシェフの不等式に代入すると以下のようになる。

P\{|\frac{1}{n} \sum_{i=1}^n X_i - \mu | \geq \epsilon \} \leq \frac{\sigma ^2}{n \epsilon ^2}

ここでnを大きくしていけば、\frac{\sigma ^2}{n \epsilon ^2} は0に近づく。すなわち以下が成り立つ。

(大数の弱法則)任意の正の実数εに対して、

P\{|\frac{1}{n} \sum_{i=1}^n X_i - \mu | \geq \epsilon \} \rightarrow 0 \hspace{18pt}(n \rightarrow \infty )

これはサンプルサイズを増やしていくと算術平均が期待値に近づいていくことを意味している。

(余談)
「大数の法則」は保険業界にとっても重要な用語である。保険はつまるところ冷徹な(頻度論的)確率の支配する世界である。生命保険共済の保障内容を説明し確認する「ライフアドバイザー」は、顧客の人生の助言ができるとは思えないが、冷徹な世界に人間味を持たせるという存在意義があるのだろう。

データサイエンスのおすすめウェブサイト(5/11)

10名のトップデータサイエンティストをフォローすることから始めたが、その中で日本人に有用な記事を紹介してくれるのは、事実上Kirk Borne氏のみであることがわかった。この週末にさらにフォローすべき別の人物を探索しようと思う。

前回から日数が経過したので取り上げる記事も多くなってしまった。

・ニューラルネットワークがいかに新しいアイデアを概念化するか(入門)

An Introductory Guide to Understand how ANNs Conceptualize New Ideas (using Embedding)


AIがどのようにして新しい知識を獲得していくかをわかりやすい実例を用いて説明している。

予測:原理と実践
数理的予測の各種手法を解説している英文書籍をウェブ上で読むことができる。

・ビッグデータの2018年の動向予測

Big data in 2018: the experts have their say


Kirk Borne氏などの専門家が2018年にビッグデータ関連がどのようになるかを端的に述べている。自動運転、ヘルスケア部門への適用の進展など。

Swarm Optimization: Goodbye Gradients
センセーショナルなタイトルであるが、「粒子群最適化法」についての入門解説。

Free eBook: Applied Data Science
データ処理ソフトウェアや回帰分析、分類法など実践的なデータサイエンスの英文書籍。

・全てのプログラマが知っておくべき7つのアルゴリズム・データ構造

7 algorithms and data structures every programmer must know


ソート、探索、ハッシュ、動的計画、指数計算、文字列照合、素数判定。

なぜデジタルマーケティングが重要か
デジタルマーケティングの数多くの利点を簡潔に述べている。

データサイエンスのおすすめウェブサイト(5/5)

本日は天候も良く蒸し暑くもなかったので、ウォーキングで自宅近郊の市立庭園を散策した。このゴールデンウィークは天候に恵まれ、今日で3回目の屋外散策となった。

今回紹介するデータサイエンスのウェブサイトはややニッチなものが揃っている。ツイートで同じサイトを繰り返し紹介する場合も多いので興味深いサイトに出くわす頻度も減ってきたが、まだフォローする価値はありそうである。

世界50カ国のオープンデータプラットフォーム
世界各国の政府のオープンデータのサイト(英語とその他の言語)へのリンクをまとめて掲載している。オープンデータに関心のある人々にとっては有用である。

良いデータサイエンティストになるためには、製品チームのように思考せよ
「データ問題に持ち込む前にビジネス問題を理解する(データサイエンスはアカデミアでなく応用科学)」「洞察を明らかにするだけでなく、見ている人にその洞察に対応する行動をとらせるよう仕向けるものであること」「単に知識の伝達ではなく、受取り手とのよいコミュニケーションがとれること」「よいプロダクトマネージャーは市場を知り、適切な製品を作り、問題を分解し、ユーザが何を達成する必要がありそれにどう応えるかを理解する。データサイエンティストも同様」としている。

ポートフォリオ分析のためのR言語パッケージ
金融市場データの探索的分析、適切なリターンの分布のモデリング、ボラティリティのモデリング、ポートフォリオ分散などの金融経済分野のためのR言語パッケージを紹介している。