指数関数の概算方法について

このQ&Aのポイント
  • 指数関数の概算について考えています。特に負の数の場合について、方法を知りたいです。
  • ポアソン分布の確率関数における指数関数の概算方法について悩んでいます。テイラー展開では原点の近くでの概算はできますが、パラメータλがある場合にはずれが大きくなってしまいます。
  • 指数関数の概算方法を頭の中で行うか、計算スペースを使わずに行う方法について教えてください。また、確率を直接概算する方法も知りたいです。
回答を見る
  • ベストアンサー

指数関数の概算(負の数の場合)

最近, ポアソン分布で遊んでみて思ったのですが指数関数の概算で良い方法はないでしょうか? 原点の近くならばテイラー展開をすれば良いのですがパラメータλのポアソン分布の確率関数は p(x = k) = (λ^k exp(-λ))/k! となり, たとえばλ = 3 のときに exp(-3) ~ 1 - 3 + 9/2 = 2.5 と概算すると真の値 exp(-3) ~ 0.05 からは大きくはずれてしまいます. 10のべきまで展開してやっと0.05くらいになります. が, これではとても暗算では計算できません. どなたかこのような概算を頭の中で(あるいはレシートの裏くらい計算スペースで済む)方法を知りませんか? あるいは直接に確率を概算する方法も大歓迎です.

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.5

数値計算の立場でいうと, この例のように交項級数になるのは避けるべきです. 同じ e^-3 を計算するのでも, e^x のテイラー展開に直接 x=-3 を代入するよりも x=3 で計算して得られる e^3 の逆数を計算した方がよいです.

ask-it-aurora
質問者

お礼

どうも数値計算には疎いもので… でも常識的に考えても交項級数の方が収束が遅そうですね. 確かに exp(-x) = 1/exp(x) として計算するのが簡明で良さそうです. いままで 1/e の近似値は覚えていませんでしたが覚えた方が便利そうですね. この場合に限れば (1/e)^3 < 0.4^3 = 0.064 くらい乱暴に計算してもほどほどの値を得ますし, 何よりこれくらいなら暗算で済ませられそうです. 回答ありがとうございました.

ask-it-aurora
質問者

補足

パラメータλが自然数ではなかったときに計算のしやすいことも考えてベストアンサーとさせていただきます. 他の回答者の皆様もありがとうございました.

その他の回答 (5)

  • siegmund
  • ベストアンサー率64% (701/1090)
回答No.6

No.2 の siegmund です. 他の方の回答を見ていて思ったのですが, e = 2.71828・・・ は知っているとしていいんでしょうかね. e を既知として,e^(-3) に限るのなら (つまり,e^x の x が整数ならです.Poisson 分布ならそうですね), 難しいこと考えずに (1)  e^(-3) ≒ 1/2.7^3 ≒ 0.508 あるいは (2)  e^(-3) ≒ 1/2.72^3 ≒0.0496 が結構簡便な気がします. No.3 の Tacosan さんのご回答は 1/e = 0.367・・・ という意味ですね. 系統的で収束のよい近似は連分数展開 (3)  e^(-3) = {0, 20, 11, 1,・・・}        = 0 + 1/(20 + 1/(11 + 1/(1 + ・・・)) だと思います. 20 まで取ると e^(-3) ≒ 0.05, 11 まで取ると e^(-3) ≒ 0.0497738 でも,e^(-3) の連分数展開ってどうやって導くのだったか,ちょっと思い出せません. Taylor 展開を巧妙に使っていたような記憶があるのですが. 上の連分数展開はズルして Mathematica を使いました.

  • info22_
  • ベストアンサー率67% (2650/3922)
回答No.4

参考URLのexp(-dx)のパデ近似式を使う方法 1次のパデ近似式の利用 exp(-x)≒(1-x/2)/(1+x/2)=f(x) (0≦x<<1) exp(-dx)≒((1-x/2)/(1+x/2))^d dx=3 ●d=4,x=3/4=0.75として近似すると f(0.75)=((1-0.75/2)/(1+0.75/2))=0.625/1.375≒0.4545=A A^2=0.4545^2≒0.2066, exp(-3)≒A^4≒0.2066^2≒0.0427 exp(-3)=0.049787…の近似値としてまあまあですね。 xをもう少し小さくするとよりよい近似値が得られます。 xは小さいほど良いけどAのべき乗の計算回数が増えます。 ●d=8,x=3/8=0.375とすると f(0.375)=(1-0.375/2)/(1+0.375/2))=0.8125/1.1875 ≒0.6842=A A^2=0.6842^2≒0.4681,A^4≒0.4681^2≒0.2191, exp(-3)≒A^8≒0.2191^2≒0.0480 exp(-3)=0.049787…の近似値として精度が上がりましたね。 更にxを小さくして d=16,x=3/16=0.1875とすると f(0.1875)=(1-0.1875/2)/(1+0.1875/2))=0.90625/1.09375 ≒0.8286=A A^2=0.8286^2≒0.6866,A^4≒0.6866^2≒0.4714, A^8≒0.4714^2≒0.2222, exp(-3)≒A^16≒0.2222^2≒0.0494 exp(-3)=0.049787…の近似値として精度が更に上がりましたね。 有効桁数2桁位ならこの程度の計算で済みます。 更に精度を上げたければ d=32,x=3/32などとして exp(-3)≒A^32 を計算すればいいですね。 このようにxを小さくしてやる程、近似値の精度が上がります。

参考URL:
http://alk.fam.cx/tfunc_080.html
ask-it-aurora
質問者

お礼

パデ近似は初めて知りました. テイラー展開よりも広い範囲で良い近似値を与えそうですね(その分, 最初に係数を決定にちょっと計算が必要ですが). 回答ありがとうございました.

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

0.37^3

  • siegmund
  • ベストアンサー率64% (701/1090)
回答No.2

指数関数の Taylor 展開は収束半径が∞とはいうものの x がちょっと大きいと n! が x^n に追いつくまでは収束するように見えませんから x=-3 で3項だけとっても近い値は出ませんよね. こういうのはいかがですか. (1)  3-e = d とおく. (2)  d ≒ 0.281718 それで (3)  e^(-3) = (3-d)^(-3)        = 3^(-3) {1-d/3}^(-3)        ≒3^(-3) {1+d}        ≒0.047471 とします. 3行目に移るところで,|ε| << 1 のときの近似式 (4)  (1+ε)^s ≒ 1 + sε を使いました(要するに,2項展開の最初の2項). 正確な値は (5)  e^(-3) = 0.0497871・・・ ですから,まあまあでしょう. これなら暗算かレシートの裏で出来ると思います. なお,(4)で次の項まで入れると (4')  (1+ε)^s ≒ 1 + sε + {s(s-1)/2}ε^2 でこれを使えば 0.0484509 になります.

ask-it-aurora
質問者

お礼

e = 3 - d と思うのは便利ですね. 確かにこれくらいなら暗算で済ませられそうです. 回答ありがとうございました.

  • alice_44
  • ベストアンサー率44% (2109/4759)
回答No.1

exp(x) ={exp(x/n)}のn乗 を使って x/n の絶対値を適当に小さくし、 exp(x/n) をマクローリン展開しては? n を 2 のベキ乗にしておけば、 最後に n 乗する処理もやりやすい。

ask-it-aurora
質問者

お礼

指数法則のそのような使い方は初めて見た気がします. 確かにそうですね. 回答ありがとうございました.

関連するQ&A

  • 指数分布について

    確率変数Xが次のような密度関数をもつ指数分布に従っているとき 密度関数 f(x)=3exp(-3x)   t≧0   =0        t≦0 このとき 確率変数U=exp(-3X)と定義するときに、Uの従う分布はどうなるかを求めたいのですが、どうすればよいのでしょうか?? まずUの分布関数を求めて、微分をしようとしているのですが。 P(U<x)=P(exp(-3X)<x)=P(T>-1/3logx) このときの積分範囲は0からになるのでしょうか?? そうするとUの分布関数は1になり、密度は0になるということでしょうか?

  • MATLABで指数関数を含む方程式の複素数解を求め

    MATLABで多項式と指数関数からなる方程式の解を求めたいと考えています。 実数解だけでなく、複素数解も求める必要があります。 例えば、 x^2-exp(x)=0 のような方程式を解きたい場合、 fzero(@(x)(x^2-exp(x)),2) を実行すれば、-0.7035という実数解が得られます。 しかし、複素数解は得られません。 なんとかして、複素数解も得られませんか? roots()関数を使えば、多項式からなる方程式に対しては、 複素数解を求めることができます。 しかし、今回の場合は使えません。 指数関数をテーラー展開する方法を考えたのですが、 解がどのあたりにあるのか見当がつかないので、 どの点周りにテーラー展開すれば良いのか分かりません。 最終的には、制御工学で遅れ型むだ時間を含むシステムの極を調べたいのですが、 特性方程式に指数関数が入ってくるので、どうやって求めれば良いのか分からずにいます。 どなたか、知恵を貸して頂けないでしょうか。 よろしくお願い致します。

  • 二項分布とポアソン分布、それぞれで求まる確率が2倍も異なるのですが

     こちらに計算ミスがあれば、誠に申し訳ありません。  二項分布とポアソン分布、それぞれで求まる確率が2倍も異なるので、困っています。  次のような問いがあるのです。 「くじが当たる確率は1%であり、5回くじを引くとする。当たりが3回出る確率を、ポアソン分布を用いて近似的に計算せよ。」  二項分布でも解けなくはない問いです。  5C3×1%×1%×1%×99%×99%=0.000009801  ところがこれを、ポアソン分布を用いて計算せよとのことですので、  ポアソン分布の確率関数p(x)は、λ(ラムダ)を用いれば、  自然対数の底eのマイナスλ乗と、λのx乗との積を、xの階乗で除した式で表されますので、  (あえて関数式を書けば p(x)=(λ^x)*exp(-λ)÷x! )  λ=0.05を代入し、p(3)を求めればよいわけですから、  p(3)= 0.05^3 × exp(-0.05) ÷ 3!    ≒ 0.000125 × 0.9512 × 6    ≒ 0.0000198  と求まります。  これでは、ポアソン分布を用いて近似的に計算せよと言いながら、求まる確率が2倍も違う点で、とても近似的に計算しているとは思えません。  ポアソン分布の関数式を覚えていないもしくは度忘れした解答者がとりあえず二項分布で解いてみても採点者は一発で間違いと分かるように数値を設定したと考えることもできますが、ポアソン分布の精度が疑わしくなります。  あるいは、こちらの計算ミスがあれば、気づかずにいるミスを直ちに改めたいと思いますので、どなたかお答えを願います。

  • 指数関数が分かりません

    a single exponetiol function・・・単一指数関数が分かりません t1パラメーターが32と与えられていて図も与えられているのですが意味がわかりません。ネットで調べて式は分かったのですが・・・ φ=(1/τ)exp(-t/τ)  τもわかりません   教えてください

  • 指数分布族としてのワイブル分布

    指数分布族は対数尤度関数がLL(θ,φ)={xθ-A(θ)}/φ + c(x,φ)という共通のかたちをもつそうです(θはcanonical parameter,φはdispersion parameterと呼ばれるものです)。ワイブル分布の確率密度関数が f = k λ^(-k) x^(k-1) exp[-(x/λ)^k]と書けるときに、対数尤度関数は LL = k ln(x/λ) + ln(k/x) - (x/λ)^k になりますが、このときに、θ、φ、A(θ)、c(x,φ)はそれぞれどのように書けるのでしょうか?(c(x,φ)はexplicitに書けない??)ご存知のかたがいらっしゃいましたらお教えいただけると助かります。 念のため上の式をTeX形式で書くと f=k\lambda^{-k}x^{k-1}\exp\left[-\left(x/\lambda\right)^k\right] LL=k\ln\left(x/\lambda\right)+\ln\left(k/x\right)-\left(x/\lambda\right)^{k} となります。

  • 正規分布の導出

    教科書の重積分がわからなくて、質問しました。 二項分布の式を確率変数rの関数とみなして、f(r)としその対数を考えます。 logf(r)=log nCr p^r q^(n-r) この式から、スターリング近似し、 logf(r)を平均mの近くで2次までのテイラー展開をし、m=np,npq=σ^2から、 f(r)≒f(m)exp{-(r-m^2)/(2σ^2)}。 指数関数の前のf(m)を決めるために、次の関数の積分を考えます。 I=∫(-∞→∞)exp(-x^2)dx=2∫(0→∞)exp(-x^2)dx 変数xをuvに置き換えて、I=2∫(0→∞)exp(-u^2v^2)vdu、 さらにxを単純にvに置き換えただけのIと掛け合わせると、 I^2=4∫(0→∞)∫(0→∞)exp{-(1+u^2)v^2)}vdvdu、 ここでv^2をsとおくと、I^2=4∫(0→∞)∫(0→∞)exp{-(1+u^2)s)}1/2dsdu。ここからがわからない箇所です。わかりづらい書き方ですいませんが、[x](2→3)を3-2と書くとすると、 I^2=2∫(0→∞)[-exp(1+u^2)s/(1+u^2)](0→∞)duになります。使う公式や、計算を教えてください。 自分では[-exp{-(1+u^2)s}/(1+u^2)](0→∞)と-がついてしまいます。どなたか教科書のような計算方法を教えてください。

  • 関数電卓の内部計算について

    関数電卓で三角関数や指数関数などを計算するとき内部ではどのような計算をしているのでしょうか? テイラー級数展開ではないと聞いたことがあるのですが… また、計算機メーカーによって採用している計算式が違うのでしょうか?

  • 一般分布の分布関数

    一般分布についての質問です 一般分布の分布関数を使いG(t-u)を計算しようとしているのですが一般分布に従う時の分布関数や密度関数等の式がわかりません。 ポアソン分布や指数分布は参考書等出てきて関数自体わかるのですが一般分布についてはなかなか式まで書いている参考書が少なくわかりません。 知っている方、わかる方はどうか教えてください。 よろしくお願い致します。

  • ポアソン分布の問題で

    ある窓口を1時間に訪れる人数Kは、平均1.5人とする。このとき、人数Kはポアソン分布に従うとして、1時間に3人以上訪れる確率を求める。平均1.5人だからλ=1.5として、1時間にk人訪れる確率は P1.5(k) = (1.5)^k / k! * e^-1.5 となる。したがって、この窓口に1時間に3人以上訪れる確率は、1 - ( P1.5(0) + P1.5(1) + P1.5(2) ) = 0.001 となる。 という問題&解説があるのですが、 P1.5(k) = (1.5)^k / k! * e^-1.5 の計算の仕方がわかりません…。 テイラー展開を使うらしいと聞いたのですが、そうすると数値が正確なものを求めるのではなく、およそ0.001ということになりませんか? (私の計算) e^1.5 = (1.5)^0/0! + (1.5)^1/1! + (1.5)^2/2! … = 1 + 1.5 + 1.125 … ここから先どうすればいいのかで詰まっています。 どなたか解説お願いします…。

  • 正規分布の確率密度関数の導出

    正規分布の確率密度関数 f(x)=1/√(2π)σ exp(-(x-μ)^2/2σ^2) (わかりにくくてすいません) の導出方法を教えてください。 導出方法が書いてあるページでもいいです。 よろしくお願いします。