見出し画像

仮定や前提が間違っていると上手くいかないことをTaylor展開から見てみる

大学数学を学ぶときって、最初は微積分と線形代数をやりますよね。微積分は主に解析学の話で重要になりますし、線形代数も代数の話で必ず必要になってくるので、数学を学びたい人にとっては避けて通れない道だと思います。統計学を本格的にやりたいって方も、微積分や線形代数が分からないと、線形回帰や分布の話を勉強するタイミングで詰みかねないので、ちらっとでも触れておくといいのかなあと個人的には思います。

特に線形代数の行列やベクトル、そして極限の話は統計でも良く使う(回帰分析や最尤法など)ので、統計学の勉強していて困ったら数学の基本に立ち返ってみるのをお勧めします。

今回は微積分と極限を学ぶときに必ず通るであろうTaylor展開についてみていきましょう。Taylor展開の詳しい説明はWikipediaや数学の本にお任せすることにします。ざっくり説明すると、無限回微分可能な関数をベキ級数で近似するのがTaylor展開です。例えば、e^xを0のまわりでTaylor展開すると

e^x = 1 + x/1! + x^2/2! + x^3/3! ・・・

となります。

こんな風に関数をベキ級数で表すことにどんなメリットがあるのかというと、極限がどうなっているのかを知ることに利用することができます。いわゆる収束速度に関連する話です。

例えば、xとe^xは両方ともxを∞に近づけると∞になる関数です。そのため、xをe^xで割った関数は不定形と呼ばれる形になってしまいます。しかし、e^xに2次までのTaylor展開を用いると

x/e^x = x / (1 + x/1! + x/2!) = 1 / (1/x + 1 + x/2)

となるので、x->∞とすると、この関数は0になります。Taylor展開を用いることで、微分可能な関数の場合には簡単に極限を得ることができるのです。

このようにTaylor展開は微積分から極限の話に繋げやすいこともあり、微積分の入門書にはかなりの割合で書いてあります。複雑な関数をベキ級数で表せるのは、実際かなりすごい発見だったんだろうなと感じる限りです。

ただ、Taylor展開にも欠点があります。それは、完全にもとの関数と一致させるためには、無限個の和になってしまうことです。Taylor展開の第i項には、i階微分が必要なので、結果としてもとの関数の無限回微分が必要になります。

複雑な関数の無限回微分なんて求められるのでしょうか?正直かなり疑問です。そのため、実際には途中で打ち切った形でTaylor展開を行います。3つまでや4つまでで抑えて、もとの関数の近似式として考えるやり方です。微分を重ねるごとに値が小さくなるような関数の場合は、途中で打ち切っても誤差として考えられ、途中で打ち切っても問題ないと考えられます。実際にはどうなのでしょうか。

例えば、e^(-x^2)のような関数を考えてみましょう。Rでプロットしてみるとこのようになります。

x = -100:100/20
f = exp(-x^2)
plot(x,f)

これに対して、4次までで0の周りでTaylor展開した式を重ね合わせてみましょう。

g = 1 - x^2 + x^4/2 - x^6/6 + x^8/24
points(x,g,col="red")

赤がTaylor展開した式のプロットです。このように、点aの周りでTaylor展開を行ったときの関数は、aの近くでしかうまく近似されないという性質があります。したがって、aの近くだけ用いる場合にはTaylor展開が有効ですが、広い範囲で関数を用いる場合には注意が必要なんですね。

僕はTaylor展開してから数値積分して上手くいかなくて悲しくなりました。。。

数式だけ見てあっていても、仮定が間違っていると上手くいかないことが多いなあと統計とか数値計算をやっていると感じるので、あり得ない状況などを排除して考えることも重要ですよね。Taylor展開はaの周りしか上手く機能しないってことでしたが、現実問題でも仮定が間違ってたりすること多いんだろうなあ。


Twitterもやってます。よかったらフォローしてね~


ではまた!

最後まで読んでいただきありがとうございました!サポートしてくれると非常に嬉しく、noteを書くモチベーションになります。