用mathematica把正态分布函数的逆函数展开成幂级数,得到了这个奇怪的式子,..

用mathematica把正态分布函数的逆函数展开成幂级数,得到了这个奇怪的式子,..
偶然想把正态分布函数求逆的运算展开成幂级数,看是否方便用计算器估算.运行了如下语句:
Series[InverseCDF[NormalDistribution[0,1],1 - x],{x,0,10},
Assumptions -> 0 < x < 1]
得到了下面的式子:
Sqrt[Log[1/(2 [Pi])] - 2 Log[x] - Log[Log[1/(2 [Pi])] - 2 Log[x]]] + O[x]^11
看起来有些奇怪,我增大了幂级数的项:
Series[InverseCDF[NormalDistribution[0,1],1 - x],{x,0,1000},
Assumptions -> 0 < x < 1]
结果却是:
Sqrt[Log[1/(2 [Pi])] - 2 Log[x] - Log[Log[1/(2 [Pi])] - 2 Log[x]]] + O[x]^1001
这样看起来,似乎前面那项应该是精确表达式了,但实际运行如下语句:
{InverseCDF[NormalDistribution[0,1],#],
Sqrt[Log[1/(2 [Pi])] - 2 Log[1 - #] -
Log[Log[1/(2 [Pi])] - 2 Log[1 - #]]]} & /@ {0.9,0.925,0.95,
0.975,0.99,0.995}
结果却是:
{{1.2815515655446006,1.3226577374030006},
{1.4395314709384563,1.4614688452505076},
{1.6448536269514722,1.6521546739636983},
{1.9599639845400538,1.9565041961310443},
{2.3263478740408408,2.318342386507109},
{2.5758293035489004,2.56684701349088}}
可见仍是有差距的.
我想问问,第一,为什么会出现上面的情况?也即是说,为什么幂级数部分的系数会始终为零?我很难相信这样的表达式会在某一项开始突然系数非零了...
第二,正态分布函数的逆函数是否能展开为幂级数,展开后的具体形式应该是什么?
100分虚心求教,也希望大家回答的别太简短了,我网上搜了一圈才来提问的...
haizi22 1年前 已收到1个回答 举报

ssss又见ss 春芽

共回答了18个问题采纳率:94.4% 举报

这其实更多的是一个数学问题.从没有哪本教科书保证过,任意函数在任意点的幂级数展开都是收敛的.高阶无穷小和收敛是两个概念,O[x]^1001仅能表明误差的大小是远小于[x]^1001的,而收徒敛是要求这项趋0,其实你的这个展开和原函数的差距可根本不是”有差距”这么简单,你可以看下它们在0到1的图像,那差别叫一个壮观啊.
在我看来,你的展开式之所以连幂级数都不是了,那是因为你压根就没有选择一个实际存在的“点”做为展开点:x=0处,原函数趋于无穷,所以幂级数恐怕也会表现为极限形式.
试了一下,只要把你的展开点移到中点来,这级数就能顺利逼近了:
a = Normal@
Series[InverseCDF[NormalDistribution[0, 1], 1 - x], {x, 1/2, 10},
Assumptions -> x > 0];
b = InverseCDF[NormalDistribution[0, 1], 1 - x];
Plot[{a, b, a - b}, {x, 0, 1}, PlotRange -> All,
PlotStyle -> {Red, Blue, Green}]

1年前

6
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.031 s. - webmaster@yulucn.com