対数目盛と片対数グラフ

同義語:logarithmic scales and semi-log graphs片対数グラフ両対数グラフ対数目盛

概要

対数目盛と片対数グラフ(logarithmic scales and semi-log graphs)とは、正の数 $y$ を位置 $\log_{10}y$ に書く目盛(対数目盛)と、それを縦軸に使う片対数グラフ、縦軸と横軸の両方に使う両対数グラフのことである。対数目盛では、比が等しい 2 数は同じ間隔で並ぶ。$C>0$、$a>0$ のとき $y=Ca^x$ は片対数グラフで傾き $\log_{10}a$ の直線になり、$y=Cx^p$($x>0$)は両対数グラフで傾き $p$ の直線になる。逆に、正の値の関数のグラフが片対数・両対数で直線になれば、指数関数・冪関数で表せる。等間隔の $x$ でのデータが片対数で一直線に並ぶことは、値が等比数列であることと同値である。惑星の軌道の長半径と公転周期は、両対数グラフで傾きほぼ $3/2$ の直線に並ぶ。

$$\newcommand{C}[0]{\mathbb{C}} \newcommand{div}[0]{\mathbin{÷}} \newcommand{N}[0]{\mathbb{N}} \newcommand{Q}[0]{\mathbb{Q}} \newcommand{R}[0]{\mathbb{R}} \newcommand{Z}[0]{\mathbb{Z}} $$

前提知識: 指数関数・対数関数のグラフと逆関数, 常用対数と桁数

高校での出発点:3 倍ずつ増える量を描く

1 時間ごとに 3 倍に増える細菌の数を、ふつうのグラフ用紙に描いてみる。最初の数時間の点は横軸にはりついて区別できず、最後の点だけが飛び抜けて高くなる。そこで、縦軸に数そのものではなく常用対数をとってみる。この記事では、そうすると点が一直線に並ぶことと、その理由を述べる。まず 2 つの例で計算する。

3 倍ずつ増える細菌の数

ある細菌の数 $N$ を 1 時間ごとに数えたところ、次のようになったとする(自作の例)。

時間 $t$$0$$1$$2$$3$$4$$5$
$N$$200$$600$$1800$$5400$$16200$$48600$
$\log_{10}N$$2.3010$$2.7782$$3.2553$$3.7324$$4.2095$$4.6866$

$N$ は 1 時間ごとに $3$ 倍になる。つまり $N=200\cdot3^t$ である。常用対数をとると
$$ \log_{10}N=\log_{10}200+t\log_{10}3=2.3010+0.4771\,t $$
なので、$\log_{10}N$ は 1 時間ごとに同じ $0.4771$ ずつ増える。点 $(t,\ \log_{10}N)$ は、傾き $0.4771$ の直線の上に並ぶ。

2 乗に比例する量

$y=3x^2$ の値を $x=1,2,5,10$ で計算し、$x$ と $y$ の両方の常用対数をとる。

$x$$1$$2$$5$$10$
$y=3x^2$$3$$12$$75$$300$
$\log_{10}x$$0$$0.3010$$0.6990$$1$
$\log_{10}y$$0.4771$$1.0792$$1.8751$$2.4771$

$\log_{10}y=\log_{10}3+2\log_{10}x$ なので、点 $(\log_{10}x,\ \log_{10}y)$ は傾き $2$ の直線の上に並ぶ。たとえば $x=1$ から $x=10$ へ進むと、横に $1$、縦に $2.4771-0.4771=2$ 進む。傾き $2$ は、$x^2$ の指数 $2$ である。

この記事で答える問いは次の 4 つである。

  1. 数をどう並べた目盛を「対数目盛」と呼ぶのか。目盛の間隔は何を表すのか。→ def-lsc-log-scale、prop-lsc-ratio
  2. どんな関数が、片対数グラフや両対数グラフで直線になるのか。逆に、直線に並んだデータから何が分かるのか。→ thm-lsc-main、cor-lsc-read
  3. 実際のデータ(惑星の公転)で、これはどう使われるのか。→ ex-lsc-kepler
  4. どんなときに直線にならないのか。→ ex-lsc-cx-shift、ex-lsc-cx-power-semilog
    高校の計算この記事の言葉大学の言葉
    $\log_{10}(ab)=\log_{10}a+\log_{10}b$比が等しい 2 数は同じ間隔(prop-lsc-ratio)掛け算の世界を足し算の世界に移す同型
    $y=Ca^x$ の両辺の対数をとる片対数グラフで直線(thm-lsc-main の 1)指数モデルの線形化
    $y=Cx^p$ の両辺の対数をとる両対数グラフで直線(thm-lsc-main の 2)冪乗則とスケール不変性
    傾きから底・指数を読むcor-lsc-read対数をとってからの回帰

対数目盛

目盛の定義

対数目盛

直線の上に基準の点 $O$ と長さ $\ell>0$ を決め、正の数 $y$ を、$O$ から右へ $\ell\log_{10}y$ だけ進んだ位置に書く($\log_{10}y<0$ なら左へ $\ell\lvert\log_{10}y\rvert$ だけ進む)。このように数を並べた目盛を対数目盛という。$O$ には $1$ が、$O$ から $\ell$ の位置には $10$ が、$2\ell$ の位置には $100$ が書かれる。$1$ から $10$ まで、$10$ から $100$ までのように、書かれた数が $10$ 倍になるひと区切りを、この記事では 1 桁分 と呼ぶ。

常用対数と桁数 では、$1$ から $10$ までの 1 桁分の対数目盛を使って、最高位の数字を読んだ。ここでは何桁分も続けた目盛を、グラフの軸として使う。

目盛の位置

1 桁分の長さを $\ell=5$ cm とする。$\log_{10}2=0.3010$、$\log_{10}3=0.4771$、$\log_{10}5=0.6990$、$\log_{10}7=0.8451$ なので、$2,3,5,7$ はそれぞれ $O$ から
$$ 5\times0.3010=1.505,\quad 5\times0.4771=2.3855,\quad 5\times0.6990=3.495,\quad 5\times0.8451=4.2255 $$
cm の位置に来る。$20=2\times10$ は $\log_{10}20=1.3010$ なので $6.505$ cm の位置で、$2$ の位置からちょうど 1 桁分($5$ cm)右にある。$0.5$ は $\log_{10}0.5=-0.3010$ なので $O$ から左へ $1.505$ cm の位置である。

1 から 100 までの対数目盛。上の黒の数 y は、下の灰色の数 log₁₀y の位置に書かれている。1 から 10 までと 10 から 100 までは同じ長さで、同じ形の目盛がくり返す 1 から 100 までの対数目盛。上の黒の数 y は、下の灰色の数 log₁₀y の位置に書かれている。1 から 10 までと 10 から 100 までは同じ長さで、同じ形の目盛がくり返す
図 1 のように、対数目盛では $1$ と $2$ の間が広く、$9$ と $10$ の間が狭い。$10$ から $100$ までは、$1$ から $10$ までと同じ形をくり返す。なぜ同じ形になるかを、次の命題で確かめる。

目盛の間隔は比を表す

対数目盛の間隔

1 桁分の長さが $\ell$ の対数目盛で、正の数 $y_1$ と $y_2$ の書かれた位置の間の(符号つきの)距離は
$$ \ell\log_{10}y_2-\ell\log_{10}y_1=\ell\log_{10}\frac{y_2}{y_1} $$
である。したがって、間隔は比 $\dfrac{y_2}{y_1}$ だけで決まり、比が等しい 2 組の数は、同じ間隔で書かれる。

対数の性質を 1 回使う

方針:位置の差を、常用対数の性質 $\log_{10}(uv)=\log_{10}u+\log_{10}v$ で比の対数に書き直す。
段 1(位置の差)。def-lsc-log-scale により、$y_1$ と $y_2$ の位置は $O$ から $\ell\log_{10}y_1$、$\ell\log_{10}y_2$ だけ進んだ点である。その差は $\ell\log_{10}y_2-\ell\log_{10}y_1$ である。
段 2(比の対数)。$y_2=y_1\cdot\dfrac{y_2}{y_1}$ なので、対数の性質(自然対数については Leb26 Proposition 5.4.1 の (iv)、一般の底については同 Exercise 5.4.2 (d)。常用対数での証明は 常用対数と桁数 にある)により
$$ \log_{10}y_2=\log_{10}y_1+\log_{10}\frac{y_2}{y_1} $$
である。移項して $\ell$ を掛けると、段 1 の差は $\ell\log_{10}\dfrac{y_2}{y_1}$ に等しい。
段 3(比が等しい組)。$\dfrac{y_2}{y_1}=\dfrac{y_4}{y_3}$ なら、段 2 により 2 つの間隔はどちらも $\ell\log_{10}\dfrac{y_2}{y_1}$ で等しい。$\square$

同じ比は同じ間隔

$\ell=5$ cm とする。
(1) $1$ と $2$、$5$ と $10$、$30$ と $60$ は、どれも比が $2$ である。間隔はどれも $5\log_{10}2=1.505$ cm で等しい。
(2) $1$ と $10$、$10$ と $100$ は比が $10$ で、間隔はどちらも $5\log_{10}10=5$ cm、つまり 1 桁分である。
(3) ふつうの目盛では、$1$ と $2$ の間隔(差 $1$)と $30$ と $60$ の間隔(差 $30$)は $30$ 倍違う。対数目盛は「差」ではなく「比」を長さにする目盛である。

片対数グラフと両対数グラフ

定義

片対数グラフと両対数グラフ

(i) 横軸をふつうの目盛、縦軸を対数目盛にしたグラフを片対数グラフという。点 $(x,y)$($y>0$)は、ふつうの座標で $(X,Y)=(x,\ \log_{10}y)$ の位置に描かれる。
(ii) 横軸も縦軸も対数目盛にしたグラフを両対数グラフという。点 $(x,y)$($x>0$、$y>0$)は、ふつうの座標で $(X,Y)=(\log_{10}x,\ \log_{10}y)$ の位置に描かれる。
ここで、1 桁分の長さを座標の $1$ にそろえた。以下、片対数・両対数のグラフの上の「直線」「傾き」は、この $(X,Y)$ の座標で考える。

片対数グラフ用紙・両対数グラフ用紙には、あらかじめ対数目盛が印刷されていて、$y$ の値をそのまま目盛で読んで点を打てば、自動的に $Y=\log_{10}y$ の位置に点が打たれる。自分で対数を計算しなくてよいのが、グラフ用紙の便利なところである。
y = 2 の x 乗(青)と y = x の 2 乗(赤)を、左から普通の目盛、片対数、両対数で描いた図。片対数では青が、両対数では赤が直線になる y = 2 の x 乗(青)と y = x の 2 乗(赤)を、左から普通の目盛、片対数、両対数で描いた図。片対数では青が、両対数では赤が直線になる
図 2 は、同じ 2 つの関数 $y=2^x$ と $y=x^2$ を 3 通りの目盛で描いたものである。ふつうの目盛ではどちらも上に曲がり、$x$ が大きいところで $2^x$ が急に伸びる。片対数グラフでは $y=2^x$ が直線になり、両対数グラフでは $y=x^2$ が直線になる。

主定理:直線になる関数

片対数・両対数グラフで直線になる関数
  1. $C>0$、$a>0$ とする。関数 $y=Ca^x$ のグラフは、片対数グラフで直線
    $$ Y=(\log_{10}a)\,X+\log_{10}C $$
    になる。逆に、$y>0$ の関数のグラフが片対数グラフで直線 $Y=mX+k$ になるなら、$C=10^k$、$a=10^m$ として $y=Ca^x$ である。
  2. $C>0$ とし、$p$ を実数とする。関数 $y=Cx^p$($x>0$)のグラフは、両対数グラフで直線
    $$ Y=pX+\log_{10}C $$
    になる。逆に、$x>0$ で $y>0$ の関数のグラフが両対数グラフで直線 $Y=mX+k$ になるなら、$C=10^k$ として $y=Cx^m$ である。
両辺の常用対数をとり、逆向きは $10$ の冪にもどす

方針:前向きは $y$ の式の両辺の常用対数をとって $X$、$Y$ の式に直す。逆向きは、直線の式 $Y=mX+k$ の両辺を $10$ の指数にして $y$ の式にもどす。使うのは常用対数の性質 $\log_{10}(uv)=\log_{10}u+\log_{10}v$、$\log_{10}u^r=r\log_{10}u$(常用対数と桁数 の基本性質)と、$10^{\log_{10}u}=u$(常用対数の定義)だけである。
段 1(1 の前向き)。$y=Ca^x$ とする。$C>0$、$a^x>0$ なので $y>0$ で、常用対数がとれる。対数の性質により
$$ \log_{10}y=\log_{10}C+\log_{10}a^x=\log_{10}C+x\log_{10}a $$
である。$X=x$、$Y=\log_{10}y$ とおくと $Y=(\log_{10}a)X+\log_{10}C$ で、これは傾き $\log_{10}a$、$Y$ 切片 $\log_{10}C$ の直線の式である。
段 2(1 の逆向き)。片対数グラフの点 $(X,Y)=(x,\log_{10}y)$ がすべて直線 $Y=mX+k$ の上にあるとすると、$\log_{10}y=mx+k$ である。両辺を $10$ の指数にすると、指数法則により
$$ y=10^{\log_{10}y}=10^{mx+k}=10^k\cdot\left(10^m\right)^x $$
である。$C=10^k>0$、$a=10^m>0$ とおけば $y=Ca^x$ である。
段 3(2 の前向き)。$y=Cx^p$、$x>0$ とする。$y>0$ で、対数の性質により
$$ \log_{10}y=\log_{10}C+\log_{10}x^p=\log_{10}C+p\log_{10}x $$
である。$X=\log_{10}x$、$Y=\log_{10}y$ とおくと $Y=pX+\log_{10}C$ である。
段 4(2 の逆向き)。両対数グラフの点がすべて直線 $Y=mX+k$ の上にあるとすると、$\log_{10}y=m\log_{10}x+k$ である。$m\log_{10}x=\log_{10}x^m$ なので、両辺を $10$ の指数にすると
$$ y=10^{k}\cdot10^{\log_{10}x^m}=10^k\,x^m $$
である。$C=10^k$ とおけば $y=Cx^m$ である。$\square$

thm-lsc-main は、グラフの形の言葉で言うと次のとおりである。指数関数 $y=Ca^x$ は「$x$ が $1$ 増えるごとに $y$ が $a$ 倍」になる関数で、片対数グラフでは「横に $1$ 進むごとに縦に $\log_{10}a$ 進む」直線になる。冪関数 $y=Cx^p$ は「$x$ が $10$ 倍になるごとに $y$ が $10^p$ 倍」になる関数で、両対数グラフでは「横に $1$ 桁分進むごとに縦に $p$ 桁分進む」直線になる。どちらも、掛け算の関係が、対数目盛の上で足し算の関係(prop-lsc-ratio)に変わったものである。

関数の形直線になる目盛傾き$X=0$ での $Y$
$y=mx+k$ふつうの目盛$m$$k$
$y=Ca^x$片対数(縦だけ対数)$\log_{10}a$$\log_{10}C$($x=0$ での値 $C$)
$y=Cx^p$両対数$p$$\log_{10}C$($x=1$ での値 $C$)
$y=A\log_{10}x+B$横だけ対数目盛$A$$B$($x=1$ での値)

最後の行は、thm-lsc-main の 1 で $x$ と $y$ の役割を入れ替えたものである。$y=A\log_{10}x+B$ を $x$ について解くと $x=10^{-B/A}\left(10^{1/A}\right)^y$ という指数関数になるからである($A\ne0$)。指数関数と対数関数が互いに逆関数であることは 指数関数・対数関数のグラフと逆関数 で扱った。

傾きから底と指数を読む

2 点から底・指数を読む
  1. $y=Ca^x$ のグラフが 2 点 $(x_1,y_1)$、$(x_2,y_2)$($x_1\ne x_2$)を通るなら
    $$ a=\left(\frac{y_2}{y_1}\right)^{\frac1{x_2-x_1}},\qquad C=\frac{y_1}{a^{x_1}} $$
    である。
  2. $y=Cx^p$ のグラフが 2 点 $(x_1,y_1)$、$(x_2,y_2)$($0< x_1< x_2$)を通るなら
    $$ p=\frac{\log_{10}y_2-\log_{10}y_1}{\log_{10}x_2-\log_{10}x_1}=\frac{\log_{10}\frac{y_2}{y_1}}{\log_{10}\frac{x_2}{x_1}},\qquad C=\frac{y_1}{x_1^p} $$
    である。
直線の傾きを 2 点から求める

方針:thm-lsc-main で直線に直し、直線の傾きを 2 点の座標の差の比で求め、$10$ の冪にもどす。
段 1(1 の傾き)。thm-lsc-main の 1 により、片対数グラフの 2 点 $(x_1,\log_{10}y_1)$、$(x_2,\log_{10}y_2)$ は傾き $\log_{10}a$ の直線の上にある。直線の傾きは 2 点の座標の差の比なので
$$ \log_{10}a=\frac{\log_{10}y_2-\log_{10}y_1}{x_2-x_1}=\frac1{x_2-x_1}\log_{10}\frac{y_2}{y_1}=\log_{10}\left(\frac{y_2}{y_1}\right)^{\frac1{x_2-x_1}} $$
である。2 つ目の等号は prf-lsc-ratio の段 2 と同じ計算、3 つ目は $r\log_{10}u=\log_{10}u^r$ である。常用対数が等しい 2 つの正の数は等しい($u\mapsto\log_{10}u$ は 1 対 1)ので、$a=\left(\dfrac{y_2}{y_1}\right)^{\frac1{x_2-x_1}}$ である。$C$ は $y_1=Ca^{x_1}$ を $C$ について解けばよい。
段 2(2 の傾き)。thm-lsc-main の 2 により、両対数グラフの 2 点 $(\log_{10}x_1,\log_{10}y_1)$、$(\log_{10}x_2,\log_{10}y_2)$ は傾き $p$ の直線の上にある。$x_1< x_2$ なので $\log_{10}x_1<\log_{10}x_2$ で、分母は $0$ でない。傾きを 2 点から求めると 2 の式の 1 つ目の形になり、分子・分母を prop-lsc-ratio の段 2 の計算で比の対数に直すと 2 つ目の形になる。$C$ は $y_1=Cx_1^p$ から求まる。$\square$

細菌の数から増え方を読む

ex-lsc-bacteria のデータのうち、$t=1$ の $600$ と $t=4$ の $16200$ だけを使う。cor-lsc-read の 1 により
$$ a=\left(\frac{16200}{600}\right)^{\frac1{4-1}}=27^{\frac13}=3,\qquad C=\frac{600}{3^1}=200 $$
で、$N=200\cdot3^t$ が読める。片対数グラフでは、横に $3$ 進むと縦に $\log_{10}27=3\log_{10}3$ 進む(図 3)。傾きは $\log_{10}3=0.4771$ である。

細菌の数を片対数グラフに描くと、6 つの点が一直線に並ぶ。t = 1 から t = 4 まで横に 3 進む間に、縦の目盛では 600 から 16200 へ 27 倍になる 細菌の数を片対数グラフに描くと、6 つの点が一直線に並ぶ。t = 1 から t = 4 まで横に 3 進む間に、縦の目盛では 600 から 16200 へ 27 倍になる

冪関数の指数を読む

$y=Cx^p$ のグラフが $(2,12)$ と $(5,75)$ を通るとする(ex-lsc-square の $y=3x^2$ の 2 点)。cor-lsc-read の 2 により
$$ p=\frac{\log_{10}\frac{75}{12}}{\log_{10}\frac52}=\frac{\log_{10}6.25}{\log_{10}2.5}=\frac{2\log_{10}2.5}{\log_{10}2.5}=2,\qquad C=\frac{12}{2^2}=3 $$
である($6.25=2.5^2$ を使った)。

底が $10$ でなくてもよい

def-lsc-log-scale で $\log_{10}$ の代わりに自然対数 $\log$(底 $e$)を使っても、目盛の形は同じである。底の変換公式 $\log_{10}y=\dfrac{\log y}{\log10}$(Leb26 Exercise 5.4.2)により、位置がすべて同じ定数 $\dfrac1{\log10}$ 倍になるだけだからである。ただし傾きの意味は変わる。自然対数で描いた片対数グラフの傾きは $\log a$ で、$a$ は $e^{\text{傾き}}$ で読む。両対数グラフの傾き $p$ は、cor-lsc-read の 2 の式の分子と分母が同じ倍率で変わるので、底によらない。

等間隔のデータで確かめる

実際のデータは有限個の点である。点が片対数グラフで一直線に並ぶかどうかは、次のように比で確かめられる。

等比数列と片対数グラフ

$x_0< x_1<\dots< x_n$ を等間隔($x_{i+1}-x_i=h$ で一定)とし、$y_0,y_1,\dots,y_n$ を正の数とする。点 $(x_i,y_i)$ が片対数グラフで 1 本の直線の上に並ぶことと、$y_0,y_1,\dots,y_n$ が等比数列である(比 $\dfrac{y_{i+1}}{y_i}$ が $i$ によらない)ことは同値である。

隣り合う点の傾きを比べる

方針:点が 1 本の直線に並ぶことを「隣り合う 2 点を結ぶ線分の傾きがすべて等しい」と言いかえ、傾きを比の対数で書く。
段 1(言いかえ)。ふつうの座標の点 $P_0,P_1,\dots,P_n$ が 1 本の直線に並ぶことは、隣り合う 2 点を結ぶ線分 $P_iP_{i+1}$ の傾きがすべて等しいことと同じである(傾きが等しく端点を共有する線分は、同じ直線の上にあるから)。
段 2(傾き)。片対数グラフでは $P_i=(x_i,\log_{10}y_i)$ なので、prop-lsc-ratio の段 2 の計算により、線分 $P_iP_{i+1}$ の傾きは
$$ \frac{\log_{10}y_{i+1}-\log_{10}y_i}{h}=\frac1h\log_{10}\frac{y_{i+1}}{y_i} $$
である。
段 3(結論)。$u\mapsto\log_{10}u$ は 1 対 1 なので、段 2 の傾きがすべて等しいことと、比 $\dfrac{y_{i+1}}{y_i}$ がすべて等しいことは同値である。段 1 と合わせて結論を得る。$\square$

ex-lsc-bacteria では比がすべて $3$ なので、6 つの点は一直線に並ぶ。等差数列がふつうのグラフで直線に並ぶのと同じ関係が、等比数列と片対数グラフの間にある(等比数列そのものは 等差数列と等比数列 で扱う)。

データで使う:惑星の公転周期

両対数グラフのよく知られた使い方として、惑星の公転周期を見る。

惑星の軌道の大きさと公転周期

NASA の惑星の表(NAS25)の、太陽からの距離 $a$($10^6$ km)と公転周期 $T$(日)を使う。表の注によると、この距離は太陽からの平均距離で、軌道の長半径でもある。地球の値を $1$ とする単位(距離は $149.6\times10^6$ km、周期は $365.2$ 日)に直し、常用対数をとる。

惑星$a$($10^6$ km)$T$(日)$a$(地球 $=1$)$T$(年)$\log_{10}a$$\log_{10}T$
水星$57.9$$88.0$$0.387$$0.241$$-0.412$$-0.618$
金星$108.2$$224.7$$0.723$$0.615$$-0.141$$-0.211$
地球$149.6$$365.2$$1$$1$$0$$0$
火星$228.0$$687.0$$1.524$$1.881$$0.183$$0.274$
木星$778.5$$4331$$5.204$$11.86$$0.716$$1.074$
土星$1432.0$$10747$$9.572$$29.43$$0.981$$1.469$
天王星$2867.0$$30589$$19.16$$83.76$$1.282$$1.923$
海王星$4515.0$$59800$$30.18$$163.7$$1.480$$2.214$
  1. 地球と木星の 2 点から、cor-lsc-read の 2 で指数を読むと
    $$ p=\frac{\log_{10}11.86}{\log_{10}5.204}=\frac{1.0741\ldots}{0.7163\ldots}=1.499\ldots $$
    である。水星と海王星の 2 点からは $1.497\ldots$ である。
  2. 8 点すべてに回帰直線(散布図と回帰直線 の最小二乗法)を当てはめると、傾きは $1.498$、$Y$ 切片はほぼ $0$ になる。
  3. 傾きがほぼ $\dfrac32$、切片がほぼ $0$ なので、thm-lsc-main の 2 により $T\approx a^{\frac32}$、つまり $T^2\approx a^3$ である。実際 $\dfrac{T^2}{a^3}$ を計算すると、水星 $1.002$、金星 $1.001$、火星 $1.000$、木星 $0.998$、土星 $0.987$、天王星 $0.997$、海王星 $0.975$ で、どれも $1$ に近い。

8 つの惑星の軌道の大きさ a と公転周期 T を両対数グラフに描くと、傾き 3/2 の直線 T = a の 3/2 乗のほぼ上に並ぶ 8 つの惑星の軌道の大きさ a と公転周期 T を両対数グラフに描くと、傾き 3/2 の直線 T = a の 3/2 乗のほぼ上に並ぶ
図 4 のように、8 つの点は両対数グラフでほぼ一直線に並ぶ。ふつうの目盛では、水星から火星までの 4 点は原点の近くに固まり、木星から海王星までとの違いが見えにくい。両対数グラフでは、桁の違う量が同じ幅で並ぶので、全体の関係が一目で分かる。
「公転周期の 2 乗は軌道の長半径の 3 乗に比例する」という法則は Kepler の第 3 法則 と呼ばれる。これは観測から見つかった法則で、のちに Newton の万有引力の法則から導かれた。この記事では物理の法則としての導出はせず、データが両対数グラフで傾き $\frac32$ の直線に並ぶことを確かめるだけにする。表の値は丸められており、周期も春分から次の春分までの時間として定められている(NAS25 の注)ので、$\dfrac{T^2}{a^3}$ はちょうど $1$ にはならない。

例と反例

外す条件反例成り立たなくなること
$y=Ca^x$ の形(定数を足さない)$y=2^x+10$片対数グラフで直線になる
$y>0$$0$ や負の値を含むデータ対数目盛に点が打てる
指数関数であること$y=x^2$ を片対数で見る片対数グラフで直線になる
冪関数であること$y=2^x$ を両対数で見る両対数グラフで直線になる
反例:定数を足した指数関数

$y=2^x+10$ を $x=0,1,2,3$ で計算すると $11,12,14,18$ で、常用対数は $1.0414$、$1.0792$、$1.1461$、$1.2553$ である。隣どうしの差は $0.0378$、$0.0669$、$0.1092$ で等しくない。$x$ は等間隔なので、lem-lsc-geometric により片対数グラフで一直線に並ばない。実際、比 $\dfrac{12}{11}$、$\dfrac{14}{12}$、$\dfrac{18}{14}$ は等しくない。
$x$ が大きくなると $10$ は $2^x$ に比べて無視できるようになり、グラフは $y=2^x$ の直線に近づく(図 5 の橙)。$x$ が小さいところでは $y$ は $10$ に近く、グラフは水平に近い。片対数グラフでデータが「途中から直線になる」ときは、このように一定の量が足されている可能性がある。

反例:$0$ や負の値

対数目盛には正の数しか書かれていない。$\log_{10}0$ や $\log_{10}(-5)$ は定義されないからである。
(1) 細菌の数を数えたとき、ある時刻の数が $0$ だったら、その点は片対数グラフに打てない。$y$ が $0$ に近づくと点は目盛の下へどこまでも下がっていく($\log_{10}y\to-\infty$)。
(2) 気温のように負にもなる量は、そのままでは対数目盛に載らない。「$0$ 度」は量がないことを意味しないので、対数をとる意味もない。

反例:冪関数を片対数で、指数関数を両対数で見る
  1. $y=x^2$ を $x=1,2,3,4$ で計算すると $1,4,9,16$ で、常用対数は $0$、$0.6021$、$0.9542$、$1.2041$ である。隣どうしの差は $0.6021$、$0.3521$、$0.2499$ で減っていくので、片対数グラフでは上に凸に曲がる(図 5 の赤)。比 $4,\ \frac94,\ \frac{16}9$ が一定でないからである。
  2. $y=2^x$ を $x=1,2,4,8$ で両対数グラフに打つと、点は $(0,\ 0.301)$、$(0.301,\ 0.602)$、$(0.602,\ 1.204)$、$(0.903,\ 2.408)$ である。隣どうしを結ぶ線分の傾きは $1$、$2$、$4$ と増えていき、下に凸に曲がる(図 2 の右の青)。

片対数グラフで、y = 2 の x 乗(青)は直線、y = 2 の x 乗 + 10(橙)と y = x の 2 乗(赤)は曲がることを見る図 片対数グラフで、y = 2 の x 乗(青)は直線、y = 2 の x 乗 + 10(橙)と y = x の 2 乗(赤)は曲がることを見る図

大学数学で見る:冪乗則とスケール不変性

両対数グラフで直線に並ぶ関係 $y=Cx^p$ は、冪乗則と呼ばれ、物理・生物・経済などのデータで広く探される。冪関数には、次の性質がある。

冪関数のスケール不変性

$f(x)=Cx^p$($x>0$)とする。どの正の数 $k$ についても
$$ f(kx)=k^pf(x)\qquad(x>0) $$
である。つまり、$x$ の単位を $k$ 倍に取りかえると、$f$ の値はどの $x$ でも同じ $k^p$ 倍になる。

指数法則

方針:$(kx)^p=k^px^p$ を使う。
段 1。正の数 $k$、$x$ について、実数の指数の指数法則により $(kx)^p=k^px^p$ である($\log_{10}$ をとると両辺とも $p\log_{10}k+p\log_{10}x$ になり、常用対数が等しい正の数は等しい)。
段 2。よって $f(kx)=C(kx)^p=k^p\cdot Cx^p=k^pf(x)$ である。$\square$

スケール不変性の例
  1. ex-lsc-kepler の $T=a^{\frac32}$ で、軌道の大きさを $4$ 倍にすると、周期は $4^{\frac32}=8$ 倍になる。これはどの惑星から始めても同じである。
  2. 指数関数 $g(x)=2^x$ では、$g(2x)=4^x$ と $g(x)=2^x$ の比 $2^x$ が $x$ によって変わる。$x$ を $2$ 倍にしたときに値が何倍になるかは、$x$ によって違う。指数関数は、スケール不変性のかわりに、$x$ を「足す」ことに対して $g(x+h)=2^hg(x)$ という性質をもつ。

両対数グラフは prop-lsc-scale を目で見る道具である。$x$ を $k$ 倍することは両対数グラフでは横に $\log_{10}k$ だけずらすことであり、そのとき $y$ が $k^p$ 倍になることは縦に $p\log_{10}k$ だけずらすことである。直線はずらしても同じ直線に重なる。

対数をとってから直線を当てはめることの注意を開く

データ $(x_i,y_i)$ に冪乗則 $y=Cx^p$ を当てはめるとき、よく使うのは、$(\log_{10}x_i,\log_{10}y_i)$ に回帰直線を当てはめる方法である(ex-lsc-kepler の (2))。このとき小さくしているのは、$\log_{10}y_i$ と直線の縦のずれ $\log_{10}y_i-(pX_i+\log_{10}C)=\log_{10}\dfrac{y_i}{Cx_i^p}$($X_i=\log_{10}x_i$)の 2 乗の和で、これは「予測値に対する実際の値の比」の対数である。つまり、この方法は誤差を「何倍ずれたか」で測っている。誤差が「何だけずれたか」(差)で入るデータでは、元の $y$ のまま当てはめた結果と一致しないことがある。

また、両対数グラフでは数桁にわたる広い範囲が縮められて描かれるので、直線からの小さなずれは見えにくい。データが本当に冪乗則に従うかどうかを確かめるには、グラフの見た目だけでなく、統計的な検定などの別の方法が要る。この記事ではこれ以上立ち入らない。

演習

片対数グラフで直線になるか

次のデータが片対数グラフで一直線に並ぶかを判定し、並ぶなら $y=Ca^x$ の $C$ と $a$ を求めよ。

$x$$0$$2$$4$$6$
$y$$5$$20$$80$$320$
解答を開く

$x$ は間隔 $2$ の等間隔で、比 $\dfrac{20}5=\dfrac{80}{20}=\dfrac{320}{80}=4$ は一定なので、lem-lsc-geometric により一直線に並ぶ。cor-lsc-read の 1 を $(0,5)$、$(2,20)$ で使うと $a=4^{\frac12}=2$、$C=\dfrac5{2^0}=5$ で、$y=5\cdot2^x$ である。確かめ:$5\cdot2^6=320$。

両対数グラフの傾き

$y=Cx^p$ のグラフが $(2,\ 12)$ と $(8,\ 192)$ を通るとき、$p$ と $C$ を求めよ。

解答を開く

cor-lsc-read の 2 により $p=\dfrac{\log_{10}\frac{192}{12}}{\log_{10}\frac82}=\dfrac{\log_{10}16}{\log_{10}4}=\dfrac{2\log_{10}4}{\log_{10}4}=2$、$C=\dfrac{12}{2^2}=3$ で、$y=3x^2$ である。確かめ:$3\cdot8^2=192$。

さらに先へ

  • 1 桁分の対数目盛を 2 本用意して、互いにずらして使うと、掛け算と割り算ができる。これが計算尺であり、次の 計算尺と対数 で扱う。
  • 片対数グラフで直線になる $y=Ca^x$ は、増える速さが今の量に比例する量のモデル(指数モデル)である。増え方に上限があるときのモデルは 指数モデルとロジスティックモデル で扱う。
  • データに直線を当てはめる方法は 散布図と回帰直線、直線への当てはまりの強さを測る量は 相関係数(高校数学) で扱う。

関連項目

参考文献

Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する