ブログ

matplotlibを利用したデータ可視化(data visualization)の基礎

データの可視化(data visualization)は、データを様々な角度から確認し、データ自体を理解する目的で行われることが多い印象です。探索的データ分析(EDA)と呼ばれることもあります。pythonを使ってデータを可視化する際に、手軽に静的なデータの可視化ができるライブラリとしてmatplotlibがよく使われていると思います。ここでは、matplotlibで手軽にデータを可視化するために覚えておくと良いと思われる基礎的な項目をまとめます。

matplotlib

matplotlibは、pythonにおけるデータ可視化のためのライブラリです。matplotlibを利用すると、簡潔に様々なグラフをプロットできます。主に静的なグラフのプロットに使われることが多い印象です。詳細なドキュメント以下の公式ドキュメントを参照してください。

https://matplotlib.org/

matplotlibの導入

インストール

インストールについては、公式ドキュメントで解説されています。特にこだわりがなければ、pipを使ってインストールできます。

> pip install matplotlib

matplotlibの始めの一歩

matplotlibを利用したシンプルな例を紹介します。

import matplotlib.pyplot as plt

x = [0, 1, 2, 3, 4, 5]
y = [0, 2, 1, 3, 2, 4]

plt.plot(x, y)
plt.show()

このコードを実行すると以下のグラフがプロットされます。

ここで重要なポイントは、以下で説明する2点です。

ライブラリのimport

import matplotlib.pyplot as plt

この文で、matplotlibのpyplotモジュールをpltという名前でインポートしています。pyplotモジュールというのは、matplotlibにおけるグラフ描画のためのインターフェースです。pyplotモジュールの配下に散布図やヒストグラムなどを描画するための関数が用意されています。

pyplotモジュールについては後述の「matplotlibでの描画方針」に追加で説明を記載します。

プロットの実行

plt.plot(x, y)

この文で折れ線グラフを描画しています。matplotlib.pyplotではこのように、描画したいグラフに対応する関数を呼び出すだけでグラフを描画することが出来ます。

matplotlibでの描画方針

matplotlibでグラフを描画するには以下の二つの方針があります。

  1. グラフ要素のオブジェクトを生成してグラフ描画していく方針(object-oriented interface)
  2. pyplotモジュールを利用して予め用意された関数を利用してグラフ描画をしていく方針(state-based interface)

1のobject-orientedな方針では、グラフ描画にあたって細かい指定ができるのですが、その分コードは複雑になります。2のstate-basedな方針では、matplotlibのpyplotモジュールで提供されている関数を呼び出すだけなので簡単に描画を実行できます。

本稿では、基本的には2の方針での解説を行います。ですが、複数のグラフを1枚にまとめる(subplot)などでオブジェクト思考的な利用をすることがあります。

matplotlibでの描画要素

matplotlibにおける描画要素(描画オブジェクト)は、pyplotモジュールを単純に利用するだけの場合はあまり意識する必要はありません。しかし、軸の調整や複数グラフをまとめる場合などで意識しておくとより理解が深まります。

このmatplotlibにおけるオブジェクトを理解する上で公式ドキュメントにある図(こちらを参照)がとてもわかりやすいです。ただ、基礎を理解するという視点では、少々複雑なので、必要な要素を抽出すると、以下の3点を覚えておくと良いです。

  • Figure: グラフをプロットする全体の領域。ここに下記のAxesオブジェクトを配置していくイメージ。
  • Axes: グラフ自体。Figureの中に複数のAxesを配置することが可能。
  • Axis: 軸。軸の大きさや表示範囲、スケールなどを定義する。AxesとAxis紛らわしいが別物なので注意。

基本的なグラフ描画

散布図

プロットの概要縦軸と横軸にそれぞれ対応する量を割り当て、データを点でプロットしたもの。
プロットから主に確認できるポイント縦軸と横軸に割り当てた量の相関関係。2次元のデータの分布。
向いているデータデータの順番に意味がないデータ(独立なデータ)

例として、y=2x+1に従ってランダムノイズが加わった線型モデルからランダムにサンプルしたデータを散布図で確認してみます。

N = 100
x = np.random.randn(N) * 1.0 + 3.0 # N(3, 1)からランダムに生成
y = 2. * x + 1 + np.random.randn(N)

plt.scatter(x, y)

上記コードを実行すると以下のような図が作成されます。

折れ線グラフ

プロットの概要散布図の一種で、データ間を線で結んだもの。
横軸に設定する量を基準にデータを並べることが多い。
プロットから主に確認できるポイント時間経過での変化など、データがどのように変わっていったかを確認できる。
向いているデータ時系列データに代表される、データ間の順番に意味のあるデータ

例として、横軸(時間)に対して指数関数に従って値が上昇していくようなデータをプロットして確認してみます。

t = np.arange(0, 10)
y = np.exp(0.1 * t)

plt.plot(t, y)

上記コードを実行すると以下のような図が作成されます。

折れ線グラフでは、データポイントを明示するように記号をつけることも多いです。下記のようにpyplt.plotのオプションを設定することで実現できます。

t = np.arange(0, 10)
y = np.exp(0.1 * t)

plt.plot(t, y, "-o")

コード例では、pyplot.plot の3つ目の引数として、フォーマットを指定しています。このフォーマットで線の色なども設定できます。詳しくはドキュメントを参照してください。

棒グラフ

プロットの概要データの大きさを棒(長方形)の高さで表現したグラフ。
横軸には特に既定はないが、カテゴリ(質的)データを使うことが多い印象(e.g. 営業員毎の売り上げなど)。
プロットから主に確認できるポイント横軸に設定する値ごとの量の比較
向いているデータ質的なデータとその量

例として、3つのカテゴリの量を比較する棒グラフを描いてみます。

x = np.array(["a", "b", "c"])
y = np.array([3.2, 1.1, 2.5])

plt.bar(x, y)

上記コードを実行すると以下のような図が作成されます。

ヒストグラム

プロットの概要度数分布表の度数を棒の高さで表現したグラフ。横軸には階級をとる。
プロットから主に確認できるポイントデータの分布状況を可視化する。
向いているデータ1次元の数量データ

例として、正規分布に従う乱数のヒストグラムを描いてみます。

x = np.random.randn(1000) * 1.0 + 0.0

plt.hist(x)

上記コードを実行すると以下のような図が作成されます。

ヒストグラムにとって、横軸(階級)は重要です。階級の幅を適切に設定しないとデータの解釈をミスリードする場合があります。例えば、上記のヒストグラムの階級幅を細かく設定してみます。matplotlibでは、pyploy.histbins に数値を設定するとデータの最大最小範囲を設定した値で均等に分割してくれます。

plt.hist(x, bins=100)

上記コードを実行すると以下のような図が作成されます。

単純な標準正規分布$\mathcal{N}\left(0, 1 \right)$から乱数を生成したのですが、上記の図ではいくつか山があるように見えないこともないですよね。適切な解像度でデータを確認しないとノイズに過度に適合してしまうデータ解釈をしてしまうことがあります。

なお、pyploy.histbinslistnumpy.arrayなどを設定すると、任意の階級を設定することができます。

グラフの修飾

色の変更

軸の変更

スケール、描画範囲、対数軸

日本語の利用

日本語などの文字を利用したい場合、フォントを指定する必要があります。matplotlibで日本語フォントを利用するには複数の方法があります(下記)。

  1. 設定ファイルを作成してフォントを指定する
  2. 日本語フォントに対応したFontPropertyを作成し、日本語を使う箇所で都度指定する
  3. japanize-matplotlibを利用する

1と2の方法は似ていますが、1の方法では予め設定ファイルを作成し、その中でデフォルトフォントを設定します。2の方法では、ソースコード単位でFont Propertyを作成します。3の方法ではmatplotlibを日本語化するライブラリが公開されており、そちらを利用する方法です。3の方法が最も手間が少なく簡単だと思います。

ここでは、2の方法について、フォントファイルの入手から手順を解説します。

まずフォントファイルのダウンロードと展開をします。フォントファイルはシステムにインストールされているフォントファイルを使っても良いですが、Linux環境などシステムフォントがインストールされていないケースもあると思います。

wget https://moji.or.jp/wp-content/ipafont/IPAexfont/ipaexg00401.zip
unzip ipaexg00401.zip

上記の例では、ターミナルでのコマンド実行を想定していますが、jupyterlabなどから実行する場合には、システムコマンドを利用するために各文の先頭に ! をつけます。

FontPropertyの作成と利用について、以下に例を示します。

import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
font_path = './ipaexg00401/ipaexg.ttf'
fp = fm.FontProperties(fname=font_path)

x = [0, 1, 2, 3, 4, 5]
y = [0, 2, 1, 3, 2, 4]
plt.plot(x, y, label="日本語描画の例")
plt.title("日本語タイトル", fontproperties=fp)
plt.legend(prop=fp)
plt.show()

上記のコードを実行すると、以下の図が出力されます。

上記のコードにおける重要なポイントを解説します。

import matplotlib.font_manager as fm
font_path = './ipaexg00401/ipaexg.ttf'
fp = fm.FontProperties(fname=font_path)

matplotlib.font_manager.FontPropertiesにフォントファイルを指定します。これで指定したフォントファイルを使うことが出来ます。なおこの例にあるように、フォントファイルはどこに展開したものでも構いません。フォントなどのインストールが自由に出来ない環境などに有効だと思います。

plt.plot(x, y, label="日本語描画の例")
plt.title("日本語タイトル", fontproperties=fp)
plt.legend(prop=fp)

plotのlabelとタイトルに日本語を利用しています。フォントを指定しない場合、日本語が表示できず四角で置き換わってしまうと思いますが、上図の通り、日本語表示できるようになっています。

pyplot.titleとpyplot.legendでフォントを指定するオプショナル引数が異なっているので注意してください。

[参考]

応用的な利用方法

3次元のデータの可視化

scatterplot, heatmap

複数のグラフをまとめる

1枚のFigureに複数のグラフをまとめたいケースはいくつか考えられると思います。このような場合、pyplotのsubplots関数を利用すると比較的容易に実現できます。複数のグラフをどのように配置するかという考え方については、上記「matplotlibでの描画要素」におけるFigure要素とAxes要素を意識すると良いです。

まず具体例を以下に示します。

x = np.random.randn(100) * 1.0 + 3.0 # N(3, 1)の分布から50個のデータを取得
y = 2. * x + 0.5
z = y + np.random.randn(100)


fig, axs = plt.subplots(1, 2, figsize=(10, 4))
axs[0].hist(x)
axs[1].scatter(x, z)
fig.show()

上記のコードを実行すると、以下の図が出力されます。なお乱数を利用しているため、実行毎に結果は変わります。

上記のコードにおける重要なポイントを解説します。

fig, axs = plt.subplots(1, 2, figsize=(10, 4))

まずここで、pyplot.subplotsを呼び出し、グラフを描画するFigure要素とAxes要素のオブジェクトを生成します。この時、subplotsの第1引数として行数(nrows)、第2引数に列数(ncols)を指定しているので、axsには二つのAxesオブジェクトのリストが返ってきます。

axs[0].hist(x)
axs[1].scatter(x, z)

二つのAxesオブジェクトそれぞれで、ヒストグラム(hist)と散布図(scatter)を描画しています。

[参考]

軸(Axis)を共有して複数のグラフをまとめる

一つのFigureに独立したグラフを並べるだけでは、複数のグラフをそれぞれ描画するのと変わりません。ここでは、複数のグラフの軸のを合わせて描画する方法について解説します。

まず、具体例を示します。

x1 = np.random.randn(500) * 1.0 + 0.0 # N(0, 1)の分布から500個のデータを取得
x2 = np.random.randn(500) * 2.0 + 5.0 # N(5, 2)の分布から500個のデータを取得

fig, axs = plt.subplots(2, 1, sharex=True)
axs[0].hist(x1)
axs[1].hist(x2)
fig.show()

上記のコードを実行すると、以下の図が出力されます。なお乱数を利用しているため、実行毎に結果は変わります。

上記のコードにおける重要なポイントを解説します。

fig, axs = plt.subplots(2, 1, sharex=True)

pyplot.subplotsのオプショナル引数である sharex=True を指定しています。これで、二つのグラフにおけるx軸が共有されたことになります。同様に、y軸を共有するには sharey=True を指定します。

[参考]

まとめ

参考

数学検定2級 解説 〜過去問題② 解答例・解説 1次:計算技能検定・2次:数理技能検定〜

数学検定$2$級は数ⅡBまで相当の数学の基本トピックに関して取り扱った検定であり、統計学に必要な数学を身につける際の目安になります。当記事では「日本数学検定協会 監修」の「数学検定問題集 $2$級」の数学検定$2$級の内容に基づき、過去問題②の解答例と解説の作成を行いました。

・数学検定$2$級まとめ
https://www.hello-statisticians.com/math_certificate_2

$1$次:計算技能検定

問題$1 \,$ 展開の公式

下記のように変形できる。
$$
\large
\begin{align}
(x+2y)^{3} = x^3 + 6x^2 y + 12x y^2 + 8y^3
\end{align}
$$

問題$2 \,$ 因数分解

下記のように因数分解を行うことができる。
$$
\large
\begin{align}
a(b+c) – (b^2-c^2) &= a(b+c) – (b+c)(b-c) \\
&= (b+c)(a-b+c)
\end{align}
$$

問題$3 \,$ 分母の有理化

下記のように式変形できる。
$$
\large
\begin{align}
\frac{\sqrt{2}+3}{\sqrt{2}-1} – \frac{\sqrt{2}-3}{\sqrt{2}+1} &= \frac{((\sqrt{2}-1))(\sqrt{2}+3)}{(\sqrt{2}+1)(\sqrt{2}-1)} – \frac{(\sqrt{2}-3)((\sqrt{2}-1))}{(\sqrt{2}+1)((\sqrt{2}-1))} \\
&= \frac{2 + 4 \sqrt{2} + 3}{2-1} – \frac{2 – 4 \sqrt{2} + 3}{2-1} \\
&= 8 \sqrt{2}
\end{align}
$$

問題$4 \,$ 三角関数を用いた方程式

$\displaystyle \sin{\theta}-\cos{\theta} = \frac{1}{2}$より下記が得られる。
$$
\large
\begin{align}
(\sin{\theta}-\cos{\theta})^{2} &= \frac{1}{2} \\
\sin^{2}{\theta} + \cos^{2}{\theta} – 2 \sin{\theta} \cos{\theta} &= \frac{1}{4} \\
1 – 2 \sin{\theta} \cos{\theta} &= \frac{1}{4} \\
2 \sin{\theta} \cos{\theta} &= \frac{3}{4} \\
\sin{\theta} \cos{\theta} &= \frac{3}{8}
\end{align}
$$

問題$5 \,$ サイコロの目の確率

目の出方は$(1,3), (2,2), (3,1), (2,6), (3,5), (4,4), (5,3), (6,2), (6,6)$の$9$通りある。よって、確率は下記のように計算できる。
$$
\large
\begin{align}
\frac{9}{6^2} = \frac{1}{4}
\end{align}
$$

問題$6 \,$ 循環小数と数列の和

$x = 2.\dot{0}\dot{9}$とおくと、$100x = 209.\dot{0}\dot{9}$である。このとき$100x – x$は下記のように計算できる。
$$
\large
\begin{align}
100x – x &= 209.\dot{0}\dot{9} – 2.\dot{0}\dot{9} \\
99x &= 207 \\
x &= \frac{99}{207} = \frac{23}{11}
\end{align}
$$

問題$7 \,$ 二次方程式の判別式

二次方程式$2x^2 + 8x – 2k^2 – 9k + 13 = 0$が解を持つ$k$の範囲が得られれば良いので、判別式を$D$とおくと下記のような式が得られる。
$$
\large
\begin{align}
\frac{D}{4} = 4^2 – 2(-2k^2 – 9k + 13) & > 0 \\
2k^2 + 9k – 5 & > 0 \\
(2k – 1)(k + 5) & > 0
\end{align}
$$

上記より$\displaystyle k < -5, \frac{1}{2} < k$が得られる。

問題$8 \,$ 円の方程式

中心が$(2,0)$の円の方程式は下記のように表せる。
$$
\large
\begin{align}
(x-2)^2 + y^2 = r^2
\end{align}
$$

上記が原点を通るので下記が成立する。
$$
\large
\begin{align}
(0-2)^2 + 0^2 &= r^2 \\
r^2 &= 2^2
\end{align}
$$

よって、円の方程式は下記のように表せる。
$$
\large
\begin{align}
(x-2)^2 + y^2 = 2^2
\end{align}
$$

問題$9 \,$ 分母の複素数の実数化

下記の式変形が成立する。
$$
\large
\begin{align}
a + bi &= \frac{2-i}{1+i} \\
&= \frac{(2-i)(1-i)}{(1+i)(1-i)} \\
&= \frac{2-3i+i^2}{1-i^2} \\
&= \frac{2-1-3i}{1-(-1)} \\
&= \frac{1}{2} – \frac{3}{2}i
\end{align}
$$

上記より$\displaystyle a = \frac{1}{2}, b=-\frac{3}{2}$が成立する。

問題$10 \,$ 等比数列の一般項

一般項$a_n$は下記のように表せる。
$$
\large
\begin{align}
a_n = -64 \cdot \left( -\frac{1}{2} \right)^{n}
\end{align}
$$

よって$a_7$は下記のように計算できる。
$$
\large
\begin{align}
a_n &= -64 \cdot \left( -\frac{1}{2} \right)^{7} \\
&= 2^{6} \cdot \left( \frac{1}{2} \right)^{7} \\
&= \frac{1}{2}
\end{align}
$$

問題$11 \,$ 指数の計算

下記のように計算できる。
$$
\large
\begin{align}
3^{\frac{1}{6}} \div 3^{\frac{1}{2}} \times 3^{\frac{1}{3}} &= 3^{\frac{1}{6}-\frac{1}{2}+\frac{1}{3}} \\
&= 3^{0} \\
&= 1
\end{align}
$$

問題$12 \,$ 三角関数の二次関数

方程式は下記のように解ける。
$$
\large
\begin{align}
2 \sin^{2}{\theta} – 3 \sin{\theta} + 1 &= 0 \\
(2 \sin{\theta} – 1)(\sin{\theta} – 1) &= 0 \\
\sin{\theta} &= \frac{1}{2}, \, 1
\end{align}
$$

上記より$\displaystyle \theta = 30^{\circ}, 90^{\circ}, 150^{\circ}$である。

問題$13 \,$ 三次方程式の解

$$
\large
\begin{align}
x^3 + x^2 – 8x – 12 = 0
\end{align}
$$

上記に$x=3$を代入すると方程式が成立するので、左辺を$x-3$で割ることで下記のように変形できる。
$$
\large
\begin{align}
x^3 + x^2 – 8x – 12 &= 0 \\
(x-3)(x^2+4x+4) &= 0 \\
(x-3)(x+2)^2 &= 0
\end{align}
$$

上記より$x=-2, 3$である。

問題$14 \,$ 不定積分・定積分

$[1]$
$$
\large
\begin{align}
\int x(3x+2) dx &= \int (3x^2 + 2x) dx \\
&= x^3 + x^2 + C
\end{align}
$$

$[2]$
$$
\large
\begin{align}
\int_{-1}^{2} x(3x+2) dx &= \left[ x^3 + x^2 \right]_{-1}^{2} \\
&= (2^3+2^2) – ((-1)^3+(-1)^2) \\
&= 12
\end{align}
$$

問題$15 \,$ 空間ベクトルの成分表示

原点を$O$と定めると$\overrightarrow{OA}$と$\overrightarrow{OB}$はそれぞれ下記のように表せる。
$$
\large
\begin{align}
\overrightarrow{OA} = \left(\begin{array}{c} 2 \\ -2 \\ 0 \end{array} \right) , \, \overrightarrow{OB} = \left(\begin{array}{c} 0 \\ 2 \\ -5 \end{array} \right)
\end{align}
$$

$[1]$
$\overrightarrow{AB}$は下記のように計算できる。
$$
\large
\begin{align}
\overrightarrow{AB} &= \overrightarrow{OB} – \overrightarrow{OA} \\
&= \left(\begin{array}{c} 0 \\ 2 \\ -5 \end{array} \right) – \left(\begin{array}{c} 2 \\ -2 \\ 0 \end{array} \right) \\
&= \left(\begin{array}{c} -2 \\ 4 \\ -5 \end{array} \right)
\end{align}
$$

$[2]$
$|\overrightarrow{AB}|$は下記のように計算できる。
$$
\large
\begin{align}
|\overrightarrow{AB}| &= \sqrt{(-2)^2 + 4^2 + (-5)^2} \\
&= \sqrt{45} \\
&= 3 \sqrt{5}
\end{align}
$$

$2$次:数理技能検定

問題$1 \,$ 期待値の計算

コインの枚数の期待値を$E[X]$とおくと、$E[X]$は下記のように計算できる。
$$
\large
\begin{align}
E[X] &= 10 \cdot \frac{5}{100} + 4 \cdot \frac{25-5}{100} + 6 \cdot \frac{20-5}{100} \\
&= \frac{50+80+90}{100} \\
&= \frac{220}{100} = \frac{11}{5}
\end{align}
$$

問題$2 \,$

問題$3 \,$ ヘッセの標準形

直線$l$と平行なベクトルを$\vec{l}$とおくと、$\overrightarrow{OH}$と$\vec{l}$は下記のように表すことができる。
$$
\large
\begin{align}
\overrightarrow{OH} &= \left(\begin{array}{c} p \cos{\theta} \\ p \sin{\theta} \end{array} \right) \\
\vec{l} &= \left(\begin{array}{c} x-p \cos{\theta} \\ y-p \sin{\theta} \end{array} \right)
\end{align}
$$

このとき$\overrightarrow{OH}$と$\vec{l}$が垂直なので下記が成立する。
$$
\large
\begin{align}
\overrightarrow{OH} \cdot \vec{l} &= 0 \\
\left(\begin{array}{c} p \cos{\theta} \\ p \sin{\theta} \end{array} \right) \cdot \left(\begin{array}{c} x-p \cos{\theta} \\ y-p \sin{\theta} \end{array} \right) &= 0 \\
xp \cos{\theta} – p^{2} \cos^{2}{\theta} + yp \sin{\theta} – p^2 \sin^{2}{\theta} &= 0 \\
p(x \cos{\theta} + y \sin{\theta}) &= p^2(\cos^{2}{\theta}+\sin^{2}{\theta}) \\
x \cos{\theta} + y \sin{\theta} &= p \quad (1)
\end{align}
$$

$\overrightarrow{OH} \cdot \vec{l} = 0$はベクトルの大きさが$0$である場合も成立するので上記は必要条件であるが、$p>0$であれば$|\overrightarrow{OH}| \neq 0$、$|\vec{l}|=0$は直線上の点であることから十分条件であることも確認できる。よって$(1)$式が直線の方程式を表すことが確認できる。

問題$4 \,$

問題$5 \,$

問題$6 \,$ 二次方程式の解の公式の導出

下記のように導出を行うことができる。
$$
\large
\begin{align}
ax^2 + bx + c &= 0 \\
a \left( x^2 + \frac{b}{a}x \right) + c &= 0 \\
a \left( x + \frac{b}{2a} \right)^2 -\frac{ab^2}{(2a)^2} + c &= 0 \\
a \left( x + \frac{b}{2a} \right)^2 &= \frac{b^2}{4a} – c \\
a \left( x + \frac{b}{2a} \right)^2 &= \frac{b^2-4ac}{4a} \\
\left( x + \frac{b}{2a} \right)^2 &= \frac{b^2-4ac}{4a^2} \\
x + \frac{b}{2a} &= \frac{\pm \sqrt{b^2-4ac}}{2a} \\
x &= \frac{-b \pm \sqrt{b^2-4ac}}{2a}
\end{align}
$$

問題$7 \,$

【ゲーム×幾何分布】幾何分布の確率分布から考察するランダムエンカウント

幾何分布を理解するにあたって、初期のドラゴンクエストのようなRPGのエンカウントの調整の観点から確認することもできます。当記事では、初期のドラゴンクエストのエンカウントの設定とゲームの操作性について幾何分布の確率分布を考えることで考察を行います。

・ゲーム × 統計 まとめ
https://www.hello-statisticians.com/game_stat

前提の確認

エンカウントの仕組み

近年の$3$D化されたRPGではモンスターなどがフィールド上を動き回るシンボルエンカウントが増えましたが、従来の$2$Dのゲームではフィールドを動き回る際に予め設定された仕組みでエンカウントするようにプログラムされる場合が主流でした。

中でもファミコンの黎明期などは$1$歩ごとに一定の確率でエンカウント判定を行う「ランダムエンカウント」が多く、$0$歩エンカの映像なども探せば見つけることができます。

ファミコンのゲーム自体は旧世代のものではありますが、ゲームの作成側の視点でエンカウント調整を行うと考えるとなかなか難しく、「ランダムエンカウント」が黎明期に用いられたのは自然であるように考えられます。

一方で、$1$歩ごとに判定を行う「ランダムエンカウント」を用いる場合、次のエンカウントまでの歩数が「幾何分布」に従うことから、次のエンカウントまでの歩数のばらつきが大きいなどが問題になります。

以下では幾何分布の確率分布を元に「ランダムエンカウント」を用いた際の「次のエンカウントまでの歩数」がどのくらいばらつくかに関して計算や考察などを行います。

幾何分布

下記などに詳しくまとめました。

ドラゴンクエストにおけるランダムエンカウント

幾何分布の期待値

確率$p$でエンカウントする際に次のエンカウントまでの歩数を確率変数$X$で表すことを考えます。このとき、$X=x$歩でエンカウントする確率関数を$p(x)$とおくと、$p(x)$は下記のように表すことができます。
$$
\large
\begin{align}
p(x) = p(1-p)^{x-1}, \quad x=1,2,\cdots
\end{align}
$$

上記では簡易化にあたって、$0$歩目のエンカウントを考慮しないようにしました。この場合、「次のエンカウントまでの歩数」の期待値$E[X]$は下記のように計算することができます。
$$
\large
\begin{align}
E[X] &= \sum_{x=1}^{\infty} xP(X=x) \\
&= \sum_{x=1}^{\infty} xp(1-p)^{x-1} \\
&= p \sum_{x=1}^{\infty} x(1-p)^{x-1} \\
&= p \left( 1 + 2(1-p)^{2-1} + 3(1-p)^{3-1} \cdots \right) \\
&= p \frac{1}{(1-(1-p))^2} \\
&= p \frac{1}{p^2} \\
&= \frac{1}{p}
\end{align}
$$

よって、$p=0.1$であれば$E[X]=10$であり、エンカウント率を$10$%で設定することで、だいたい次のエンカウントまで$10$歩であろうと直感的には考えることができます。

ランダウの記号(Laudau symbol)・ランダウの漸近記法の定義と活用例の確認

テイラー展開による近似を行う際に「特定の次数までを取り扱い以降は誤差と見なす」ということはよく行われます。ここで誤差と見なす項を略記することで数式展開が行いやすくなりますが、この際に用いられるランダウの漸近記法について当記事では定義や活用例の確認を行います。
主に「大学教養 微分積分(数研出版)」の$3.4$節の「テイラーの定理」の内容を参考に作成を行いました。

・数学まとめ
https://www.hello-statisticians.com/math_basic

ランダウの漸近記法

ランダウの漸近記法の定義

ランダウの記号$\mathcal{o}$は下記のように定義される。
$$
\large
\begin{align}
\lim_{x \to a} \frac{f(x)}{g(x)} = 0 \iff f(x) = \mathcal{o}(g(x)), \, x \to a
\end{align}
$$

上記のような記法をランダウの漸近記法という。$\mathcal{o}(g(x)), \, x \to a$は「$x$が$a$に近づくとき、$f(x)$は$g(x)$に対しはるかに小さい」を表すと解釈すれば良い。

ランダウの漸近記法の活用例

「大学教養 微分積分(数研出版)」の$3.4$節の「テイラーの定理」の例$3$の式は下記のように表せる。
$$
\large
\begin{align}
\lim_{x \to a} \frac{f(x)}{1} = \lim_{x \to a} f(x) = 0 & \iff f(x) = \mathcal{o}(1), \, x \to a \\
f(x) = 2x^2 + h(x), \, \lim_{x \to 0} \frac{h(x)}{g(x)} = 0 & \iff f(x) = 2x^2 + \mathcal{o}(x^2), \, x \to 0
\end{align}
$$

ランダウ記号の計算規則

$x \to 0$のとき下記が成立する。
$$
\large
\begin{align}
x^{m} \mathcal{o}(x^{n}) &= \mathcal{o}(x^{m+n}) \\
\mathcal{o}(x^{m}) \mathcal{o}(x^{n}) &= \mathcal{o}(x^{m+n}) \\
\mathcal{o}(x^{m}) + \mathcal{o}(x^{n}) &= \mathcal{o}(x^{l}), \, l = \min\{ m,n \}
\end{align}
$$

有限テイラー展開とランダウの漸近記法

式表記

$x \to a$における有限テイラー展開はランダウの記号を用いて下記のように表すことができる。
$$
\large
\begin{align}
f(x) = f(a) + f'(a)(x-a) + \cdots + \frac{f^{(n)}(a)}{n!}(x-a)^{n} + \mathcal{o}((x-a)^{n}), \, x \to a
\end{align}
$$

上記は「$(x-a)^{n+1}$以降の項を$\mathcal{o}((x-a)^{n})$でまとめた」と解釈すると良い。$x \to a$では$x-a$が$0$に近い値を取るので、次数が大きくなればなるほど$(x-a)^{n}$は$0$に近づくことに基づいて理解すると良い。下記を実行することで図を元に理解することができる。

import numpy as np
import matplotlib.pyplot as plt

n = np.arange(1, 11, 1)

a = 1.
x = np.array([0.9, 0.95, 0.99, 0.995, 0.999])

for i in range(x.shape[0]):
    delta = (x[i]-a)**n
    plt.plot(n, delta, label="x: {}".format(x[i]))

plt.legend(loc="lower right")
plt.show()

・実行結果

上図より、「次数が大きくなればなるほど$(x-a)^{n}$が$0$に近づくこと」が確認できる。

テイラー展開におけるランダウの漸近記法の活用例

$x=0$における$(1+x^2)e^{x}$の$5$次の漸近展開を以下行う。$e^{x}$のテイラー展開はランダウの記号を用いて下記のように表せる。
$$
\large
\begin{align}
e^{x} &= 1 + x + \frac{1}{2!} x^2 + \frac{1}{3!} x^3 + \frac{1}{4!} x^4 + \frac{1}{5!} x^5 + \mathcal{o}(x^5) \quad (1) \\
&= 1 + x + \frac{1}{2!} x^2 + \frac{1}{3!} x^3 + \mathcal{o}(x^3) \quad (2)
\end{align}
$$

$(2)$式より$x^2 e^{x}$は下記のように表せる。
$$
\large
\begin{align}
x^2 e^{x} &= x^2 (1 + x + \frac{1}{2!} x^2 + \frac{1}{3!} x^3 + \mathcal{o}(x^3)) \\
&= x^2 + x^3 + \frac{1}{2!} x^4 + \frac{1}{3!} x^5 + x^2 \mathcal{o}(x^3) \\
&= x^2 + x^3 + \frac{1}{2!} x^4 + \frac{1}{3!} x^5 + \mathcal{o}(x^5) \quad (3)
\end{align}
$$

$(1), (3)$式より$(1+x^2)e^{x}$の$5$次の漸近展開は下記のように表せる。
$$
\large
\begin{align}
(1+x^2) e^{x} &= 1 + x + \left( \frac{1}{2!} + 1 \right) x^2 + \left( \frac{1}{3!} + 1 \right) x^3 + \left( \frac{1}{4!} + \frac{1}{2!} \right) x^4 + \left( \frac{1}{5!} + \frac{1}{3!} \right) x^5 + \mathcal{o}(x^5) \\
&= 1 + x + \frac{1}{2!} x^2 + \frac{7}{3!} x^3 + \frac{13}{4!} x^4 + \frac{21}{5!} x^5 + \mathcal{o}(x^5)
\end{align}
$$

上記は「大学教養 微分積分(数研出版)」の$3.4$節の「テイラーの定理」の例題$2$を元に作成を行なった。

多変数の凸関数の制約なし最適化問題における勾配やヘッセ行列を用いた1次・2次の最適性条件

多変数の凸関数の制約なし最適化問題を取り扱うにあたっては多変数関数の勾配(gradient)やヘッセ行列(hessian matrix)を用いることで$1$次・$2$次の最適性条件を表すことができます。当記事ではそれぞれの式の表記や簡単な導出などの取りまとめを行いました。
「数理計画入門(朝倉書店)」の$4.3$節の「制約なし問題の最適性条件」の内容を参考に作成を行いました。

・用語/公式解説
https://www.hello-statisticians.com/explain-terms

前提の確認

問題設定

多変数関数$f(\mathbf{x})=f(x_1,\cdots,x_n)$について勾配$\nabla f(\mathbf{x})$とヘッセ行列$\nabla^2 f(\mathbf{x})$を下記のように定義する。
$$
\large
\begin{align}
\nabla f(\mathbf{x}) &= \left( \begin{array}{c} \displaystyle \frac{\partial f(\mathbf{x})}{\partial x_1} \\ \vdots \\ \displaystyle \frac{\partial f(\mathbf{x})}{\partial x_n} \end{array} \right) \\
\nabla^2 f(\mathbf{x}) &= \left( \begin{array}{c} \displaystyle \frac{\partial^2 f(\mathbf{x})}{\partial x_1^2} & \cdots & \displaystyle \frac{\partial^2 f(\mathbf{x})}{\partial x_1 \partial x_n} \\ \vdots & \ddots & \vdots \\ \displaystyle \frac{\partial^2 f(\mathbf{x})}{\partial x_n \partial x_1} & \cdots & \displaystyle \frac{\partial^2 f(\mathbf{x})}{\partial x_n^2} \end{array} \right)
\end{align}
$$

ここで上記の「多変数関数$f(\mathbf{x})=f(x_1,\cdots,x_n)$の最小化」を「制約なし最適化問題」と見なし、以下局所最適解$\mathbf{x}^{*}$に関して成立する最適性条件について確認を行う。

凸関数

関数$f$が下に凸の凸関数であるとき下記が成立する。
$$
\large
\begin{align}
\mathbf{x}, \mathbf{y} \in \mathbb{R}, \, 0 \leq \alpha \leq 1 \, \implies \, f(\alpha \mathbf{x} + (1-\alpha) \mathbf{y}) \leq \alpha f(\mathbf{x}) + (1-\alpha) f(\mathbf{y})
\end{align}
$$

$f(x) = x^2$のような二次関数のようなイメージで理解すると良く、たとえば$x=0, y=2, \alpha=0.5$のとき$f(\alpha x + (1-\alpha) y), \alpha f(x) + (1-\alpha) f(y)$はそれぞれ下記のように計算できる。
$$
\large
\begin{align}
f(\alpha x + (1-\alpha) y) &= f(0.5 \cdot 0 + (1 – 0.5) \cdot 2) \\
&= f(1) \\
&= 1^2 = 1 \\
\alpha f(x) + (1-\alpha) f(y) &= 0.5 f(0) + (1 – 0.5) f(2) \\
&= 0.5 \cdot 0^2 + 0.5 \cdot 2^2 \\
&= 2
\end{align}
$$

上記より$f(\alpha x + (1-\alpha) y) \leq \alpha f(x) + (1-\alpha) f(y)$が$x=0, y=2, \alpha=0.5$で成立することが確認できる。

上記の例は下記を実行することで図示できる。

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0., 2.01, 0.01)
f_x = x**2
f_line = 2*x

plt.plot(x, f_x, color="limegreen", label="f(x)=x^2")
plt.plot(x, f_line, color="orange", label="chord")

plt.scatter(0.5*0+0.5*2., (0.5*0+0.5*2.)**2, color="green")
plt.scatter(0.5*0+0.5*2., 0.5*0**2+0.5*2.**2, color="red")

plt.legend()
plt.show()

・実行結果

上図のように下に凸の凸関数の数式は「関数の上に弦が描画できる」と解釈することもできる。

最適性条件

最適性の1次の必要条件

$$
\large
\begin{align}
\nabla f(\mathbf{x}^{*}) &= \mathbf{0} \\
\left( \begin{array}{c} \displaystyle \frac{\partial f(\mathbf{x})}{\partial x_1} \\ \vdots \\ \displaystyle \frac{\partial f(\mathbf{x})}{\partial x_n} \end{array} \middle) \right|_{x_1=x_1^{*}, \cdots , x_n=x_n^{*}} &= \left( \begin{array}{c} 0 \\ \vdots \\ 0 \end{array} \right)
\end{align}
$$

最適性の$1$必要条件は上記のように表される。上記の式は「関数の最大値・最小値では各方向の勾配が$0$」であることに対応し、直感的には「山の頂上は平らである」と解釈すれば良い。

最適性の2次の必要条件

「ヘッセ行列$\nabla^2 f(\mathbf{x}^{*})$が半正定値行列」が$\mathbf{x}^{*}$が局所最適解である必要条件である。

最適性の2次の十分条件

$\mathbf{x}=\mathbf{x}^{*}$で「①勾配$\nabla f(\mathbf{x}^{*})$が$0$ベクトル」、「②ヘッセ行列$\nabla^2 f(\mathbf{x}^{*})$が正定値行列」であることが$\mathbf{x}^{*}$が局所最適解である十分条件である。このことを以下に示す。

目的関数$f$は最適解$\mathbf{x}^{*}$の周辺で下記のように表せる。
$$
\large
\begin{align}
f(\mathbf{x}^{*} + \alpha \mathbf{d}) = f(\mathbf{x}^{*}) + \alpha \nabla f(\mathbf{x}^{*})^{\mathrm{T}} \mathbf{d} + \frac{\alpha^2}{2} \mathbf{d}^{\mathrm{T}} \nabla^2 f(\mathbf{x}^{*}) \mathbf{d} + \mathcal{o}(||\mathbf{d}||^2)
\end{align}
$$

ここで$\nabla^2 f(\mathbf{x}^{*})$が正定値行列であれば、$\alpha$が十分小さいとき下記が成立する。
$$
\large
\begin{align}
\frac{\alpha^2}{2} \mathbf{d}^{\mathrm{T}} \nabla^2 f(\mathbf{x}^{}) \mathbf{d} + \mathcal{o}(||\mathbf{d}||^2) > 0
\end{align}
$$

よって、「①勾配$\nabla f(\mathbf{x}^{*})$が$0$ベクトル」、「②ヘッセ行列$\nabla^2 f(\mathbf{x}^{*})$が正定値行列」のとき下記が成立する。
$$
\large
\begin{align}
f(\mathbf{x}^{*} + \alpha \mathbf{d}) – f(\mathbf{x}^{*}) &= \alpha \nabla f(\mathbf{x}^{*})^{\mathrm{T}} \mathbf{d} + \frac{\alpha^2}{2} \mathbf{d}^{\mathrm{T}} \nabla^2 f(\mathbf{x}^{*}) \mathbf{d} + \mathcal{o}(||\mathbf{d}||^2) > 0 \\
f(\mathbf{x}^{*} + \alpha \mathbf{d}) – f(\mathbf{x}^{*}) & > 0 \\
f(\mathbf{x}^{*} + \alpha \mathbf{d}) & > f(\mathbf{x}^{*})
\end{align}
$$

上記より、「①勾配$\nabla f(\mathbf{x}^{*})$が$0$ベクトル」、「②ヘッセ行列$\nabla^2 f(\mathbf{x}^{*})$が正定値行列」が$\mathbf{x}^{*}$が最適解であることの十分条件であることが確認できる。

参考

・数理計画法 講義資料

Ch.17 「行列の基本変形」の演習問題の解答例 〜統計学のための数学入門30講(朝倉書店)〜

当記事は「統計学のための数学入門$30$講(朝倉書店)」の読解サポートにあたってChapter.$17$の「行列の基本変形」の章末問題の解答の作成を行いました。
基本的には書籍の購入者向けの解説なので、まだ入手されていない方は購入の上ご確認ください。また、解説はあくまでサイト運営者が独自に作成したものであり、書籍の公式ページではないことにご注意ください。

・書籍解答まとめ
https://www.hello-statisticians.com/answer_textbook_math#math_stat

本章のまとめ

行列の基本変形の概要

基本行列

行列の基本変形と逆行列

演習問題解答

問題$17.1$

$$
\large
\begin{align}
A = \left(\begin{array}{cccc} 1 & 1 & 0 & 1 \\ 0 & 1 & -1 & 0 \\ 0 & 1 & 1 & 1 \\ 0 & 0 & 1 & 1 \end{array} \right)
\end{align}
$$

上記は下記のように基本変形を行うことができる。
$$
\large
\begin{align}
A &= \left(\begin{array}{cccc} 1 & 1 & 0 & 1 \\ 0 & 1 & -1 & 0 \\ 0 & 1 & 1 & 1 \\ 0 & 0 & 1 & 1 \end{array} \right) \\
& \implies \left(\begin{array}{cccc} 1 & 0 & 0 & 0 \\ 0 & 1 & -1 & 0 \\ 0 & 1 & 1 & 1 \\ 0 & 0 & 1 & 1 \end{array} \right) \\
& \implies \left(\begin{array}{cccc} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 1 & 2 & 1 \\ 0 & 0 & 1 & 1 \end{array} \right) \implies \left(\begin{array}{cccc} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 1/2 & 1 & 1/2 \\ 0 & 0 & 1 & 1 \end{array} \right) \\
& \implies \left(\begin{array}{cccc} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & -1/2 & 1 & 1/2 \end{array} \right) \implies \left(\begin{array}{cccc} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & -1 & 2 & 1 \end{array} \right) \\
& \implies \left(\begin{array}{cccc} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array} \right)
\end{align}
$$

よって逆行列は存在することが確認できる。以下、基本変形を行うことによって逆行列の導出を行う。
$$
\large
\begin{align}
(A|I_4) &= \left(\begin{array}{cccc} 1 & 1 & 0 & 1 \\ 0 & 1 & -1 & 0 \\ 0 & 1 & 1 & 1 \\ 0 & 0 & 1 & 1 \end{array} \,\, \middle\vert \,\, \begin{array}{cccc} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array} \right) \\
& \implies \left(\begin{array}{cccc} 1 & 0 & 0 & 0 \\ 0 & 1 & -1 & 0 \\ 0 & 1 & 1 & 1 \\ 0 & 0 & 1 & 1 \end{array} \,\, \middle\vert \,\, \begin{array}{cccc} 1 & -1 & 0 & -1 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array} \right) \\
& \implies \left(\begin{array}{cccc} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 1 & 2 & 1 \\ 0 & 0 & 1 & 1 \end{array} \,\, \middle\vert \,\, \begin{array}{cccc} 1 & -1 & -1 & -1 \\ 0 & 1 & 1 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array} \right) \\
& \implies \left(\begin{array}{cccc} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 1 & 1 & 1 \\ 0 & 0 & 1/2 & 1 \end{array} \,\, \middle\vert \,\, \begin{array}{cccc} 1 & -1 & -1/2 & -1 \\ 0 & 1 & 1/2 & 0 \\ 0 & 0 & 1/2 & 0 \\ 0 & 0 & 0 & 1 \end{array} \right) \\
& \implies \left(\begin{array}{cccc} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & -1/2 & 1/2 & 1/2 \end{array} \,\, \middle\vert \,\, \begin{array}{cccc} 1 & -1/2 & -1/2 & -1/2 \\ 0 & 1/2 & 1/2 & -1/2 \\ 0 & -1/2 & 1/2 & -1/2 \\ 0 & 0 & 0 & 1 \end{array} \right) \\
& \implies \left(\begin{array}{cccc} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1/2 \end{array} \,\, \middle\vert \,\, \begin{array}{cccc} 1 & -1 & 0 & -1/2 \\ 0 & 0 & 1 & -1/2 \\ 0 & -1 & 1 & -1/2 \\ 0 & 1 & -1 & 1 \end{array} \right) \\
& \implies \left(\begin{array}{cccc} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array} \,\, \middle\vert \,\, \begin{array}{cccc} 1 & -1 & 0 & -1 \\ 0 & 0 & 1 & -1 \\ 0 & -1 & 1 & -1 \\ 0 & 1 & -1 & 2 \end{array} \right) = (I_4|A^{-1})
\end{align}
$$

問題$17.2$

数学検定2級 解説 〜過去問題① 解答例・解説 1次:計算技能検定・2次:数理技能検定〜

数学検定$2$級は数ⅡBまで相当の数学の基本トピックに関して取り扱った検定であり、統計学に必要な数学を身につける際の目安になります。当記事では「日本数学検定協会 監修」の「数学検定問題集 $2$級」の数学検定$2$級の内容に基づき、過去問題①の解答例と解説の作成を行いました。

・数学検定$2$級まとめ
https://www.hello-statisticians.com/math_certificate_2

$1$次:計算技能検定

問題$1 \,$ 多項式の展開

下記のように式の展開を行うことができる。
$$
\large
\begin{align}
(x^2-1)(1+x^2+x^4+x^6) &= (\cancel{x^2}+\cancel{x^4}+\cancel{x^6}+x^8) – (1+\cancel{x^2}+\cancel{x^4}+\cancel{x^6}) \\
&= x^8 – 1
\end{align}
$$

・参考
$(A-B)(A^2+AB+B^2)=A^3-B^3$と同様な式であることは抑えておくと良い。

問題$2 \,$ 因数分解

下記のように因数分解を行うことができる。
$$
\large
\begin{align}
x^3 – \frac{3}{10}x^2y + \frac{3}{100}xy^2 – \frac{1}{1000}y^3 &= x^3 – 3x^2\left( \frac{y}{10} \right) + 3x\left( \frac{y}{10} \right)^2 – \left( \frac{y}{10} \right)^3 \\
&= \left( x – \frac{y}{10} \right)^3
\end{align}
$$

問題$3 \,$ 展開の公式と分数関数

$\displaystyle x-\frac{1}{x}=3$より、$\displaystyle \left( x-\frac{1}{x} \right)^2=9$が成立し、下記のように変形できる。
$$
\large
\begin{align}
\left( x-\frac{1}{x} \right)^2 &= 9 \\
x^2 + \frac{1}{x^2} – 2 x \cdot \frac{1}{x} &= 9 \\
x^2 + \frac{1}{x^2} &= 11
\end{align}
$$

問題$4 \,$ 三角比と三角形の面積

面積を$S$とおくと三角形の公式に基づいて下記のように計算できる。
$$
\large
\begin{align}
S &= \frac{1}{2} \times 8 \times 5 \sin{60^{\circ}} \\
&= \frac{1}{2} \times 8 \times 5 \times \frac{\sqrt{3}}{2} \\
&= 10 \sqrt{3}
\end{align}
$$

問題$5 \,$ 組み合わせ

$10$人から赤組$5$人を選ぶ組み合わせ${}_{10} C_{5}$を計算すれば良い。
$$
\large
\begin{align}
{}_{10} C_{5} &= \frac{10 \cdot 9 \cdot 8 \cdot 7 \cdot 6}{5!} \\
&= 252
\end{align}
$$

よって$252$通りの分け方が存在する。

問題$6 \,$

問題$7 \,$ 三角関数の倍角の公式と二次方程式

$[1]$
$\cos{2 \theta} = \sin{\theta}$は下記のように解くことができる。
$$
\large
\begin{align}
\cos{2 \theta} &= \sin{\theta} \\
\cos^{2}{\theta}-\sin^{2}{\theta} &= \sin{\theta} \\
(\cos^{2}{\theta}+\sin^{2}{\theta})-\sin^{2}{\theta}-\sin^{2}{\theta} &= \sin{\theta} \\
1 – 2 \sin^{2}{\theta} &= \sin{\theta} \\
2 \sin^{2}{\theta} + \sin{\theta} – 1 &= 0 \\
(2 \sin{\theta} – 1)(\sin{\theta} + 1) &= 0 \\
\sin{\theta} &= \frac{1}{2}, \, -1
\end{align}
$$

$[2]$
$\displaystyle \sin{\theta} = \frac{1}{2}, \, -1$と$0^{\circ} \leq \theta \leq 360^{\circ}$より$\theta = 30^{\circ}, 150^{\circ}, 270^{\circ}$が得られる。

問題$8 \,$ 円の方程式

中心が$(2,2)$の円の方程式は下記のように表すことができる。
$$
\large
\begin{align}
(x-2)^2 + (y-2)^2 = r^2
\end{align}
$$

ここで上記は$(0,0)$を通るので下記が成立する。
$$
\large
\begin{align}
(0-2)^2 + (0-2)^2 &= r^2 \\
r^2 &= 8
\end{align}
$$

よって、円の方程式は下記のように表せる。
$$
\large
\begin{align}
(x-2)^2 + (y-2)^2 = 8
\end{align}
$$

問題$9 \,$ 二次方程式の複素数解

$x^2-4x+5=0$の複素数解は二次方程式の解の公式を用いることで下記のように得られる。
$$
\large
\begin{align}
x^2 – 4x + 5 &= 0 \\
x &= 2 \pm \sqrt{2^2-5} \\
&= 2 \pm \sqrt{-1} = 2 \pm i
\end{align}
$$

問題$10 \,$ 等差数列の一般項

等差数列$\{ a_n \}$の一般項を$a_n = a_0 + nd$とおく。$a_{1000}=-256, a_{3000}=1024$より下記が成立する。
$$
\large
\begin{align}
a_{1000} &= a_{0} + 1000d = -256 \\
a_{3000} &= a_{0} + 3000d = 1024
\end{align}
$$

上記より$d=0.64, a_0=-896$が得られるので$a_{2000}$は下記のように計算できる。
$$
\large
\begin{align}
a_{2000} &= a_{0} + 2000d \\
&= -896 + 2000 \cdot 0.64 \\
&= 1280 – 896 = 384
\end{align}
$$

問題$11 \,$ 指数法則

下記のように計算できる。
$$
\large
\begin{align}
2^{\frac{1}{6}} \times 4^{\frac{1}{6}} \times 8^{\frac{1}{6}} &= 2^{\frac{1}{6}} \times 2^{\frac{2}{6}} \times 2^{\frac{3}{6}} \\
&= 2^{\frac{1+2+3}{6}} \\
&= 2^1 = 2
\end{align}
$$

問題$12 \,$ 判別式と二次方程式の解

$x^2 – 4kx – k + 5 = 0$の判別式$D$に関して$D<0$が成立すれば良い。
$$
\large
\begin{align}
\frac{D}{4} &= (2k)^{2} – (-k+5) < 0 \\
4k^2 + k – 5 & < 0 \\
(4k+5)(k-1) & < 0
\end{align}
$$

上記より$\displaystyle -\frac{5}{4} < k < 1$が得られる。

問題$13 \,$ 空間ベクトルの成分表示

$\overrightarrow{OA}, \overrightarrow{OB}$はそれぞれ下記のように表すことができる。
$$
\large
\begin{align}
\overrightarrow{OA} &= \left( \begin{array}{c} -1 \\ 4 \\ -2 \end{array} \right) \\
\overrightarrow{OB} &= \left( \begin{array}{c} -3 \\ -3 \\ 1 \end{array} \right)
\end{align}
$$

このとき$\overrightarrow{OB} – \overrightarrow{OA}$は下記のように計算できる。
$$
\large
\begin{align}
\overrightarrow{OB} – \overrightarrow{OA} &= \left( \begin{array}{c} -3 \\ -3 \\ 1 \end{array} \right) – \left( \begin{array}{c} -1 \\ 4 \\ -2 \end{array} \right) \\
&= \left( \begin{array}{c} -2 \\ -7 \\ 3 \end{array} \right)
\end{align}
$$

問題$14 \,$ 多項式関数の定積分

下記のように計算を行うことができる。
$$
\large
\begin{align}
\int_{1}^{2} (6x^2 – 6x + 6) dx &= \left[ 2x^3 – 3x^2 + 6x \right]_{1}^{2} \\
&= (16 – 12 + 12) – (2 – 3 + 6) \\
&= 11
\end{align}
$$

問題$15 \,$ 多項式関数の除算

$2x^3 – 4x + 3$は下記のように表すことができる。
$$
\large
\begin{align}
2x^3 – 4x + 3 = (x+2)(2x^2-4x+4) – 5
\end{align}
$$

上記より商は$2x^2-4x+4$、余りは$-5$である。

$2$次:数理技能検定

問題$1 \,$

問題$2 \,$ 組み合わせと確率

${}_{9} C_{k}$が最大になる$k$が正答率を最小にするので、$k=4, 5$が該当する。

問題$3 \,$ 二項係数とΣの公式

${}_{2} C_{2} + \cdots {}_{n} C_{2}$は下記のように計算できる。
$$
\large
\begin{align}
{}_{2} C_{2} + \cdots {}_{n} C_{2} &= \sum_{k=1}^{n-1} {}_{k+1} C_{2} \\
&= \sum_{k=1}^{n-1} \frac{k(k-1)}{2} \\
&= \frac{1}{2} \sum_{k=1}^{n-1} (k^2 – k) \\
&= \frac{1}{2} \left( \frac{1}{6}(n-1)(n-1+1)(2(n-1)+1) – \frac{1}{2}(n-1)(n-1+1) \right) \\
&= \frac{1}{2} \left( \frac{1}{6}n(n-1)(2n-1) – \frac{1}{2}n(n-1) \right) \\
&= \frac{1}{12} n(n-1)(2n-1-1) \\
&= \frac{1}{6}n(n-1)(n+1)
\end{align}
$$

問題$4 \,$ 三角関数の加法定理

$\sin{2011^{\circ}}$は加法定理などを用いることで下記のように計算できる。
$$
\large
\begin{align}
\sin{2011^{\circ}} &= \sin{(5 \times 360^{\circ} + 211^{\circ})} \\
&= \sin{211^{\circ}} \\
&= \sin{(210^{\circ}+1^{\circ})} \\
&= \sin{210^{\circ}} \cos{1^{\circ}} + \cos{210^{\circ}} \sin{1^{\circ}} \\
&= -\frac{1}{2} \cdot 0.9998 – \frac{\sqrt{3}}{2} \cdot 0.0175 \\
&= -0.515055
\end{align}
$$

・参考
加法定理の公式は下図などを元に抑えておくと良い。

問題$5 \,$ 整数と魔法陣

魔法陣の数字を下記のように$x_1$〜$x_9$を用いて表す。
$$
\large
\begin{align}
\begin{array}{cc} x_1 & x_2 & x_3 \\ x_4 & x_5 & x_6 \\ x_7 & x_8 & x_9 \end{array}
\end{align}
$$

$[1]$
$$
\large
\begin{align}
& x_1 + x_2 + x_3 = x_4 + x_5 + x_6 = x_7 + x_8 + x_9 \\
& x_1 + x_2 + x_3 + x_4 + x_5 + x_6 + x_7 + x_8 + x_9 = 45
\end{align}
$$

上記より、$x_1 + x_2 + x_3 = x_4 + x_5 + x_6 = x_7 + x_8 + x_9 = 15$が得られる。よって魔法陣が成立する場合、数の和は$15$である。

$[2]$
$[1]$より下記が成立する。
$$
\large
\begin{align}
x_1 + x_5 + x_9 = x_3 + x_5 + x_7 = x_2 + x_5 + x_8 = x_4 + x_5 + x_6 = 15
\end{align}
$$

よって下記が得られる。
$$
\large
\begin{align}
(x_1 + x_5 + x_9) + (x_3 + x_5 + x_7) + (x_2 + x_5 + x_8) + (x_4 + x_5 + x_6) &= 60 \\
\sum_{k=1}^{9} x_k + 3x_5 &= 60 \\
45 + 3x_5 &= 60 \\
3x_5 &= 15 \\
x_5 &= 5
\end{align}
$$

上記より$x_5=5$である。

問題$6 \,$ 三角形の相似と$2$次方程式の解の公式・判別式

$[1]$
$BD:AD=AD:CD$が成立するが、$BD, AD, CD$はそれぞれ下記のように表せる。
$$
\large
\begin{align}
BD &= b-x \\
AD &= a \\
CD &= x
\end{align}
$$

よって下記が成立する。
$$
\large
\begin{align}
BD:AD &= AD:CD \\
(b-x):a &= a:x \\
a^2 &= x(b-x) \\
a^2 &= bx – x^2 \\
x^2 – bx + a^2 &= 0
\end{align}
$$

上記より$2$次方程式$x^2 – bx + a^2 = 0$が得られる。

$[2]$
$[1]$で得られた$2$次方程式$x^2 – bx + a^2 = 0$が実数解を持つことから方程式の判別式$D$について$D \geq 0$が成立する。よって下記が成立する。
$$
\large
\begin{align}
D = b^2 – 4 a^2 & \geq 0 \\
b^2 & \geq 4a^2
\end{align}
$$

ここで$a>0, b>0$より$b \geq 2a$が成立する。

$[3]$
$2$次方程式$x^2 – bx + a^2 = 0$は公式より下記のように得られる。
$$
\large
\begin{align}
x = \frac{b \pm \sqrt{b^2-4a^2}}{2}
\end{align}
$$

ここで$BD \geq CD, BD+CD=BC=b$より、$BD$と$CD$はそれぞれ下記のように表すことができる。
$$
\large
\begin{align}
BD &= \frac{b + \sqrt{b^2-4a^2}}{2} \\
CD &= \frac{b – \sqrt{b^2-4a^2}}{2}
\end{align}
$$

問題$7 \,$ 対数関数に基づく関数の最小値・最大値

$[1]$
$1 \leq x \leq 8$のとき$\log_{2}{1} \leq t \leq \log_{2}{8}$であるので$t$の変域は$0 \leq t \leq 3$である。

$[2]$
$y = (\log_{2}{x})^{3} – 3(\log_{2}{x})^{2} + 1$は$t$を用いて下記のように表せる。
$$
\large
\begin{align}
(\log_{2}{x})^{3} – 3(\log_{2}{x})^{2} + 1 = t^3 – 3t^2 + 1
\end{align}
$$

ここで$f(t) = t^3 – 3t^2 + 1$とおくと、$f'(t) = 3t^2-6t = 3t(t-2)$より、$0 \leq t \leq 3$における増減表は下記のようにかける。
$$
\large
\begin{array}{|c|*5{c|}}\hline x & 0 & \cdots & 2 & \cdots & 3 \\
\hline f'(x) & & – & 0 & + & \\
\hline f(x) & 1 & \searrow & -3 & \nearrow & 1 \\
\hline
\end{array}
$$

上記より$\log_{2}{x}=0,3$すなわち$x=1,8$のとき最小値、$\log_{2}{x}=2$すなわち$x=4$のとき最大値をとる。

Ch.10 「統計的仮説検定の考え方」の章末問題の解答例 〜数理統計学(共立出版)〜

当記事は「数理統計学(共立出版)」の読解サポートにあたってChapter.$10$の「統計的仮説検定の考え方」の章末問題の解答の作成を行いました。
基本的には書籍の購入者向けの解説なので、まだ入手されていない方は購入の上ご確認ください。また、解説はあくまでサイト運営者が独自に作成したものであり、書籍の公式ページではないことにご注意ください。

・解答まとめ
https://www.hello-statisticians.com/answer_textbook_math_stat#green

章末の演習問題について

問題10.1の解答例

$X_1, \cdots , X_n \sim \mathcal{N}(\mu,\sigma^2)$に関して同時確率密度関数$f(x_1,\cdots,x_n; \mu,\sigma^2)$は下記のように表すことができる。
$$
\large
\begin{align}
f(x_1,\cdots,x_n; \mu,\sigma^2) &= \prod_{i=1}^{n} f(x_i; \mu,\sigma^2) \\
&= \prod_{i=1}^{n} \frac{1}{\sqrt{2 \pi \sigma^2}} \exp{\left[ -\frac{(x-\mu)^2}{2 \sigma^2} \right]} \\
&= \prod_{i=1}^{n} \exp{\left[ -\frac{(x-\mu)^2}{2 \sigma^2} – \frac{1}{2}\log{(2 \pi \sigma^2)} \right]} \\
&= \prod_{i=1}^{n} h(x_i) \exp{ \left[ \frac{x_i}{\sigma^2}\mu + g(\mu) \right] } \\
&= \exp{ \left[ \sum_{i=1}^{n} \left( \frac{x_i}{\sigma^2}\mu + g(\mu) \right) \right] } \prod_{i=1}^{n} h(x_i) \\
&= \exp{ \left[ \frac{\mu}{\sigma^2} \sum_{i=1}^{n} x_i + n g(\mu) \right] } \prod_{i=1}^{n} h(x_i) \\
&= \exp{ \left[ \bar{x} \frac{n \mu}{\sigma^2} + n g(\mu) \right] } \prod_{i=1}^{n} h(x_i)
\end{align}
$$

上記が「指数型分布族の確率密度関数の形式で表される」かつ$\bar{x}$に関して単調増加であるので、尤度関数の$L(\mu)=f(x_1,\cdots,x_n; \mu,\sigma^2)$は標本平均$\bar{x}$について単調尤度比を持つ。
$$
\large
\begin{align}
\left\{\bar{x} \middle| \bar{x} < a \, \mathrm{or} \, b < \bar{x} \right\}
\end{align}
$$

よって上記のように表される検定の「①有意水準が$\alpha$」で「②不偏」の場合を考えれば良い。正規分布に基づく検定が「②不偏」であるには棄却域が左右対称であるので、棄却域が左右対象で「①有意水準が$\alpha$」の場合は下記のように表される。
$$
\large
\begin{align}
\left\{\bar{x} \middle| \frac{\sqrt{n}(\bar{x} – \mu_0)}{\sigma} \leq z_{\alpha/2} \, \mathrm{or} \, z_{\alpha/2} \leq \frac{\sqrt{n}(\bar{x} – \mu_0)}{\sigma} \right\} = \left\{\bar{x} \middle| \frac{\sqrt{n}|\bar{x} – \mu_0|}{\sigma} \geq z_{\alpha/2} \right\}
\end{align}
$$

「不偏」の定義に関連する正規分布の検出関数は下記などで取り扱った。

まとめ

指数分布における両側検定の検出力関数とニュートン法を用いた棄却域の数値計算

数理統計学の検定論で出てくる検出力関数(power function)は一様最強力検定や一様最強力検定の理解にあたって重要な概念です。当記事では指数分布の両側検定の検出力関数を示し、$95$%両側検定における棄却域について多次元ニュートン法を用いて数値計算を行いました。
「数理統計学 統計的推論の基礎(共立出版)」の$10$章の「統計的仮説検定の考え方」の例$10.8$を主に参考に、作成を行いました。

・参考:正規分布の母平均の片側検定・両側検定における検出力関数の描画
https://www.hello-statisticians.com/explain-terms-cat/power_function1.html

指数分布の両側検定の検出力関数

指数分布の確率密度関数

$X \sim \mathrm{Ex}(\lambda)$のとき、確率密度関数を$f(x; \lambda)$とおくと$f(x; \lambda)$は下記のように表される。
$$
\large
\begin{align}
f(x; \lambda) = \lambda e^{-\lambda x}, \, \lambda > 0
\end{align}
$$

指数分布に関しては詳しくは下記などで取り扱った。

両側検定の検出力関数

統計的仮説検定に用いるパラメータ空間$\Theta$を定義するとき、$\theta \in \Theta$の棄却域$C$に関する検出力関数を確率密度関数$f(x; \theta)$を用いて下記のように定める。
$$
\large
\begin{align}
1-\beta(C,\theta) = \int_{C} f(x; \theta) dx
\end{align}
$$

仮説検定では$\Theta$を帰無仮説に対応する$\Theta_0$と対立仮説に対応する$\Theta_1$に分割するので、$\Theta = \Theta_0 \cup \Theta_1$かつ$\phi = \Theta_0 \cap \Theta_1$が成立することも抑えておくと良い。検出力関数に関しては下記で詳しく取りまとめた。

指数分布における両側検定

$X \sim \mathrm{Ex}(\lambda)$のとき、下記のような仮説検定を定義する。
$$
\large
\begin{align}
H_0: \, \lambda = 1 \\
H_1: \, \lambda \neq 1
\end{align}
$$

以下、上記に関して有意水準$\alpha=0.05$の不偏検定の構築を行う。具体的には下記のように定める棄却域$C$の$c_1, c_2$の計算を行う。
$$
\large
\begin{align}
C = (0,c_1) \cup (c_2,\infty)
\end{align}
$$

このとき、検出力関数$1-\beta(C,\lambda)$は下記のように表せる。
$$
\large
\begin{align}
1-\beta(C,\mu) &= \int_{C} f(x; \lambda) dx \\
&= \int_{0}^{c_1} \lambda e^{-\lambda x} dx + \int_{c_2}^{\infty} \lambda e^{-\lambda x} dx \\
&= \left[ -e^{-\lambda x} \right]_{0}^{c_1} + \left[ -e^{-\lambda x} \right]_{c_2}^{\infty} \\
&= -(e^{-c_1 \lambda} – 1) – (0 – e^{-c_2 \lambda}) \\
&= 1 – \exp{(-c_1 \lambda)} + \exp{(-c_2 \lambda)}
\end{align}
$$

ここで$\alpha=0.05$の不偏検定では$\alpha=1-\beta(C,1)=0.05$であるので下記が成立する。
$$
\large
\begin{align}
1-\beta(C,1) = 1 – \exp{(-c_1)} + \exp{(-c_2)} = 0.05 \quad (1)
\end{align}
$$

また、有意水準$\alpha=0.05$の不偏検定であれば検出力関数は$H_0: \, \lambda = 1$より$\lambda=1$で極小値を取るので下記が成立する。
$$
\large
\begin{align}
\frac{d(1-\beta(C,\lambda))}{d \lambda} &= c_1 \exp{(-c_1 \lambda)} – c_2 \exp{(-c_2 \lambda)} \\
\frac{d(1-\beta(C,\lambda))}{d \lambda} \Bigr|_{\lambda=1} &= c_1 \exp{(-c_1)} – c_2 \exp{(-c_2)} = 0 \quad (2)
\end{align}
$$

$(1), (2)$の連立方程式より棄却域に対応する$c_1, c_2$を得ることができる。この連立方程式を解析的に解くことは難しいので、次節では多次元ニュートン法を用いて計算を行う。

棄却域の数値計算

多次元ニュートン法

$$
\large
\begin{align}
\left(\begin{array}{c} x_1^{(n+1)} \\ x_2^{(n+1)} \end{array} \right) &= \left(\begin{array}{c} x_1^{(n)} \\ x_2^{(n)} \end{array} \right) – J(x_1^{(n)},x_2^{(n)})^{-1} \left(\begin{array}{c} f_1(x_1^{(n)},x_2^{(n)}) \\ f_2(x_1^{(n)},x_2^{(n)}) \end{array} \right) \\
J(x_1^{(n)},x_2^{(n)}) &= \left(\begin{array}{cc} \displaystyle \frac{\partial f_1}{\partial x_1} & \displaystyle \frac{\partial f_1}{\partial x_2} \\ \displaystyle \frac{\partial f_2}{\partial x_1} & \displaystyle \frac{\partial f_2}{\partial x_2} \end{array} \middle) \right|_{x_1=x_1^{(n)},x_2=x_2^{(n)}}
\end{align}
$$

二次元のニュートン法は上記のように表すことができる。多次元に拡張する際も同様に考えれば良い。導出は下記で取り扱った。

多次元ニュートン法による棄却域の計算

$$
\large
\begin{align}
\left(\begin{array}{c} f_1(c_1,c_2) \\ f_2(c_1,c_2) \end{array} \right) = \left(\begin{array}{c} 0.95 – \exp(-c_1) + \exp(-c_2) \\ c_1\exp(-c_1) – c_2\exp(-c_2) \end{array} \right) = \left(\begin{array}{c} 0 \\ 0 \end{array} \right)
\end{align}
$$

上記に対し、ヤコビ行列$J(x_1,x_2)$は下記のように計算できる。
$$
\large
\begin{align}
J(c_1,c_2) &= \left(\begin{array}{cc} \displaystyle \frac{\partial f_1}{\partial c_1} & \displaystyle \frac{\partial f_1}{\partial c_2} \\ \displaystyle \frac{\partial f_2}{\partial c_1} & \displaystyle \frac{\partial f_2}{\partial c_2} \end{array} \right) \\
&= \left(\begin{array}{cc} \exp{(-c_1)} & -\exp{(-x_2)} \\ (1-c_1)\exp{(-c_1)} & -(1-c_2)\exp{(-c_2)} \end{array} \right)
\end{align}
$$

上記の連立方程式の解は$(3)$式を元に下記のように計算を行うことができる。

import numpy as np

def calc_f1(c_1, c_2):
    return 0.95 - np.exp(-c_1) + np.exp(-c_2)

def calc_f2(c_1, c_2):
    return c_1*np.exp(-c_1) - c_2*np.exp(-c_2)

c = np.array([[0.7],[1.5]])

for i in range(10):
    J = np.array([[np.exp(-c[0,0]), -np.exp(-c[1,0])], [(1.-c[0,0])*np.exp(-c[0,0]), (c[1,0]-1.)*np.exp(-c[1,0])]])
    c = c - np.linalg.solve(J, np.array([[calc_f1(c[0,0],c[1,0])], [calc_f2(c[0,0],c[1,0])]]))

print(c)

・実行結果

print(calc_f1(0.04236333, 4.76516825))
print(calc_f2(0.04236333, 4.76516825))

上記の結果が適切であることは、下記を実行することで確認することができる。

print(calc_f1(0.04236333, 4.76516825))
print(calc_f2(0.04236333, 4.76516825))

・実行結果

-3.30993582195e-09
-3.0646387858e-09

数学検定2級 解説 〜公式問題集 解説&解答 Ch.1「指数関数・対数関数」〜

数学検定$2$級は数ⅡBまで相当の数学の基本トピックに関して取り扱った検定であり、統計学に必要な数学を身につける際の指標に役に立ちます。当記事では「日本数学検定協会 監修」の「数学検定問題集 $2$級」より、第$1$章の「指数関数・対数関数」の解説と演習問題の解答例などを取り扱いました。

・数学検定$2$級まとめ
https://www.hello-statisticians.com/math_certificate_2

本章のまとめ

指数関数

対数関数

演習

計算技能問題

問題.$1$

$[1]$
$$
\large
\begin{align}
\sqrt[3]{5} \div (\sqrt[4]{5})^2 \times \sqrt[3]{5^4} &= 5^{\frac{1}{3}} \times 5^{-\frac{1}{2}} \times 5^{\frac{4}{3}} \\
&= 5^{\frac{1}{3} -\frac{1}{2} + \frac{4}{3}} \\
&= 5^{\frac{7}{6}} = 5 \sqrt[6]{5}
\end{align}
$$

$[2]$
$$
\large
\begin{align}
(9^{\frac{2}{3}} \times 3^{-2})^{\frac{3}{2}} &= (3^{\frac{4}{3}} \times 3^{-2})^{\frac{3}{2}} \\
&= (3^{-\frac{2}{3}})^{\frac{3}{2}} \\
&= 3^{-1} = \frac{1}{3}
\end{align}
$$

$[3]$
$$
\large
\begin{align}
(4^{\frac{1}{4}} + 4^{-\frac{1}{4}})(4^{\frac{1}{4}} – 4^{-\frac{1}{4}}) &= (2^{\frac{1}{2}} + 2^{-\frac{1}{2}})(2^{\frac{1}{2}} – 2^{-\frac{1}{2}}) \\
&= 2^{1} – 2^{-1} = \frac{3}{2}
\end{align}
$$

$[4]$
$$
\large
\begin{align}
\log_{3}{8} \log_{4}{9} &= 3 \log_{3}{2} \times \frac{\log_{3}{9}}{\log_{3}{4}} \\
&= 3 \cancel{\log_{3}{2}} \times \frac{\cancel{2}}{\cancel{2} \cancel{\log_{3}{2}}} \\
&= 3
\end{align}
$$

$[5]$
$$
\large
\begin{align}
\log_{2}{48} – \log_{4}{36} &= \log_{2}{48} – \frac{\log_{2}{36}}{\log_{2}{4}} \\
&= \log_{2}{48} – \log_{2}{\sqrt{36}} \\
&= \log_{2}{48} – \log_{2}{6} \\
&= \log_{2}{\frac{48}{6}} \\
&= \log_{2}{8} = 3
\end{align}
$$

$[6]$
$$
\large
\begin{align}
(\log_{6}{4}+\log_{6}{9})^{2} &= (\log_{6}{36})^{2} \\
&= 2^2 = 4
\end{align}
$$

問題.$2$

$[1]$
$\sqrt{2}, \sqrt[3]{2}, \sqrt[5]{4}, \sqrt[9]{16}$はそれぞれ下記のように表すことができる。
$$
\large
\begin{align}
\sqrt{2} &= 2^{\frac{1}{2}} \\
\sqrt[3]{2} &= 2^{\frac{1}{3}} \\
\sqrt[5]{4} &= 2^{\frac{2}{5}} \\
\sqrt[9]{16} &= 2^{\frac{4}{9}}
\end{align}
$$

ここで$\displaystyle \frac{1}{3} < \frac{2}{5} < \frac{4}{9} < \frac{1}{2}$より、$\sqrt[3]{2} < \sqrt[5]{4} < \sqrt[9]{16} < \sqrt{2}$である。

$[2]$
$\displaystyle \log_{4}{7}, \frac{3}{2}$はそれぞれ下記のように表すことができる。
$$
\large
\begin{align}
\log_{4}{7} &= \frac{\log_{2}{7}}{\log_{2}{4}} \\
&= \frac{1}{2} \log_{2}{7} \\
&= \log_{2}{\sqrt{7}} \\
\frac{3}{2} &= \log_{2}{2^{\frac{3}{2}}} \\
&= \log_{2}{2 \sqrt{2}}
\end{align}
$$

ここで$\displaystyle \sqrt{7} < 2 \sqrt{2} < 3$より、$\displaystyle \log_{4}{7} < \frac{3}{2} < \log_{2}{3}$である。

問題.$3$

$[1]$
$4^{3x-1}=(\sqrt{2})^{x}$は下記のように変形できる。
$$
\large
\begin{align}
4^{3x-1} &= (\sqrt{2})^{x} \\
2^{2(3x-1)} &= 2^{\frac{x}{2}}
\end{align}
$$

上記より$x$は下記のように得られる。
$$
\large
\begin{align}
2(3x-1) &= \frac{x}{2} \\
\frac{11}{2} x &= 2 \\
x &= \frac{4}{11}
\end{align}
$$

$[2]$
$$
\large
\begin{align}
2^{2x} – 6 \cdot 2^{x+1} + 32 &= 0 \\
(2^{x} – 4)(2^{x} – 8) &= 0 \\
2^{x} &= 4, 8
\end{align}
$$

上記より$x=2,3$である。

$[3]$
$$
\large
\begin{align}
\left( \frac{1}{4} \right)^{x} & \geq \left( \frac{1}{8} \right) \\
\left( \frac{1}{2} \right)^{2x} & \geq \left( \frac{1}{2} \right)^{3}
\end{align}
$$

上記より$2x \leq 3$であるので、$\displaystyle x \leq \frac{3}{2}$が得られる。

$[4]$
$$
\large
\begin{align}
2^{2x} – 2^{x+3} & \geq 0 \\
2^{2x} & \geq 2^{x+3}
\end{align}
$$

上記より$2x \geq x+3$であるので$x \geq 3$が得られる。

問題.$4$

$[1]$
$$
\large
\begin{align}
\log_{3}{(2x-1)} &= 2 \\
\log_{3}{(2x-1)} &= \log_{3}{3^2}
\end{align}
$$

上記より$2x-1=3^2$であるので、下記が得られる。
$$
\large
\begin{align}
2x-1 &= 3^2 \\
2x &= 10 \\
x &= 5
\end{align}
$$

$[2]$
$$
\large
\begin{align}
(\log_{5}{x})^2 – 3 \log_{5}{x} + 2 &= 0 \\
(\log_{5}{x} – 1)(\log_{5}{x} – 2) &= 0 \\
\log_{5}{x} &= 1, 2
\end{align}
$$

上記より$x=5,25$が得られる。

$[3]$
$$
\large
\begin{align}
\log_{2}{x} + \log_{2}{(x-1)} & \leq 1 \\
\log_{2}{(x^2-x)} & \leq \log_{2}{2}
\end{align}
$$

上記より$x^2-x \leq 2$が必要条件であるので、下記が得られる。
$$
\large
\begin{align}
x^2-x & \leq 2 \\
(x+1)(x-2) & \leq 0 \\
-1 \leq & x \leq 2
\end{align}
$$

ここで対数関数の定義域に関して$x>0, x-1>0$より、$x>1$であるから、$1 < x \leq 2$が得られる。

問題.$5$

$[1]$
$\log_{10}{6^{20}}$は下記のように表すことができる。
$$
\large
\begin{align}
\log_{10}{6^{20}} &= 20 \log_{10}{6} \\
&= 20 (\log_{10}{2} + \log_{10}{3}) \\
&= 20 \times (0.301 + 0.4771) = 15.562
\end{align}
$$

上記より$10^{15} < 10^{\log_{10}{6^{20}}} < 10^{16}$であり、$6^{20} = 10^{\log_{10}{6^{20}}}$であるので$6^{20}$は16桁の数である。

$[2]$
$\displaystyle \log_{10}{\left( \frac{1}{2} \right)^{20}}$は下記のように表すことができる。
$$
\large
\begin{align}
\log_{10}{\left( \frac{1}{2} \right)^{20}} &= \log_{10}{2^{-20}} \\
&= -20 \log_{2}{10} \\
&= -20 \times 0.301 = -6.02
\end{align}
$$

上記より$\displaystyle 10^{-7} < 10^{\log_{10}{\left( \frac{1}{2} \right)^{20}}} < 10^{-6}$であり、$\displaystyle \left( \frac{1}{2} \right)^{20} = 10^{\log_{10}{\left( \frac{1}{2} \right)^{20}}}$であるので最初に$0$ではない数字が現れるのは少数第$7$位である。

問題.$6$

$t = 2^x + 2^{-x}$より$t^2$は下記のように計算できる。
$$
\large
\begin{align}
t^2 &= (2^x + 2^{-x})^2 \\
&= 2^{2x} + 2^{-2x} + 2 \cdot \cancel{2^x} \cdot \cancel{2^{-x}} \\
&= 2^{2x} + 2^{-2x} + 2
\end{align}
$$

このとき$y=2^{2x}+2^{x}+2^{-x}+2^{-2x}$は下記のように表すことができる。
$$
\large
\begin{align}
y &= 2^{2x} + 2^{x} + 2^{-x} + 2^{-2x} \\
&= (2^{2x} + 2^{x} + 2) + (2^{-x} + 2^{-2x}) – 2 \\
&= t^2 + t -2
\end{align}
$$

数理技能問題

問題.$1$

問題.$2$

$\displaystyle \frac{f(x)+f(y)}{2} – f \left( \frac{x+y}{2} \right)$は下記のように変形できる。
$$
\large
\begin{align}
\frac{f(x)+f(y)}{2} – f \left( \frac{x+y}{2} \right) &= \frac{3^{x}+3^{y}}{2} – 3^{\frac{x+y}{2}} \\
&= \frac{1}{2} (3^{x} + 3^{y} – 2 \cdot 3^{\frac{x}{2}} \cdot 3^{\frac{y}{2}}) \\
&= \frac{1}{2}(3^{\frac{x}{2}}-3^{\frac{y}{2}})^{2} \geq 0
\end{align}
$$

上記より下記の不等式が成立する。
$$
\large
\begin{align}
\frac{f(x)+f(y)}{2} \geq f \left( \frac{x+y}{2} \right)
\end{align}
$$

問題.$3$

$y=4^x-2^{x+1}-1$は下記のように変形できる。
$$
\large
\begin{align}
y &= 4^x – 2^{x+1} – 1 \\
&= (2^{x})^2 – 2 \cdot 2^{x} – 1 \\
&= (2^{x}-1)^2 -2
\end{align}
$$

$2^{x}$を変数と見るとき指数関数の定義より定義域は$2^x>0$である。よって$2^x=1, x=0$のとき$y$は最小値$-2$をとる。

問題.$4$

$x=\log_{a}{M}, y=\log_{a}{N}$とおくと対数の定義より下記が成立する。
$$
\large
\begin{align}
a^{x} &= M \\
a^{y} &= N
\end{align}
$$

ここで$MN$について下記が成立する。
$$
\large
\begin{align}
MN &= a^{x} a^{y} \\
&= a^{x+y}
\end{align}
$$

上記に対数の定義を適用すると下記が成立することが確認できる。
$$
\large
\begin{align}
\log_{a}{MN} &= x + y \\
&= \log_{a}{M} + \log_{a}{N}
\end{align}
$$

問題.$5$

$2^5 < 50 < 2^6$より$n=5$である。

問題.$6$

$\log_{10}{5^{n}}$は下記のように表せる。
$$
\large
\begin{align}
\log_{10}{5^{n}} &= n \log_{10}{5} \\
&= n \log_{10}{\frac{10}{2}} \\
&= n(\log_{10}{10} – \log_{10}{2}) \\
&= n(1 – 0.301) \\
&= 0.699 n
\end{align}
$$

ここで$5^{n}$が$15$桁の数字であるので、$14 \leq 0.699n < 15$が成立すれば良い。$\displaystyle \frac{14}{0.699} = 20.028 \cdots, \frac{15}{0.699} = 21.459 \cdots$であるので、$n=21$である。

問題.$7$

$47^{100}$が$168$桁の数であるから下記が成立する。
$$
\large
\begin{align}
167 \leq & \log_{10}{47^{100}} < 168 \\
167 \leq & 100 \log_{10}{47} < 168 \\
1.67 \leq & \log_{10}{47} < 1.68
\end{align}
$$

上記より$47^{17}$に関して下記が成立する。
$$
\large
\begin{align}
1.67 \leq & \log_{10}{47} < 1.68 \\
17 \times 1.67 \leq & 17 \log_{10}{47} < 17 \times 1.68 \\
28.39 \leq & \log_{10}{47^{17}} < 28.56
\end{align}
$$

上記より$47^{17}$は$29$桁の数である。

問題.$8$

$n$年後に$2$倍になるとおくと、下記が成立する。
$$
\large
\begin{align}
1.08^{n} & \geq 2 \\
n \log_{10}{\frac{108}{100}} & \geq \log_{10}{2} \\
n(\log_{10}{108} – \log_{10}{100}) & \geq \log_{10}{2} \\
n(\log_{10}{(2^2 \times 3^3)} – \log_{10}{10^2}) & \geq \log_{10}{2} \\
n & \geq \frac{\log_{10}{2}}{\log_{10}{2^2 \times 3^3} – \log_{10}{10^2})} \\
n & \geq 9.039 \cdots
\end{align}
$$

よって、元金が$2$倍になるのは$10$年後である。