位置: 数学編 第2回 / 前提: M1 / 本編での使用: 第13, 14, 59, 74回 / この回でできるようになること: テイラー展開による近似の誤差を、剰余項で評価できる
目次
0. 物語 ― 無限回微分できるのに展開が合わない関数
前回は極限と自然対数の底を扱いましたが、この結果は別の面からも見ることができます。関数の値を多項式で近似するとき、「何回でも微分できるなら、次数を上げれば上げるほど正確になるはずだ」と思うのは自然です。しかし、実はこの直観が完全に裏切られる関数が存在します。
ある関数を考えます。ゼロから離れたところでは正の値を取り、ゼロに近づくにつれて急激にゼロに落ちます。ゼロのちょうど真上でも値はゼロです。この関数は何回でも微分でき、微分した結果もまたゼロの上でゼロになります。1回目の微分もゼロ、2回目もゼロ、100回微分してもゼロです。
テイラー展開とは、関数の微分の値を材料にして多項式を組み立てる操作です。材料がすべてゼロなのですから、組み立てた多項式もゼロにしかなりません。ところが、もとの関数はゼロから少しでもずれれば正の値を持ちます。たとえば0.5のところでは約0.018、1のところでは約0.37、2のところでは約0.78です。多項式のほうはどこまで次数を上げてもゼロのままです。
つまり、何回でも微分できるという条件は、テイラー展開がもとの関数に一致するための保証にはなりません。微分の回数は十分なのに、展開が関数を「見失う」ことがあるのです。
この回では、テイラー展開による近似がどこまで正確で、どこで破綻するのかを、剰余項と呼ばれる誤差の表現を使って正確に測ります。近似を信頼してよい範囲と、信頼できなくなる境界を、定理と数値の両方で画定します。
1. 動機 ― 近似はどれくらい正確なのか
この回を読み終えると、テイラー展開による近似の誤差を、剰余項で評価できます。
関数の値を多項式で近似する、という発想はいたるところで使われます。金融でも、価格の小さな変動を感応度の足し算で捉える場面が繰り返し出てきます(デュレーションやグリークスは、まさにこの形です)。
しかし近似には必ず誤差がつきまといます。問題は「だいたい合っている」ではなく、誤差がどれだけの大きさで、何が誤差を決めているのかを正確に言えるかどうかです。テイラーの定理はこの問いに答えます。近似の残りを「剰余項」として正確に書き下し、その大きさを上から押さえます。
この記事では、剰余項付きのテイラーの定理を証明し、誤差の次数を確認し、級数が関数に戻らない場合があることを反例で示します。
この記事で証明すること
- THM-M2-1 n+1 回連続微分可能な関数は、n 次のテイラー多項式と剰余項の和に正確に分解できます。
- THM-M2-2 n 次で打ち切った誤差は、展開点からの距離の n+1 乗に比例する量で上から押さえられます。
- THM-M2-3 すべての点で無限回微分可能でも、テイラー級数がもとの関数に収束するとは限りません。収束する範囲は関数ごとに決まります。
この記事では、近似の正確さを測る道具として剰余項を導入し、その限界を反例で確認します。
2. 設定と仮定 ― 滑らかな関数と展開点
テイラー展開を行うために必要な材料を整理します。
- 関数: f は実数値関数で、展開点の周りで十分な回数だけ微分できるとします。f が区間 I で n+1 回連続微分可能であることを仮定します。
- 展開点: a∈I を固定します。a の周りで f(x) を多項式に近似します。
- テイラー多項式: n 次のテイラー多項式を
Tn(x)=k=0∑nk!f(k)(a)(x−a)k(2.1)
と定義します。f(k)(a) は f の k 階導関数の a での値です。
を n 次の剰余項と呼びます。近似の誤差そのものです。
テイラー多項式は、a での関数値と導関数の情報だけから作られます。剰余項がどの程度小さくなるかが、近似の良し悪しを決めます。
3. 主張 ― 誤差は剰余項として正確に書ける
定理 THM-M2-1(剰余項付きテイラーの定理)
f が a を含む区間で n+1 回連続微分可能であるとする。このとき、a と x の間にある点 c が存在して
f(x)=k=0∑nk!f(k)(a)(x−a)k+(n+1)!f(n+1)(c)(x−a)n+1が成り立つ。c は a と x の間(a<c<x または x<c<a)にある。
この形の剰余項をラグランジュの剰余項と呼びます。f(x) はテイラー多項式と剰余項の和として正確に等しいのであって、近似ではありません。近似になるのは剰余項を捨てたときです。
定理 THM-M2-2(誤差の次数)
上の仮定のもとで、∣x−a∣≤h の範囲において
∣Rn(x)∣≤(n+1)!Mn+1hn+1が成り立つ。ここで Mn+1=max∣t−a∣≤h∣f(n+1)(t)∣ である。
n 次で打ち切った誤差は hn+1 のオーダーです。h が小さいほど、また n が大きいほど、誤差は急速に縮みます。
定理 THM-M2-3(収束半径)
f がすべての点で無限回微分可能(C∞ 級)であっても、テイラー級数
が f(x) に収束するとは限らない。収束する x の範囲は関数ごとに異なる。
この3つの定理が、テイラー展開の「使える範囲」を画定します。
証明を読む(読まなくても記事は完結します)
4. 証明 ― 平均値の定理を繰り返し使う
この節は読まなくても記事は完結します。
この証明を追いたい人は、数学編 第1回「極限と e」へ。
THM-M2-1 の証明
x を固定し、剰余項 Rn(x)=f(x)−Tn(x) を (x−a)n+1 の定数倍として書けることを示します。
補助関数を導入します。t を変数として
g(t)=f(x)−k=0∑nk!f(k)(t)(x−t)k(4.1)
と定めます。これは「t を展開点にしたときの、f(x) との残差」です。
g(a) と g(x) を計算します。 t=a を代入すると、和の部分は Tn(x) そのものですから
t=x を代入すると、(x−t)k=0(k≥1)となり、k=0 の項だけ残って
次に、もう一つの補助関数を置きます。
すると h(a)=(x−a)n+1、h(x)=0 です。
コーシーの平均値の定理を適用します。 g と h は [a,x](または [x,a])で連続かつ微分可能で、h′(t)=−(n+1)(x−t)n=0(t=x)ですから、a と x の間に c が存在して
h(a)−h(x)g(a)−g(x)=h′(c)g′(c)(4.3)
が成り立ちます。左辺は
(x−a)n+1−0Rn(x)−0=(x−a)n+1Rn(x).
g′(t) を計算します。 (4.1) を t で微分します。積の微分に注意すると
g′(t)=−k=0∑n[k!f(k+1)(t)(x−t)k+k!f(k)(t)⋅(−k)(x−t)k−1].
整理すると
g′(t)=−k=0∑nk!f(k+1)(t)(x−t)k+k=1∑n(k−1)!f(k)(t)(x−t)k−1.
第2の和で j=k−1 と置き換えると
j=0∑n−1j!f(j+1)(t)(x−t)j.
これは第1の和の k=0 から k=n−1 までの部分と項ごとに打ち消し合います。残るのは第1の和の k=n の項だけです。
g′(t)=−n!f(n+1)(t)(x−t)n.(4.4)
大部分の項が消えるのは、テイラー多項式の各項が導関数の定義と整合するように作られているからです。この「テレスコーピング」がテイラーの定理の心臓部です。
h′(t)=−(n+1)(x−t)n ですから、(4.3) の右辺は
h′(c)g′(c)=−(n+1)(x−c)n−n!f(n+1)(c)(x−c)n=(n+1)!f(n+1)(c).(4.3)
(x−a)n+1Rn(x)=(n+1)!f(n+1)(c).
両辺に (x−a)n+1 を掛けて
Rn(x)=(n+1)!f(n+1)(c)(x−a)n+1.
これが求める剰余項の表示です。 ∎
THM-M2-2 の証明
THM-M2-1 の結果をそのまま使います。∣x−a∣≤h のとき
∣Rn(x)∣=(n+1)!f(n+1)(c)∣x−a∣n+1.
c は a と x の間にあるので ∣c−a∣≤∣x−a∣≤h です。よって
∣f(n+1)(c)∣≤∣t−a∣≤hmax∣f(n+1)(t)∣=Mn+1.(4.5)
したがって
∣Rn(x)∣≤(n+1)!Mn+1∣x−a∣n+1≤(n+1)!Mn+1hn+1.
誤差が hn+1 に比例する量で押さえられることが示されました。h を半分にすれば、Mn+1 は増えないので、上界は 2−(n+1) 倍以下になります。展開点に近いほど近似が良い、という直観の数学的な裏付けです。 ∎
THM-M2-3 の証明の要点
すべての導関数が存在しても、テイラー級数が f に収束するには、剰余項 Rn(x)→0(n→∞)が必要です。
Rn(x)→0 が成り立つかどうかは、f(n+1) の成長速度と (n+1)! の成長速度の競争で決まります。(n+1)! が f(n+1) を圧倒すれば収束し、そうでなければ収束しません。
log(1+x) の場合、k 階導関数は f(k)(t)=(−1)k+1(k−1)!(1+t)−k なので、テイラー級数の k 次の係数は (−1)k+1(k−1)!/k!=(−1)k+1/k です。導関数の (k−1)! と分母の k! はほぼ打ち消し合い、階乗どうしの競争では決着がつきません。決め手は ∣x∣k のほうです。
∣x∣>1 では、級数の項の大きさ ∣x∣k/k が k→∞ で無限大に発散します。項が 0 に近づかない級数は収束しないので、級数は発散します。
∣x∣<1 では、剰余項が 0 に近づくことを直接示します。log(1+x)=∫0x1+tdt で、等比数列の和の公式から 1+t1=∑k=0n−1(−t)k+1+t(−t)n が成り立ちます。両辺を 0 から x まで積分すると、和の部分から Tn(x) が出てくるので
です。0 と x の間の t では 1+t≥1−∣x∣>0 なので ∣Rn(x)∣≤(n+1)(1−∣x∣)∣x∣n+1→0 となり、級数は log(1+x) に収束します。この境界 ∣x∣=1 が収束半径です。
後の反例(CEX-M2-1)では、すべての導関数が 0 なのにテイラー級数が関数に一致しない例を示します。導関数が 0 であれば級数は恒等的に 0 に収束しますが、関数自体は 0 ではないので、級数は「収束はするが、正しい値には収束しない」という状況が起きます。 ∎
5. 反例 ― 級数が関数に戻らない例
CEX-M2-1: 無限回微分可能なのに級数が一致しない
「無限回微分可能ならテイラー級数で表せる」という理解を壊します。
f(x)={e−1/x20(x=0)(x=0)
を考えます。この関数は x=0 で無限回微分可能で、すべての導関数が f(k)(0)=0 になることが知られています(帰納的に、e−1/x2 に x の有理式を掛けた形の関数が x→0 で 0 に収束することから示せます)。
したがって a=0 のテイラー級数は
と恒等的に 0 です。しかし f(x) 自体は x=0 で正の値を取ります。
| x |
f(x) |
テイラー級数 |
差 |
| 0.3 |
1.49453×10−5 |
0 |
1.49453×10−5 |
| 0.5 |
0.0183 |
0 |
0.0183 |
| 1.0 |
0.3679 |
0 |
0.3679 |
| 2.0 |
0.7788 |
0 |
0.7788 |
x が 0 から離れるほど差は広がります。無限回微分可能であることは、テイラー級数が関数に一致するための十分条件ではありません。
CEX-M2-2: 次数を上げるほど悪くなる
「次数を上げれば常に近似が良くなる」という理解を壊します。
log(1+x) のテイラー級数は k=1∑∞k(−1)k+1xk で、収束半径は 1 です。x=1.5 は収束半径の外にあるので、次数を上げるほど級数は暴れます。
| 次数 n |
近似値 |
誤差 |
| 1 |
1.5000 |
0.584 |
| 3 |
1.5000 |
0.584 |
| 5 |
1.7531 |
0.837 |
| 7 |
2.2955 |
1.379 |
| 10 |
−2.4031 |
3.319 |
真の値は log(2.5)=0.9163 です。n=10 では近似値が −2.4031 まで飛び、誤差は 3.319 に膨らんでいます。収束半径の外では、次数を上げることが改善を意味しません。
CEX-M2-3: 微分可能回数が足りない場合
「微分可能回数が足りなくても展開してよい」という理解を壊します。
f(x)=x5/3(x≥0)を考えます。f′(x)=35x2/3 なので f′(0)=0 ですが、f′′(x)=910x−1/3 は x=0 で発散し、二階導関数が存在しません。
a=0 で一次のテイラー多項式は T1(x)=0 です。THM-M2-2 が使えるなら誤差は O(x2)、つまり誤差 /x2 は有界のはずですが、実際の誤差は ∣x5/3∣ です。
| x | 誤差 ∣f(x)−T1(x)∣ | 誤差 /x5/3 | 誤差 /x2 |
|—|—|—|—|
| 0.1 | 0.02154 | 1.0 | 2.15 |
| 0.01 | 0.000464 | 1.0 | 4.64 |
| 0.001 | 0.00001 | 1.0 | 10.0 |
誤差を x5/3 で割った比は 1.0 で一定ですが、x2 で割ると x が小さくなるほど際限なく大きくなります(x−1/3 に比例します)。誤差の次数は 5/3 であり、二階導関数が存在する場合の O(x2) より悪くなっています。THM-M2-2 の仮定(十分な回数の微分可能性)が欠けると、誤差の次数の保証が崩れます。
この節では、テイラー級数の3つの落とし穴を数値で確認しました。
6. 数値例 ― 次数を上げながら誤差を測る
ex を a=0, x=0.1 で展開します。ex のすべての導関数は ex ですから、[0,0.1] 上で Mn+1=e0.1=1.1052 を使えます。
| 次数 n |
近似値 Tn(0.1) |
誤差 |
剰余項の上界 |
| 1 |
1.1000 |
5.171×10−3 |
5.526×10−3 |
| 2 |
1.1050 |
1.709×10−4 |
1.842×10−4 |
| 3 |
1.10517 |
4.251×10−6 |
4.605×10−6 |
| 4 |
1.10517 |
8.47×10−8 |
9.21×10−8 |
真の値は e0.1=1.10517… です。
誤差が距離の n+1 乗で縮むことの確認。 x=0.1 なので ∣x−a∣n+1=0.1n+1 です。n=1 から n=2 に上げると ∣x∣n+1 は 10−2 から 10−3 に、つまり 1/10 になります。実際の誤差も 5.171×10−3 から 1.709×10−4 へ、約 1/30 に減っています。∣x∣n+1 以上の速さで縮んでおり、THM-M2-2 の上界が機能しています。
log(1+x) の比較。 同じ関数でも展開点からの距離で結果は変わります。
x=0.5(収束半径の内側)では次数を上げるほど誤差が縮みます。
| 次数 n |
誤差 |
| 1 |
0.0945 |
| 3 |
0.0112 |
| 5 |
0.00183 |
| 10 |
3.05×10−5 |
一方、x=1.5(収束半径の外側)では先ほど見た通り誤差が 3.319 まで膨らみます。展開点からの距離が収束半径を超えると、テイラー多項式は近似としての意味を失います。
この節では、誤差が剰余項の上界で確かに押さえられること、そして収束半径の内外で振る舞いが逆転することを数値で確認しました。
7. 次回へ ― 変数が2つ以上になると
ここまでは変数が1つの関数を扱いました。金融では、価格は金利・ボラティリティ・原資産価格など複数の変数に依存します。変数が2つ以上になると、偏微分が登場し、展開に現れる項の数が増えます。次回 M3 では、偏微分と多変数のテイラー展開を扱います。
よくある質問
なぜ金融でテイラー展開ばかり出てくるのですか
価格の小さな変化を、感応度の積み上げとして表せるからです。デュレーションもグリークスもこの形です。
何次まで取れば十分ですか
変化の大きさ次第です。剰余項の上界を見ると判断できます。
級数が収束しないことがあるのですか
あります。展開点から遠すぎると、次数を上げるほど悪くなる場合があります。
参考文献
- 杉浦光夫、解析入門I、東京大学出版会、1980年
- Apostol T. M.、Calculus Volume 1、第2版、Wiley、1967年
数値例は compute.py により浮動小数点演算で計算済み。指数・対数が必要なため厳密な有理数演算は使用していない。