世界は2乗でできている 自然にひそむ平方数の不思議

書籍情報

感想

数学の平方数に関する各種問題を分かり易く解説した入門書.さらに物理の問題に表れる平方数の数学的意味や式の導出方法を一部展開しており,勉強になった.

特に,第6章 オイラーとリーマンで,平方数の逆数和の計算結果に,円周率(π)が現れる,という式の展開は,三角関数テーラー展開と,多項式と,因数分解を絡めて展開することで,円周率は,自分でもすんなり理解できて気持ちがよかった.

最終的に,特殊相対性理論まで話が展開するので,中高生と言わず大人でもt興味を最後まで持続させる良書だと思う.

その問題,数理モデルが解決します

書籍情報

感想

統計モデルを社会学的に応用する事例の紹介本.社会学の経験はないが,具体的な事例をモデル化する過程が分かり易い.

特に,2章「卒業までに彼氏ができる確率」での,ベルヌーイ分布と,2項分布の適用方法や,3章「内定をもらう方法」で2項分布にベータ分布を組み合わせて,ベータ2項分布を導出する過程が興味深い.

これまで確率統計の本で,ベータ分布(関数)という言葉は耳にしていたが,どのように応用するのか,この本で,確率の確率分布をモデル化するのに適用するというのは,応用の可能性がすごく高い気がして驚いた.

また,5章「理想の部屋を探す方法」での「R人観察法」は,秘書問題と言って,未来を予想することができない状況での現実的な最適解を求めるためのモデル化として興味深いし,12章「お金持ちになる方法」の対数正規分布やレパート分布は応用派にも広そうだ.

とにかく,確率統計は実社会で利用する機会の多い数学分野だが,応用のとっかかりに最適な本だと思う.

カルマンフィルタの基礎

書籍情報

はじめに

信号処理でカルマンフィルタは多くの場面で活用できるので,気になる部分を抜粋する.

フィルタとは

カルマンフィルタは,フィルタリング理論の1種である.1940年代,コルモゴロフとウィナーらが提案した定常時系列を扱う古典的なフィルタリング問題と,カルマンが提案した,状態空間表現を使った,状態推定問題を提案した.

古典的なフィルタリング問題とは,

測定された時系列データの中から,信号成分だけを通し,雑音成分を除去する仕組み(アルゴリズム)を見つけること.ただし,その時刻までの時系列データを用いて信号処理を行う.

カルマンのフィルタリング問題とは,

現時刻までに測定可能な量である時系列データと,場合によっては入力も用いて,ダイナミクスを規定する状態変数の値を推定すること.

また,別の項では,

時系列データy(k)に基づいて,状態x(k)の平均二乗誤差(MSE: Mean Square Error)の最小値を与える推定値,すなわち最小平均二乗誤差推定値(MMSE: Minimum Mean Square Error)を見つけること.

とある.

時系列に対するカルマンフィルタ

カルマンフィルタ問題を記述する上で必要な2つの量を定義する.

  • 事前推定値 (a priori estimate) : \hat{x}^-(k) = \hat{x}(k|k-1)

    時刻k-1までに利用可能なデータに基づいた,時刻kにおけるxの予測推定値を意味する.事前推定値を求める処理を,予測ステップと呼ぶ.

  • 事後推定値 (a posteriori estimate) : \hat{x}(k) = \hat{x}(k|k)

    時刻kまでに利用可能なデータ,すなわちy(k)も用いたxのフィルタリング推定値であり,これが時刻kにおいて求めるべき推定値である.事後推定値を求める処理を,フィルタリングステップと呼ぶ.

参照した書籍には,各ステップを分かり易い図で表しているが,簡易的に記号だけでメモしておく.

  • 予測ステップ

    • 状態推定値 : \hat{x}(k-1) \rightarrow \hat{x}^-(k)
    • 共分散行列 : P(k-1) \rightarrow P^-(k)
  • フィルタリングステップ

    • 状態推定値 : \hat{x}^-(k) + y(k) \rightarrow \hat{x}(k)
    • 共分散行列 : P^-(k) \rightarrow P(k)

線型予測器の構成

線型カルマンフィルタを前提に,最小二乗推定法と同様な,線型予測器によるフィルタリングのモデル化を行っている.

\hat{x}(k) = G(k)\hat{x}^-(k) + g(k)y(k)

上記は,以下の意味を持つ,

事後推定値 = G(k)・事前推定値 + g(k)・最新の観測値

g(k)は,カルマンゲインと呼ばれ,カルマンゲイン,事後推定値,事前推定値,出力予測誤差の関係は,以下の意味を持つ,

事後推定値 = 事前推定値 + カルマンゲイン・出力予測誤差

出力予測誤差とは,\tilde{y}(k) = y(k) - \hat{y}^-(k) で表され,最新の観測地と事前予測値の差である.

カルマンゲインの決定

事前共分散行列P^-(k)を導入して,下記の式で得られる.

\displaystyle g(k) = \frac{P^-(k) c}{c^{T} P^-(k) c + \sigma^{2}_{w}}

分母はスカラー値なので,ばらつきが大きいほど事前共分散行列の成分を小さくするので,観測値の影響が小さくなり,フィードバックを受けにくくなる.

共分散行列の更新

共分散行列の更新は,予測ステップと,フィルタリングステップで各々,事前共分散行列の更新,事後共分散行列の更新を行う.

  • 予測ステップでの共分散行列の更新

    P^-(k) = AP(k-1)A^{T} + \sigma^{2}_{v} b b^{T}

  • フィルタリングステップでの共分散行列の更新

    P(k) = (I - g(k)c^{T}) P^-(k)

カルマンフィルタのアルゴリズム

  • 予測ステップ

    • 事前状態推定値:

      \hat{x}^-(k) = A\hat{x}(k-1)

    • 事前誤差共分散行列:

      P^-(k) = AP(k-1)A^{T} + \sigma^{2}_{v} b b^{T}

  • フィルタリングステップ

    • カルマンゲイン:

      \displaystyle g(k) = \frac{P^-(k) c}{c^{T} P^-(k) c + \sigma^{2}_{w}}

    • 状態推定値:

      \hat{x} = \hat{x}^{-}(k) + g(k)(y(k) - c^{T} \hat{x}^{-}(k))

    • 事後誤差共分散行列:

      P(k) = (I - g(k)c^{T}) P^-(k)

概念を大切にする微積分

概念を大切にする微積分 /デボラ・ユーズ=ハレット,アンドリュー・M・グレアソン,ウィリアム・G・マッカラム 他,訳:永橋英郎

\displaystyle

■ はじめに

この本は,海外で微積分を考え直す機運が高まった時期に制作された著書の第四版です.概念を大切にする,というタイトルに引かれて読んでみた.

■ ロピタルの法則

関数の商の極限を求める際に,各分母と分子の関数の1階微分の商の極限に置き換えることができる,という法則のようだ.

学校で習った記憶がない.sin(x) / x の極限が社会に出てから時々出てくるが,なぜこれの答えが出せるのか,ずっと疑問だったが,極限が求められるなら仕方がない.

式で書くと以下の通り,

{
\displaystyle

\lim_{x \rightarrow a}{ \frac{f(x)}{g(x)} } 
= \lim_{x \rightarrow a}{ \frac{f^{'}(x)}{g^{'}(x)} }

}

■ 応用とモデル化

会社で純粋な数学が求められる事は,ほとんどない.よって,応用する能力が必要になる.海外の教科書では,モデル化の項が最後に記述されており,しかも内容が豊富であり,参考になった.

□ 氷の厚さの微分方程式

 \displaystyle
\begin{eqnarray}
厚さの増加率 &=& k / 厚さ\\

\frac{dy}{dt} &=& k / y \hspace{1cm} (k > 0).\\

\int y dy &=& \int k dt\\

\frac{y^{2}}{2} &=& kt + C\\

y &=& \sqrt{2kt}

\end{eqnarray}

□ 企業の純資産

純資産の初期値がW_oで,収益の年率は,0.05W_o,賃金の支払いは,200とする.

 \displaystyle
\begin{eqnarray}

純資産の増加率 &=& 収益率 - 賃金の支払い率\\

\frac{dW}{dt} &=& 0.05W - 200\\

\frac{dW}{dt} &=& 0.05(W - 4000)\\

\int \frac{1}{(W - 4000)} dW &=& \int 0.05t dt\\

\ln{|W - 4000|} &=& 0.05t + C\\

W - 4000 &=& exp( 0.05t + C) \\
         &=& A\:exp(0.05t) \hspace{1cm} (A = exp C)\\

W &=& 4000 + A\:exp(0.05t)\\

\end{eqnarray}

□ 落下する物体の終端速度

物体に作用する力, F = mg - kv ,但しkは空気抵抗とする.

 \displaystyle
\begin{eqnarray}

力 &=& 質量・加速度\\

 mg - kv &=& m \frac{dv}{dt}\\

 \frac{dv}{dt} &=& - \frac{k}{m} (v - mg / k)\\

 \int \frac{1}{(v - mg/k)} dv &=& -\frac{k}{m} \int dt\\

 \ln{|v - \frac{mg}{k}|} &=& -\frac{k}{m}t + C\\

 |v - \frac{mg}{k}| &=& exp( -\frac{kt}{m} + C )\\
                    &=& A exp( -\frac{kt}{m} ) \hspace{1cm} (A = exp(C))\\

\end{eqnarray}

ここで初期条件,t=0, v=0を与えて,

 \displaystyle
\begin{eqnarray}

 0 - \frac{mg}{k} &=& A\:exp\:0 = A\\

 A &=& -\frac{mg}{k}\\

 v &=& \frac{mg}{k} - \frac{mg}{k} exp( -\frac{kt}{m} )\\
   &=& \frac{mg}{k} (1 - exp(-\frac{kt}{m}))

\end{eqnarray}

□ ロジスティックモデル

実行増加率は,指数関数モデルの代表例として詳細に説明がなされてある.ここでは記載しない.人口増加率に,増加率の上限の条件を加えたのが,ロジスティックモデルで,ベルギーの数学者ベルハルストにより,1830年代に提唱された.

人口の増加率は,人口をPとすると,

 \displaystyle
 \frac{1}{P} \frac{dP}{dt} = k - aP

Pが小さいときは,

 \displaystyle
 \frac{1}{P} \frac{dP}{dt} = k

と近似される.但し,kは相対増加率,本にはaの明確な説明がないが,出生率の現象を表しているのだろう.

マイナスの要因があるため,相対増加率が0になる時点が存在する.これを解くとP = k/aが得られる.この値をLと置き,Lを環境収容力と呼び,人口の極限値となる.

a = k / Lと置き換えると,

 \displaystyle
 \frac{1}{P} \frac{dP}{dt} = k - \frac{k}{L}P

 \displaystyle
 \frac{dP}{dt} = kP(1 - \frac{P}{L})

これが,ロジスティック方程式の一般形である.この方程式は,変数分離法により解析的に解を求められる.

\begin{align} \frac{dP}{dt} &= kP(1 - P / L) \newline &= kP(\frac{L - P}{L}) \newline \int \frac{dP}{P(L - P)} &= \int \frac{k}{L}dt \newline \int \frac{1}{L} ( \frac{1}{P} + \frac{1}{(L - P)} )dP &= \int \frac{k}{L}dt \newline \ln{|P|} - \ln{|L - P|} &= kt + C \newline \ln{|\frac{(L - P)}{P}|} &= -kt - C \newline |\frac{(L - P)}{P}| &= exp(-kt - C) \newline &= A\,exp(-kt) \hspace{1cm} (A = exp(-C)) \end{align}

t=0の時,P=P_oを代入してAを求めると,

\begin{align} \frac{(L - Po)}{P_o} &= A \,exp \, 0 = A \newline \frac{(L - P)}{P} &= \frac{L}{P} - 1 \,より, \newline \frac{L}{P} &= 1 + A \, exp(-kt) \newline P &= \frac{L}{(1 + A \, exp(-kt))} \hspace{1cm} (A = \frac{(L - P_o)}{P_o}) \end{align}

上記のPが,ロジスティック曲線の式である.

両辺にインテグラルつけちゃっていいの?

図書館で,本を借りて読みました.

両辺にインテグラルつけちゃっていいの? /中井晶也 著 /東京図書出版

■印象に残った点

この本で印象に残ったのは、以下の、目次の各項です。

  •  \frac {dy}{dx} dx ってなんだ?
  •  \int \frac {dx}{dy}インテグラルと dx ってなに?
  • 両辺にインテグラルつけちゃっていいのか?
  • なぜ疑問に思っていたのか?
  •  d^{2}yってなんだ?

 \frac {dy}{dx} dx ってなんだ?

dxやdyはただ、微笑量を表すものだと思い込んでいたけど、xもyもある駆動させる変数γを介しているかんすうである、よって、dxやdyなどのdがつくものは、びぶんされたものである。ただしガンマの微分dγは常に1である、という考え方は、インパクトがあった。そう考えればdy/dx微分の比率であるということがすんなり理解できる。

また、tを場開変数とした微分は、少しあいまいな理解しかできていなかったが、変数がすべて関数であるという考え方の延長で考えれば、ごく自然に理解できた。

 \int \frac {dx}{dy}インテグラルと  dx ってなに?

dxやdyがある関数の微分、もしくは独自の挙動をする変数であるという理解が、dy/dxのdxってなんだ、ふかまると、インテグラルの後に続くdxが明確になった気がする。いままでは、ただの飾り芸度にしか思っていなかったが、独自の動きをする変数であるので、xの空間の面積?なり空間の計算であると理解できる。

また、この本独自の神変数γを持ち出せばインテグラルの後にdγが庵に存在することを理解できた。むしろ、庵に何かが存在することを前提にする数学が、平凡な僕の頭では理解できなかった。もっと理解しやすい表記法はないものか?

■両辺にインテグラルつけちゃっていいのか?

この章に至るまで、各変数は独自の関数であることを理解させられているので、dy/dxという割り算のdyとdxを右辺と左辺に分離して、インテグラルをつけることに抵抗がなくなってきていることに驚いた。

これまでは、d/dxという演算子という固定概念に縛られすぎて、演算子を分離するという発想に少なからず抵抗感があった。けれど、各々が独自の関数で、単なる比率であると考えれば、何ら抵抗感がない。そして、両辺にインテグラルをつければ、xとyの各々の空間で面積なりを計算するという考えに自然に到達する。

 d^{2}yってなんだ?

ここにきて、最後の最後に、2階微分以上は、割り切ってd/dxを演算子として使い始めたという説明が来て、ずっこけた。

でも、一度微分という発想を得た後で、2階微分以上の表狂する方法としては、自然な流れかもしれない。けど、1階微分をどうやって発想したのかの説明がないと、ふしぜんだよなぁと思った次第。悪気はないんだろうけどね。

はてなmarkdown記法で数式を描く

この記事は,以下の記事を参考にしました.

https://www.f-sp.com/entry/2016/08/07/182629 https://takuyaokada.hatenablog.com/entry/markdown http://auewe.hatenablog.com/entry/2014/05/10/050403

情報が古いのからいろいろ混じっていて,はてなの数式は画像になるので,KaTexにしてテキストで表示しようとしましたが,LaTeX形式でもテキストで表示されるMathJaxに対応済みだそうだ.いろいろ試して時間を浪費しました.

以下,まとめ.

LaTeX数式記法でMarkdown文内に書きにくい

引用元の記事によると,いろいろ制限があるそうです.記事を参考に,正規分布の式がどのように表示されるのか,試してみます.

■基本は<div>タグ

ベースとなるのは,<div>タグで囲っておくこと.


    f(x) = \frac{1}{\sqrt{2\pi\sigma^2}}exp\left\{-\frac{(x - \mu)^2}{2\sigma^2}\right\}

[tex:]で囲む際に,\displayslyleを指定しておくときれいに表示されるらしい.

 \displaystyle
    f(x) = \frac{1}{\sqrt{2\pi\sigma^2}}exp\left\{-\frac{(x - \mu)^2}{2\sigma^2}\right\}

■文章の中に数式を描く方法は面倒

はてなは,文章中に数式を描くのが面倒なので,<div>ブロック内で文章を書いてごまかすしか方法がないようだ.

但し,アンダーバーなどをMarkdown記法の記号と解釈するそうなので,いちいちバックスラッシュでエスケープする必要があるそうだ.

ベクトルの定義などはよく文章中に書くので,変数  
[x_0, \ldots, x_n ]^T 
等と記述するのは頻繁にありそう.

うまくいった.

はてなmarkdown記法の練習

■マークダウン記法

はてなでは、マークダウン記法が便利らしい。以下のページを参考にした。

http://seeku.hateblo.jp/entry/2013/05/24/080851

■見出し

見出しは、'#'で指定する。'#'の数は、6個まで可能らしい。

■改行

改行は、1個では無視されて、2個で1回改行される。 これは改行されない→ ←でも、これは改行される→

←どうかな。

改行をいっぱい入れてみる。

どうかな。

3個以上の改行(2個空行)は無視されるようだ。どうすればいいのか?まあいっか。

■リスト

リストは、'*'と、数字を使う。アスタリスクは、中点の箇条書きで、数字だと、続き番号のリストになる。但し、リストの前には、空行が必要。あと、項目間に間をあけるには、空行(改行2回)を入れると隙間が空くようだ。

  • リスト1
  • リスト2
    • 入れ子はタブか

    • 半角スペース4つでいいらしい。前後に空行を入れてみたよ。

    • けど、はてなの編集ページだとタブは使いにくい

アスタリスクと数字のリストの間に、文章を入れないと、数字のリストが、アスタリスクのリストと同じ扱いになるようだ。

  1. 数字で試して
  2. 見よう。
    1. 数字はすべて1でも
    2. いいようだ。
      1. ほんとかな?
      2. 空行にインデントのタブがはいいてもいいのか?文章が長いと改行2回が生きてくるのだろう。そのほうがむしろ自然に見てくる。
      3. どうでしょうか?

間に文章を入れると、

  1. じが

    1. セッ
      1. かな?

■表をつくる

表は、|と-でつくる。

項目1 左寄せ 中央寄せ 右寄せ
見出し 100 200 300
見出し 1000000 2000000 3000000

■引用文

引用文は、元ネタを記入するのに多用するから重要だろう。

引用する文書をここに書く。文章が長いとどうなるのか。あああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ、とか書いてみる。

いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい!

■pre記法

プログラムのコードなどを引用する際は、pre記法というのがつかるようだ。

pre記法には、プレーンなやつと、シンタックスハイライトというのがある。キーワードに色がつくらしい。

プレーンな奴は、先頭にタブか半角スペース4つで始める。

def hello(sentense):
    s = '{0} WORLD!'.format(sentense)
    print(s)

シンタックスハイライトは、```ではじめて、言語名を書く。たとえば'''pythonとか。

def hello(sentense):
    s = '{0} WORLD!'.format(sentense)
    print(s)

■code記法

文章の中にプログラムの一部を埋め込むことをcode記法というらしい。

例えば、「int main(void)」とか。

■強調表記

分の前後を、1~3つのアスタリスクで囲むと色付きの強調表記になるらしい。

強調1個使用

強調2個使用

強調3個使用

強調4個使用

強調5個使用

四つ以上でもエラーにならないみたい?

■水平罫線記法

3つ以上の、マイナスか、アスタリスクか、アンダーバーで罫線が引かれる。但し、マイナスは、前後の行を空行にする必要があるらしい。

アスタリスクの場合


アンダーバーの場合


改行無しでマイナスの場合、

改行を入れてみた、


どうだ?

■埋め込みリンク

[アンカー文字列](URL "リンクのツールチップ"の記法で記述する。リンクのツールチップは省略可能。

はてなブログ記法では、URLを変数化することが可能だが、引用記法の中では機能しないらしい。

Yahoo!

Google

どうかな?