■超幾何関数を用いた確率分布の計算(その2)

 前々回のコラムでは,
  1)確率分布の計算において,正規分布・χ2分布・t分布・F分布の確率計算をマクローリン展開としてとらえると,収束が遅く,計算式としてはあまり実用的ではないこと,
  2)しかし,正規分布・χ2分布・t分布・F分布の分布関数は超幾何関数としてとらえることができること,
  3)超幾何関数としてとらえなおすことによって,超幾何関数のもつ利点を活かすことができ,確率計算が見通しよくなること
を述べました.分布関数はいつも明示的な式で表されるとは限りませんから,必ずしも一筋縄では処理できないところがありますが,正規分布・χ2分布・t分布・F分布の場合は,非常にラッキーなケースと考えることができるでしょう.
 
 ところで,正規分布・χ2分布・t分布・F分布の片側確率やパーセント点の求め方はパッケージごとに実にさまざまで,その計算方法には,精度を優先しているもの,速度を優先しているもの,その折衷版,など少なからぬ相違がみられます.たとえば,確率変数がある値以上または以下の値をとる確率を上側確率または下側確率,ひっくるめて片側確率といいますが,
  a)解析的な式に基づいて級数を足し上げる方法を採るもの(精度優先)
  b)近似式を用いているもの(速度優先)
などがあります.
 
 前者の例としては,正規分布の密度関数
  φ(x)=1/√2πexp(−x^2/2)
の指数部分をテイラー展開(マクローリン展開)して積分すると
  Φ(x)=1/2+1/√2π{x-x^3/2・1!・3+x^5/2^2・2!・5-・・・+(-1)^(2k+1)x^(2k+1)/2^k・k!・(2k+1)+・・・}
が得られます.収束が遅いことを厭わなければ,片側確率はこの展開式から精度よく計算することができます.
 
 χ2分布・t分布・F分布では,このような展開式の引数に自由度も加わってきます.その場合,整数自由度のときは精確に計算できるのですが,自由度が整数でなく,小数点以下の端数をもつときには,
  a)前後2つの整数自由度での値からの内挿補間によって求めているもの
  b)端数を切り捨てて,整数自由度に丸める
ことにより逃げているプログラムなどいろいろな対処法がみられました.要するに,解析的な式には,整数自由度でないとき精度が悪いという欠点があるのです.
 
 また,後者の例としては,正規分布におけるWilliam=山内の近似式:
 Φ(x)=1/2+1/2[1-exp(-2x^2/π){1+x^4(0.0055+0.0551/(x^2+14.4)}]^(1/2)
 
プログラム例:
1000 '
1010 ' *** 正規分布の下側確率 ***
1020 '
1030 *NORMAL.SUB:
1040 UU=SQR(1-EXP(-.63662*Z^2)*(1+.0095642*Z^4))/2
1050 P0=.5+UU*(SGN(Z)):RETURN
1060 RETURN
 
などがありますが,実際,このような近似式はとくに小さな自由度に関して信頼できませんから,純粋な数理統計学者にとってはとても気持ちの悪いことで,近似式は受け入れられないと思う人も多いかもしれません.
 
 一方,片側確率を与えたときに対応する確率変数の値をパーセント点といいます.パーセント点の計算に関しては,ほとんどの統計計算パッケージが
  a)近似式を用いた計算法
を採っていて,速度優先に偏っています.
 精度優先,すなわち,
  b)ニュートン法による繰り返し計算でより精確な値を得る方法
を採用しているものは,例外的でした.
 また,小数点つきの小さい自由度に対しては,統計数値表の精度を実現できないことを理由に,
  c)数表検索と直線補間やラグランジュ補間などで補間して求める
プログラムを用意しているものもありました.
 
 今回のコラムでは,自由度が小さいときでも,小数のときでも,精確な値を保証してくれる確率分布の計算プログラムを紹介し,このプログラムから導かれた値と真値を比較してみます.
 また,超幾何関数のベキ級数展開はマクローリン展開と同じものですから,収束が遅く,収束半径なども問題になってきます.そこで,コラムの後半では,超幾何関数のベキ級数展開を連分数展開に置き換えてみます.一般に,連分数展開は速度的にも精度的にもよい計算法と信じられている節があります.実際,ベキ級数展開と連分数展開では収束速度が違ってきますが,計算精度が本当に向上するかどうかを確かめてみます.
===================================
 
【1】片側確率のプログラム
 
1000 '
1010 ' ** NORMAL DISTRIBUTION **
1020 '
1030 *NORMAL.PROB.HGF:
1040 PI#=3.141592653589732#
1050 'A0=.5:C0=1.5
1060 'A=A0:C=C0
1070 'Z=-UUN*UUN/2:GOSUB *CONFLUENT.HGF:G1#=G#
1080 'P0=.5+G1#*UUN/SQR(PI#*2)
1090 A0=1:C0=1.5
1100 A=A0:C=C0
1110 Z=UUN*UUN/2:GOSUB *CONFLUENT.HGF:G1#=G#
1120 P0=.5#+G1#*UUN*EXP(-UUN*UUN/2)/SQR(PI#*2)
1130 '
1140 'A=A0+1:C=C0+1
1150 'Z=-UUN*UUN/2:GOSUB *CONFLUENT.HGF:G2#=G#*A0/C0
1160 'P1=(G1#-G2#*UUN*UUN)/SQR(PI#*2)
1170 A=A0+1:C=C0+1
1180 Z=UUN*UUN/2:GOSUB *CONFLUENT.HGF:G2#=G#*A0/C0
1190 P1=(G1#-G1#*UUN*UUN+G2#*UUN*UUN)*EXP(-UUN*UUN/2)/SQR(PI#*2)
1200 RETURN
1210 '
1220 ' ** CHI-SQUARE DISTRIBUTION **
1230 '
1240 *CHI2.PROB.HGF:
1250 'A0=DF/2:C0=1+DF/2
1260 'A=A0:C=C0
1270 'Z=-UUX/2:GOSUB *CONFLUENT.HGF:G1#=G#
1280 'Z=1+DF/2:GOSUB *LOG.GAMMA:G2#=G#
1290 'P0=G1#/G2#*(UUX/2)^(DF/2)
1300 'P0=LOG(G1#)-G2#+LOG(UUX/2)*(DF/2):P0=EXP(P0)
1310 A0=1:C0=1+DF/2
1320 A=A0:C=C0
1330 Z=UUX/2:GOSUB *CONFLUENT.HGF:G1#=G#
1340 Z=1+DF/2:GOSUB *LOG.GAMMA:G2#=G#
1350 'P0=G1#/G2#*(UUX/2)^(DF/2)*EXP(-UUX/2)
1360 P0=LOG(G1#)-G2#+LOG(UUX/2)*(DF/2)-UUX/2:P0=EXP(P0)
1370 '
1380 'A=A0+1:C=C0+1
1390 'Z=-UUX/2:GOSUB *CONFLUENT.HGF:G3#=G#*A0/C0
1400 'P1=(DF/2*(UUX/2)^(DF/2-1)*G1#/2-(UUX/2)^(DF/2)*G3#/2)/G2#
1410 A=A0+1:C=C0+1
1420 Z=UUX/2:GOSUB *CONFLUENT.HGF:G3#=G#*A0/C0
1430 'P1=(DF/2*(UUX/2)^(DF/2-1)*G1#/2-(UUX/2)^(DF/2)*G1#/2+(UUX/2)^(DF/2)*G3#/2)/G2#*EXP(-UUX/2)
1440 P1=LOG(DF/2*(UUX/2)^(DF/2-1)*G1#/2-(UUX/2)^(DF/2)*G1#/2+(UUX/2)^(DF/2)*G3#/2)-G2#-UUX/2:P1=EXP(P1)
1450 RETURN
1460 '
1470 ' ** T-DISTRIBUTION **
1480 '
1490 *T.PROB.HGF:
1500 DFX=DF/2:DFY=.5
1510 'A0=DFX:B0=1-DFY:C0=DFX+1
1520 'A=A0:B=B0:C=C0
1530 'Z=DF/(DF+UUT*UUT):GOSUB *GAUSS.HGF:G1#=G#
1540 'P0=G1#/DFX*Z^DFX
1550 A0=DFX+DFY:B0=1:C0=DFX+1
1560 A=A0:B=B0:C=C0
1570 Z=DF/(DF+UUT*UUT):GOSUB *GAUSS.HGF:G1#=G#
1580 P0=G1#/DFX*Z^DFX*(1-Z)^DFY
1590 Z=DFX+DFY:GOSUB *LOG.GAMMA:G2#=G#
1600 Z=DFX  :GOSUB *LOG.GAMMA:G3#=G#
1610 Z=DFY  :GOSUB *LOG.GAMMA:G4#=G#
1620 'P0=P0*G2#/G3#/G4#
1630 P0=LOG(P0)+G2#-G3#-G4#:P0=EXP(P0)
1640 P0=P0/2
1650 P0=1-P0
1660 '
1670 A=A0+1:B=B0+1:C=C0+1
1680 Z=DF/(DF+UUT*UUT):GOSUB *GAUSS.HGF:G5#=G#*A0*B0/C0
1690 ZZ=-DF*UUT*2/(DF+UUT*UUT)^2
1700 'P1=-(DFX*Z^(DFX-1)*ZZ*G1#+Z^DFX*G5#*ZZ)/DFX*G2#/G3#/G4#/2
1710 'P1=-(DFX*Z^(DFX-1)*ZZ*(1-Z)^DFY*G1#-Z^DFX*DFY*(1-Z)^(DFY-1)*ZZ*G1#+Z^DFX*(1-Z)^DFY*G5#*ZZ)/DFX*G2#/G3#/G4#/2
1720 P1=LOG(-(DFX*Z^(DFX-1)*ZZ*(1-Z)^DFY*G1#-Z^DFX*DFY*(1-Z)^(DFY-1)*ZZ*G1#+Z^DFX*(1-Z)^DFY*G5#*ZZ))-LOG(DFX)+G2#-G3#-G4#-LOG(2):P1=EXP(P1)
1730 RETURN
1740 '
1750 ' ** F-DISTRIBUTION **
1760 '
1770 *F.PROB.HGF:
1780 DFX=DF2/2:DFY=DF1/2
1790 'A0=DFX:B0=1-DFY:C0=DFX+1
1800 'A=A0:B=B0:C=C0
1810 'Z=DF2/(DF2+DF1*UUF):GOSUB *GAUSS.HGF:G1#=G#
1820 'P0=G1#/DFX*Z^DFX
1830 A0=DFX+DFY:B0=1:C0=DFX+1
1840 A=A0:B=B0:C=C0
1850 Z=DF2/(DF2+DF1*UUF):GOSUB *GAUSS.HGF:G1#=G#
1860 P0=G1#/DFX*Z^DFX*(1-Z)^DFY
1870 Z=DFX+DFY:GOSUB *LOG.GAMMA:G2#=G#
1880 Z=DFX  :GOSUB *LOG.GAMMA:G3#=G#
1890 Z=DFY  :GOSUB *LOG.GAMMA:G4#=G#
1900 'P0=P0*G2#/G3#/G4#
1910 P0=LOG(P0)+G2#-G3#-G4#:P0=EXP(P0)
1920 P0=1-P0
1930 '
1940 A=A0+1:B=B0+1:C=C0+1
1950 Z=DF2/(DF2+DF1*UUF):GOSUB *GAUSS.HGF:G5#=G#*A0*B0/C0
1960 ZZ=-DF2*DF1/(DF2+DF1*UUF)^2
1970 'P1=-(DFX*Z^(DFX-1)*ZZ*G1#+Z^DFX*G5#*ZZ)/DFX*G2#/G3#/G4#
1980 'P1=-(DFX*Z^(DFX-1)*ZZ*(1-Z)^DFY*G1#-Z^DFX*DFY*(1-Z)^(DFY-1)*ZZ*G1#+Z^DFX*(1-Z)^DFY*G5#*ZZ)/DFX*G2#/G3#/G4#
1990 P1=LOG(-(DFX*Z^(DFX-1)*ZZ*(1-Z)^DFY*G1#-Z^DFX*DFY*(1-Z)^(DFY-1)*ZZ*G1#+Z^DFX*(1-Z)^DFY*G5#*ZZ))-LOG(DFX)+G2#-G3#-G4#:P1=EXP(P1)
2000 RETURN
2010 '
2020 ' *** 合流型超幾何関数 ***
2030 '
2040 *CONFLUENT.HGF:' [Kummer]
2050 EPSL=1E-09
2060 G0#=0:G#=1
2070 T#=1:K=1
2080 WHILE ABS(G0#-G#)>EPSL
2090  T#=T#*A/C*Z/K
2100  G0#=G#
2110  G#=G#+T#
2120  K=K+1
2130  A=A+1
2140  C=C+1
2150 WEND
2160 G=G#
2170 RETURN
2180 '
2190 ' *** ガウス型超幾何関数 ***
2200 '
2210 *GAUSS.HGF:
2220 EPSL=1E-09
2230 G0#=0:G#=1
2240 T#=1:K=1
2250 WHILE ABS(G0#-G#)>EPSL
2260  T#=T#*A*B/C*Z/K
2270  G0#=G#
2280  G#=G#+T#
2290  K=K+1
2300  A=A+1
2310  B=B+1
2320  C=C+1
2330 WEND
2340 G=G#
2350 RETURN
2360 '
2370 ' *** 対数ガンマ関数 (HASTINGSの多項式近似) ***
2380 '
2390 *LOG.GAMMA:
2400 A1#=-.577191652#
2410 A2#= .988205891#
2420 A3#=-.897056937#
2430 A4#= .918206857#
2440 A5#=-.756704078#
2450 A6#= .482199394#
2460 A7#=-.193527818#
2470 A8#= .035868343#
2480 X=Z:G#=0
2490 IF X<1 THEN G#=-LOG(X):GOTO 2520
2500 WHILE X>2:X=X-1:G#=G#+LOG(X):WEND
2510 X=X-1
2520 G#=G#+LOG(1+X*(A1#+X*(A2#+X*(A3#+X*(A4#+X*(A5#+X*(A6#+X*(A7#+X*A8#))))))))
2530 L.GAMMA=G#
2540 'G#=EXP(G#)
2550 G=G#
2560 RETURN
 
 核心となる部分,すなわち,超幾何関数値の計算は2010行〜2350行で行っていますが,ここでの計算は密度関数の数値積分をシンプソンの方法に拠らずに求めていることになります.また,新旧プログラムを同時に示していますが,前々回のコラムに掲げたプログラムとの変更点は,以下の通りです.
 
 a)超幾何関数
 正規分布は誤差関数と,χ2分布は不完全ガンマ関数,t分布やF分布は不完全ベータ関数と密接に関係していて,正規分布,χ2分布,ベータ分布の分布関数は超幾何関数を使って以下のように表現されます.
  Φ(x)=1/2+1/√2πx1F1(1/2,3/2,-x^2/2)
  F(x)=(x/2)^(ν/2)1F1(ν/2,1+ν/2,-x/2)/Γ(1+ν/2)
  F(x)=1/px^p2F1(p,1-q,p+1,x)/Β(p,q)
 今回のプログラムでは,桁落ちを避けるために,それぞれ
  Φ(x)=1/2+1/√2πxexp(-x^2/2)1F1(1,3/2,x^2/2)
  F(x)=(x/2)^(ν/2)exp(-x/2)1F1(1,1+ν/2,x/2)
  F(x)=1/px^p(1−x)^q2F1(p+q,1,p+1,x)/Β(p,q)
と変換しました.
 
 b)誤差対策としては,変数を倍精度形式にする方法が考えられますが,実際の統計計算では,入力引数の有効数字は単精度以下ですから,出力引数の桁数がいくら多くても無用の長物であり,かえって実用的ではないということになります.また,BASICの倍精度計算は非常にスピードが遅いため,全部を倍精度計算するのではなく,精度が要求される箇所だけに適宜,倍精度計算を併用しています.
 
 c)100!などの階乗計算はオーバーフローエラーを起こしますので,対数ガンマ関数を計算することによりオーバーフロー対策をしています.
===================================
 
【2】片側確率の計算精度
 
 正規分布の上側確率の計算精度だけを表にしますが,パーセント点の小さいところで精度がよく,大きいところでは悪くなっています.
 
正規分布の上側確率の計算精度
 
%点      計算値       数値表
.2      .42074       .42074
.4      .344578      .34458
.6      .274253      .27425
.8      .211855      .21186
1       .158655      .15866
1.2      .11507       .11507
1.4      .0807567      .080757
1.6      .0547993      .054799
1.8      .0359303      .035930
2       .0227501      .022750
2.2      .0139034      .0103903
2.4      8.19755E-03    .0081975
2.6      .0046612      .0046612
2.8      2.55501E-03    .0025551
3       1.34981E-03    .0013499
3.2      6.87122E-04    .00068714
3.4      3.36885E-04    .00033693
3.6      1.58966E-04    .00015911
3.8      7.23004E-05    .000072348
4       3.15905E-05    .000031671
===================================
 
【3】パーセント点のプログラム
 
 超幾何関数の逆関数が再び超幾何関数になれば,パーセント点の計算は非常に簡単になりますが,そうは問屋が卸しません.また,x→∞のとき,超幾何関数の原始関数は∞−∞になるので,広義定積分値が求められないという難点もあります.しかし,幸いなことに,超幾何関数には微分・積分してもふたたび超幾何関数になるという特性があります.
  d/dx1F1(a,c,x)=a/c1F1(a+1,c+1,x)
  d/dx2F1(a,b,c,x)=ab/c2F1(a+1,b+1,c+1,x)
 
 以下に掲げるパーセント点を求めるアルゴリズムでは,この性質をうまく利用して,超幾何関数の微分を行っています.そして,近似式で求まるパーセント点を初期値として,これを1次の微分まで用いたニュートン法によって補正すると,精度の良いパーセント点が得られます.
 
2570 '
2580 ' ** NORMAL DISTRIBUTION **
2590 '
2600 *NORMAL.PERCENT.HGF:
2610 PP=1-P0:GOSUB *NORMAL.PERCENT:UU=UUN
2620 PROB$="N":GOSUB *NEWTON.HGF
2630 UUN=X
2640 RETURN
2650 '
2660 ' ** CHI-SQUARE DISTRIBUTION **
2670 '
2680 *CHI2.PERCENT.HGF:
2690 PP=1-P0:GOSUB *CHI2.PERCENT:UU=UUX
2700 PROB$="X":GOSUB *NEWTON.HGF
2710 UUX=X
2720 RETURN
2730 '
2740 ' ** T-DISTRIBUTION **
2750 '
2760 *T.PERCENT.HGF:
2770 PP=1-P0:GOSUB *T.PERCENT:UU=UUT
2780 PROB$="T":GOSUB *NEWTON.HGF
2790 UUT=X
2800 RETURN
2810 '
2820 ' ** F-DISTRIBUTION **
2830 '
2840 *F.PERCENT.HGF:
2850 PP=1-P0:GOSUB *F.PERCENT:UU=UUF
2860 PROB$="F":GOSUB *NEWTON.HGF
2870 UUF=X
2880 RETURN
2890 '
2900 ' *** ニュートン法 ***
2910 '
2920 *NEWTON.HGF:
2930 EPSL=1E-09
2940 IMAX=50
2950 '
2960 Q0=P0
2970 D0=UU
2980 '
2990 SW=0
3000 ICNT=0
3010 WHILE SW=0
3020  ICNT=ICNT+1
3030  IF ICNT>IMAX THEN SW=1
3040  DD=D0:GOSUB 3080:D0=DD
3050 WEND
3060 X=DD
3070 RETURN
3080 '
3090 ' ** 逐次計算 **
3100 '
3110 IF PROB$="N" THEN UUN=D0:GOSUB *NORMAL.PROB.HGF
3120 IF PROB$="X" THEN UUX=D0:GOSUB *CHI2.PROB.HGF
3130 IF PROB$="T" THEN UUT=D0:GOSUB *T.PROB.HGF
3140 IF PROB$="F" THEN UUF=D0:GOSUB *F.PROB.HGF
3150 F=P0-Q0:G=P1
3160 DD=D0-F/G
3170 IF ABS(DD-D0)<EPSL THEN SW=1
3180 RETURN
3190 '
3200 ' ** NORMAL DISTRIBUTION **
3210 '
3220 *NORMAL.PERCENT:
3230 XXX=-LOG(4*PP*(1-PP))
3240 UUN=SQR(XXX*(2.0611786#-5.7262204#/(XXX+11.640595#)))
3250 IF PP>.5 THEN UUN=-UUN
3260 RETURN
3270 '
3280 ' ** T-DISTRIBUTION **
3290 '
3300 *T.PERCENT:
3310 GOSUB *NORMAL.PERCENT
3320 UUN=ABS(UUN)
3330 UU2=UUN*UUN
3340 AA1=(UU2+1)/DF/4
3350 AA2=((5*UU2+16)*UU2+3)/96/DF/DF
3360 AA3=(((3*UU2+19)*UU2+17)*UU2-15)/384/DF/DF/DF
3370 AA4=((((79*UU2+776)*UU2+1482)*UU2-1920)*W-945)/92460!/DF/DF/DF/DF
3380 AA5=(((((27*UU2+339)*UU2+930)*UU2-1782)*W-765)*W+17955)/368640!/DF/DF/DF/DF/DF
3390 UUT=UUN*(1+AA1+AA2+AA3+AA4+AA5)
3400 IF PP>.5 THEN UUT=-UUT
3410 RETURN
3420 '
3430 ' ** F-DISTRIBUTION **
3440 '
3450 *F.PERCENT:
3460 IF DF1=1 THEN DF=DF2:PP=PP/2:GOSUB *T.PERCENT                        :UUF=UUT^2:PP=PP*2:RETURN
3470 IF DF2=1 THEN DF=DF2:PP=(1-PP)/2:GOSUB *T.PERCENT                      :UUF=1/UUT^2:PP=1-PP*2:RETURN
3480 IF DF1=2 THEN UUF=DF2/2*(PP^(-2/DF2)-1):RETURN
3490 IF DF2=2 THEN UUF=2/DF1/((1-PP)^(-2/DF1)-1):RETURN
3500 AA=2/9/DF1:BB=2/9/DF2:CC=1-AA:DD=1-BB
3510 GOSUB *NORMAL.PERCENT
3520 UUF=CC*DD+UUN*SQR(CC*CC*BB+DD*DD*AA-AA*BB*UUN*UUN)
3530 UUF=(UUF/(DD*DD-BB*UUN*UUN))^3
3540 RETURN
3550 '
3560 ' ** CHI-SQUARE DISTRIBUTION **
3570 '
3580 *CHI2.PERCENT:
3590 IF DF=1 THEN PP=PP/2:GOSUB *NORMAL.PERCENT                         :UUX=UUN*UUN:PP=PP*2:RETURN
3600 IF DF=2 THEN UUX=-2*LOG(PP):RETURN
3610 GOSUB *NORMAL.PERCENT
3620 UUN=ABS(UUN)
3630 UUX=2/(9*DF)
3640 UUX=1-UUX+UUN*SQR(UUX)
3650 UUX=UUX^3*DF
3660 RETURN
===================================
 
【4】パーセント点の計算精度
 
 最終収束値は,単精度の範囲で数値表の値とよく一致し,非常に精確な値が得られました.小数付き自由度を含む任意の自由度についての片側確率とパーセント点が簡便に求められるうえに,精度も高く,その実用上の意味は大きいと考えられます.
 
a)正規分布の%点の計算精度
 
上側確率    近似値       計算値       数値表
.4      .25324       .253347       .25335
.3      .524282      .5244        .52440
.2      .841693      .841621       .84162
.1      1.2821       1.28155       1.28155
.05      1.64564      1.64485       1.64485
.025     1.96059      1.95996       1.95996
.02      2.05426      2.05375       2.05375
.01      2.32636      2.32635       2.32635
.005     2.57526      2.57583       2.57583
.002     2.87696      2.87816       2.87816
.001     3.08874      3.09024       3.09023
 
b)χ2分布の上側5%点の計算精度
 
自由度     近似値       計算値       数値表
1       3.84393      3.84146       3.84146
2       5.99146      5.99146       5.99146
3       7.77862      7.81472       7.81473
4       9.45998      9.48772       9.48773
5       11.0481      11.0705       11.0705
6       12.5731      12.5916       12.5916
8       15.4939      15.5073       15.5073
10      18.297       18.307       18.3070
12      21.0185      21.026       21.0261
15      24.9908      24.9958       24.9958
20      31.4084      31.4105       31.4104
30      43.7744      43.773       43.7730
 
c)χ2分布の上側5%点の計算精度(小数自由度)
 
自由度     近似値       計算値       数値表
.5      2.25689      2.42024       2.420
.6      2.60387      2.7447       2.745
.7      2.91994      3.04391       3.044
.8      3.21301      3.32391       3.324
.9      3.4883       3.5888       3.589
1       3.84393      3.84146       3.841
1.1      3.99904      4.08401       4.084
1.2      4.23904      4.31803       4.318
1.3      4.47092      4.54478       4.545
1.4      4.69583      4.76523       4.765
1.5      4.9147       4.98019       4.980
1.6      5.12825      5.19029       5.190
1.7      5.3371       5.39605       5.396
1.8      5.54176      5.59793       5.598
1.9      5.74264      5.79628       5.796
2       5.99146      5.99146       5.991
2.2      6.32599      6.37332       6.373
2.4      6.70141      6.74534       6.745
2.6      7.06789      7.10886       7.109
2.8      7.42664      7.46503       7.465
3       7.77862      7.81472       7.815
3.2      8.1246       8.1587       8.159
3.4      8.46523      8.49749       8.497
3.6      8.80104      8.83167       8.832
3.8      9.1325       9.16163       9.162
4       9.45998      9.48772       9.488
4.2      9.78382      9.81031       9.810
4.4      10.1043      10.1297       10.13
4.6      10.4217      10.446       10.45
4.8      10.73638      10.7595       10.76
5       11.0481      11.0705       11.07
5.5      11.8173      11.8376       11.84
6       12.5731      12.5916       12.59
6.5      13.3173      13.3343       13.33
7       14.0515      14.0671       14.07
7.5      14.7767      14.7911       14.79
8       15.4939      15.5073       15.51
8.5      16.2039      16.2164       16.22
9       16.9074      16.919       16.92
9.5      17.605       17.6157       17.62
10      18.297       18.307       18.31
 
d)t分布の上側5%点の計算精度
 
自由度     近似値       計算値       数値表
1       5.64282      6.31375       6.314
2       2.88875      2.91999       2.920
3       2.34886      2.35336       2.353
4       2.13136      2.13185       2.132
5       2.01554      2.01505       2.015
6       1.94398      1.94318       1.943
7       1.89548      1.89458       1.895
8       1.86048      1.85955       1.860
9       1.83406      1.83311       1.833
10      1.8134       1.81246       1.812
12      1.78322      1.78229       1.782
15      1.75396      1.75305       1.753
20      1.72559      1.72472       1.725
30      1.69811      1.69726       1.697
50      1.67672      1.67591       1.676
100      1.66103      1.66023      
 
 近似式では,自由度νの小さいところでt(ν,α)の誤差が大きく,信頼性に欠けます.
 
e)t分布の上側5%点の計算精度(小数自由度)
 
自由度     近似値       計算値       数値表
.5      20.5678      41.136       41.136
.6      13.604       21.3618       21.362
.7      10.0087      13.5871       13.587
.8      7.90406      9.7866       9.787
.9      6.55919      7.64534       7.645
1       5.64282      6.31375       6.314
1.1      4.98707      5.42384       5.424
1.2      4.4994       4.7958       4.796
1.3      4.12529      4.33334       4.333
1.4      3.8309       3.98105       3.981
1.5      3.59426      3.70518       3.705
1.6      3.40056      3.48415       3.484
1.7      3.23956      3.30361       3.304
1.8      3.10392      3.15373       3.154
1.9      2.98831      3.02754       3.028
2       2.88875      2.91999       2.920
2.2      2.72642      2.74677       2.747
2.4      2.60008      2.61372       2.614
2.6      2.49924      2.50856       2.509
2.8      2.41704      2.4235       2.424
3       2.34886      2.35336       2.353
3.2      2.29147      2.29459       2.295
3.4      2.24253      2.24467       2.245
3.6      2.20034      2.20176       2.202
3.8      2.16361      2.1645       2.164
4       2.13136      2.13185       2.132
4.2      2.10283      2.10301       2.103
4.4      2.07742      2.07736       2.077
4.6      2.05464      2.05441       2.054
4.8      2.03412      2.03374       2.034
5       2.01554      2.01505       2.015
5.5      1.97596      1.97528       1.975
6       1.94398      1.94318       1.943
6.5      1.9176       1.91674       1.917
7       1.89548      1.89458       1.895
7.5      1.87667      1.87575       1.876
8       1.86048      1.85955       1.860
8.5      1.84641      1.84547       1.845
9       1.83406      1.83311       1.833
9.5      1.82313      1.82219       1.822
10      1.8134       1.81246       1.812
 
f)F分布の上側5%点の計算精度
 
自由度     近似値       計算値       数値表
1,1      95.978       161.447       161.448
1,2      17.4393      18.5128       18.513
1,3      9.99192      10.128       10.128
1,4      7.67739      7.70865       7.709
1,6      5.98612      5.98738       5.987
1,8      5.32008      5.31766       5.318
1,10     4.96772      4.9646       4.965
1,15     4.54626      4.54307       4.543
1,30     4.17373      4.17088       4.171
1,60     4.00384      4.0012       4.001
 
2,1      154.775      199.5        199.500
2,2      19         19         19.000
2,3      9.55209      9.55209       9.552
2,4      6.94427      6.94427       6.944
2,6      5.14325      5.14325       5.143
2,8      4.45897      4.45897       4.459
2,10     4.10282      4.10282       4.103
2,15     3.68232      3.68232       3.682
2,30     3.31583      3.31583       3.316
2,60     3.15041      3.15041       3.150
 
3,1      154.775      215.707       215.707
3,2      19.1643      19.1643       19.164
3,3      9.86395      9.27663       9.277
3,4      6.75146      6.59138       6.591
3,6      4.78438      4.75706       4.757
3,8      4.07056      4.06618       4.066
3,10     3.70538      3.70826       3.708
3,15     3.27918      3.28738       3.287
3,30     2.91155      2.92228       2.922
3,60     2.74662      2.75807       2.758
 
4,1      154.775      224.583       224.583
4,2      19.2468      19.2468       19.247
4,3      9.71849      9.11718       9.117
4,4      6.55433      6.38823       6.388
4,6      4.56561      4.53368       4.534
4,8      3.84687      3.83785       3.838
4,10     3.47988      3.47805       3.478
4,15     3.05221      3.05557       3.056
4,30     2.68389      2.68963       2.690
4,60     2.5188       2.52522       2.525
 
6,1      154.775      233.986       233.986
6,2      19.3295      19.3295       19.330
6,3      9.55348      8.94064       8.941
6,4      6.33337      6.16313       6.163
6,6      4.31885      4.28387       4.284
6,8      3.59275      3.58058       3.581
6,10     3.22228      3.21717       3.217
6,15     2.79058      2.79047       2.790
6,30     2.41846      2.42052       2.421
6,60     2.25141      2.25405       2.254
 
8,1      154.775      238.883       238.883
8,2      19.3711      19.371       19.371
8,3      9.46287      8.84524       8.845
8,4      6.21262      6.04104       6.041
8,6      4.18272      4.1468       4.147
8,8      3.45127      3.4381       3.438
8,10     3.07783      3.07166       3.072
8,15     2.64209      2.6408       2.641
8,30     2.26539      2.26616       2.266
8,60     2.09568      2.09697       2.097
 
10,1     154.775      241.882       241.882
10,2     19.3958      19.3959       19.396
10,3     9.4057       8.78552       8.786
10,4     6.13651      5.96437       5.964
10,6     4.09623      4.05996       4.060
10,8     3.36074      3.34716       3.347
10,10     2.98486      2.97824       2.978
10,15     2.54553      2.54372       2.544
10,30     2.16441      2.16458       2.165
10,60     1.99194      1.99259       1.993
 
15,1     154.775      245.949       245.950
15,2     19.4292      19.4291       19.429
15,3     9.32601      8.70286       8.703
15,4     6.03038      5.85781       5.858
15,6     3.97456      3.93806       3.938
15,8     3.23229      3.21841       3.218
15,10     2.85201      2.84502       2.845
15,15     2.40571      2.40345       2.403
15,30     2.01519      2.0148       2.015
15,60     1.8364       1.83644       1.836
 
30,1     154.775      250.095       250.095
30,2     19.4627      19.4624       19.462
30,3     9.24216      8.61658       8.617
30,4     5.91852      5.74588       5.746
30,6     3.8446       3.80816       3.808
30,8     3.09332      3.07941       3.079
30,10     2.70664      2.69955       2.700
30,15     2.24923      2.24679       2.247
30,30     1.84152      1.84087       1.841
30,60     1.64942      1.64914       1.649
 
 t分布の場合と同様,F分布の近似式でも,ν2の小さいところ,とくに4よりも小さい自由度に関して,F(ν1,ν2,α)の誤差はかなり大きくなっています.
===================================
 
【5】連分数展開式によるプログラム
 
1000 '
1010 ' ** NORMAL DISTRIBUTION **
1020 '
1030 *NORMAL.PROB.HGF:
1040 PI#=3.141592653589732#
1050 A0=1:C0=1.5
1060 A=A0:C=C0
1070 Z=UUN*UUN/2:GOSUB *CONFLUENT.HGF1:G1#=G#
1080 P0=.5#+G1#*UUN*EXP(-UUN*UUN/2)/SQR(PI#*2)
1090 '
1100 A=A0:C=C0+1
1110 Z=UUN*UUN/2:GOSUB *CONFLUENT.HGF1:G2#=G#*(A0/C0-1)+G1#
1120 P1=(G1#-G1#*UUN*UUN+G2#*UUN*UUN)*EXP(-UUN*UUN/2)/SQR(PI#*2)
1130 RETURN
1140 '
1150 ' ** CHI-SQUARE DISTRIBUTION **
1160 '
1170 *CHI2.PROB.HGF:
1180 A0=1:C0=1+DF/2
1190 A=A0:C=C0
1200 Z=UUX/2:GOSUB *CONFLUENT.HGF1:G1#=G#
1210 Z=1+DF/2:GOSUB *LOG.GAMMA:G2#=G#
1220 'P0=G1#/G2#*(UUX/2)^(DF/2)*EXP(-UUX/2)
1230 P0=LOG(G1#)-G2#+LOG(UUX/2)*(DF/2)-UUX/2:P0=EXP(P0)
1240 '
1250 A=A0:C=C0+1
1260 Z=UUX/2:GOSUB *CONFLUENT.HGF1:G3#=G#*(A0/C0-1)+G1#
1270 'P1=(DF/2*(UUX/2)^(DF/2-1)*G1#/2-(UUX/2)^(DF/2)*G1#/2+(UUX/2)^(DF/2)*G3#/2)/G2#*EXP(-UUX/2)
1280 P1=LOG(DF/2*(UUX/2)^(DF/2-1)*G1#/2-(UUX/2)^(DF/2)*G1#/2+(UUX/2)^(DF/2)*G3#/2)-G2#-UUX/2:P1=EXP(P1)
1290 RETURN
1300 '
1310 ' ** T-DISTRIBUTION **
1320 '
1330 *T.PROB.HGF:
1340 DFX=DF/2:DFY=.5
1350 A0=DFX+DFY:B0=1:C0=DFX+1
1360 A=A0:B=B0:C=C0
1370 Z=DF/(DF+UUT*UUT):GOSUB *GAUSS.HGF1:G1#=G#
1380 P0=G1#/DFX*Z^DFX*(1-Z)^DFY
1390 Z=DFX+DFY:GOSUB *LOG.GAMMA:G2#=G#
1400 Z=DFX  :GOSUB *LOG.GAMMA:G3#=G#
1410 Z=DFY  :GOSUB *LOG.GAMMA:G4#=G#
1420 'P0=P0*G2#/G3#/G4#
1430 P0=LOG(P0)+G2#-G3#-G4#:P0=EXP(P0)
1440 P0=P0/2
1450 P0=1-P0
1460 '
1470 A=A0+1:B=B0:C=C0
1480 Z=DF/(DF+UUT*UUT):GOSUB *GAUSS.HGF1:G5#=(G#-G1#)*A0/Z
1490 ZZ=-DF*UUT*2/(DF+UUT*UUT)^2
1500 'P1=-(DFX*Z^(DFX-1)*ZZ*(1-Z)^DFY*G1#-Z^DFX*DFY*(1-Z)^(DFY-1)*ZZ*G1#+Z^DFX*(1-Z)^DFY*G5#*ZZ)/DFX*G2#/G3#/G4#/2
1510 P1=LOG(-(DFX*Z^(DFX-1)*ZZ*(1-Z)^DFY*G1#-Z^DFX*DFY*(1-Z)^(DFY-1)*ZZ*G1#+Z^DFX*(1-Z)^DFY*G5#*ZZ))-LOG(DFX)+G2#-G3#-G4#-LOG(2):P1=EXP(P1)
1520 RETURN
1530 '
1540 ' ** F-DISTRIBUTION **
1550 '
1560 *F.PROB.HGF:
1570 DFX=DF2/2:DFY=DF1/2
1580 A0=DFX+DFY:B0=1:C0=DFX+1
1590 A=A0:B=B0:C=C0
1600 Z=DF2/(DF2+DF1*UUF):GOSUB *GAUSS.HGF1:G1#=G#
1610 P0=G1#/DFX*Z^DFX*(1-Z)^DFY
1620 Z=DFX+DFY:GOSUB *LOG.GAMMA:G2#=G#
1630 Z=DFX  :GOSUB *LOG.GAMMA:G3#=G#
1640 Z=DFY  :GOSUB *LOG.GAMMA:G4#=G#
1650 'P0=P0*G2#/G3#/G4#
1660 P0=LOG(P0)+G2#-G3#-G4#:P0=EXP(P0)
1670 P0=1-P0
1680 '
1690 A=A0+1:B=B0:C=C0
1700 Z=DF2/(DF2+DF1*UUF):GOSUB *GAUSS.HGF1:G5#=(G#-G1#)*A0/Z
1710 ZZ=-DF2*DF1/(DF2+DF1*UUF)^2
1720 'P1=-(DFX*Z^(DFX-1)*ZZ*(1-Z)^DFY*G1#-Z^DFX*DFY*(1-Z)^(DFY-1)*ZZ*G1#+Z^DFX*(1-Z)^DFY*G5#*ZZ)/DFX*G2#/G3#/G4#
1730 P1=LOG(-(DFX*Z^(DFX-1)*ZZ*(1-Z)^DFY*G1#-Z^DFX*DFY*(1-Z)^(DFY-1)*ZZ*G1#+Z^DFX*(1-Z)^DFY*G5#*ZZ))-LOG(DFX)+G2#-G3#-G4#:P1=EXP(P1)
1740 RETURN
1750 '
1760 ' *** 合流型超幾何関数の連分数展開 ***
1770 '
1780 *CONFLUENT.HGF1:' 1F1(1,c,x)
1790 NZ=50
1800 G#=0
1810 FOR ID=NZ TO 1 STEP -1
1820  EVEN#=ID/(C+2*ID-1)/(C+2*ID-2)
1830  ODD#=-(C+ID-1)/(C+2*ID)/(C+2*ID-1)
1840  G#=ODD#*Z/(1+G#)
1850  G#=EVEN#*Z/(1+G#)
1860 NEXT ID
1870 G#=-Z/C/(1+G#)
1880 G#=1/(1+G#)
1890 RETURN
1900 '
1910 ' *** ガウス型超幾何関数の連分数展開 ***
1920 '
1930 *GAUSS.HGF1:' 2F1(a,1,c,x)
1940 NZ=50
1950 G#=0
1960 FOR ID=NZ TO 1 STEP -1
1970  ODD#=-(A+ID-1)*(C+ID-2)/(C+2*ID-2)/(C+2*ID-3)
1980  EVEN#=-ID*(C-A+ID-1)/(C+2*ID-1)/(C+2*ID-2)
1990  G#=EVEN#*Z/(1+G#)
2000  G#=ODD#*Z/(1+G#)
2010 NEXT ID
2020 G#=1/(1+G#)
2030 RETURN
 
 1750行〜2350行の合流型超幾何関数1F1(1,c,x),ガウス型超幾何関数2F1(a,1,c,x)の連分数展開式は,一松信「特殊関数入門」森北出版を参考にしました.ベキ級数展開では,収束の様子を探りながら繰り返しを続けるか,打ち切るかを決めていましたが,収束状況の判定時間が惜しいので,連分数展開ではあらかじめ何回繰り返せば許容誤差をみたすかどうかを調べておき,無条件にその回数だけ繰り返しています(1790,1940行).
 
 正規分布の場合,合流型超幾何関数の連分数展開はシェントンの式として知られるものに一致しますが,このプログラムでは,もっと一般性をもたせたコーディングにしてあります.また,このプログラムでは,微分値を漸化式
  (a-c)1F1(a,c+1,x)-c1F1(a,c,x)=a1F1(a+1,c+1,c)
  2F1(a+1,b,c,x)-2F1(a,b,c,x)=bx/c*2F1(a+1,b+1,c+1)
を用いて計算しています.
===================================
 
【6】連分数展開式による片側確率の計算精度
 
正規分布の上側確率の計算精度
 
%点      連分数展開     ベキ級数展開    数値表
.2      .42074       .42074       .42074  
.4      .344578      .344578      .34458  
.6      .274253      .274253      .27425  
.8      .211855      .211855      .21186  
1       .158655      .158655      .15866  
1.2      .11507       .11507       .11507  
1.4      .0807567      .0807567      .080757 
1.6      .0547993      .0547993      .054799 
1.8      .0359303      .0359303      .035930 
2       .0227501      .0227501      .022750 
2.2      .0139036      .0139034      .0103903 
2.4      8.19767E-03    8.19755E-03    .0081975 
2.6      4.66144E-03    .0046612      .0046612 
2.8      2.55531E-03    2.55501E-03    .0025551 
3       1.35034E-03    1.34981E-03    .0013499 
3.2      6.87301E-04    6.87122E-04    .00068714
3.4      3.38435E-04    3.36885E-04    .00033693
3.6      1.65761E-04    1.58966E-04    .00015911
3.8      8.40425E-05    7.23004E-05    .000072348
4       2.44975E-05    3.15905E-05    .000031671
 
 連分数展開式は%点の小さいところで精度がよいのですが,大きいところでは,ベキ級数展開よりもかなり悪くなっています.変数をすべて倍精度形式にして,計算項数を多くすれば精度が向上するのではないかと考えられますが,時間がかかるうえに,誤差も小さくはなりませんでした.したがって,連分数展開の精度はベキ級数展開に及ばず,精度がよいとする従来の見解には懐疑的にならざるを得ません.
===================================
 
【7】連分数展開式によるパーセント点の計算精度
 
a)正規分布の%点の計算精度
 
上側確率    連分数展開     ベキ級数展開    数値表
.4      .253347      .253347       .25335
.3      .5244       .5244        .52440
.2      .841621      .841621       .84162
.1      1.28155      1.28155       1.28155
.05      1.64485      1.64485       1.64485
.025     1.95996      1.95996       1.95996
.02      2.05375      2.05375       2.05375
.01      2.32635      2.32635       2.32635
.005     2.57586      2.57583       2.57583
.002     2.87816      2.87816       2.87816
.001     3.09043      3.09024       3.09023
 
b)χ2分布の上側5%点の計算精度
 
自由度     連分数展開     ベキ級数展開    数値表
1       3.84146      3.84146       3.84146
2       5.99147      5.99146       5.99146
3       7.81474      7.81472       7.81473
4       9.48773      9.48772       9.48773
5       11.0705      11.0705       11.0705
6       12.5916      12.5916       12.5916
8       15.5073      15.5073       15.5073
10      18.307       18.307       18.3070
12      21.026       21.026       21.0261
15      24.9958      24.9958       24.9958
20      31.4105      31.4105       31.4104
30      43.7728      43.773       43.7730
 
 この連分数展開では,自由度が大きいとき,パーセント点の小さいところでの収束が遅い.
 
c)χ2分布の上側5%点の計算精度(小数自由度)
 
自由度     連分数展開     ベキ級数展開    数値表
.5      2.42024      2.42024       2.420
.6      2.7447       2.7447       2.745
.7      3.04391      3.04391       3.044
.8      3.32391      3.32391       3.324
.9      3.5888       3.5888       3.589
1       3.84146      3.84146       3.841
1.1      4.084       4.08401       4.084
1.2      4.31802      4.31803       4.318
1.3      4.54478      4.54478       4.545
1.4      4.76523      4.76523       4.765
1.5      4.98019      4.98019       4.980
1.6      5.19029      5.19029       5.190
1.7      5.39605      5.39605       5.396
1.8      5.59794      5.59793       5.598
1.9      5.79629      5.79628       5.796
2       5.99147      5.99146       5.991
2.2      6.37329      6.37332       6.373
2.4      6.7453       6.74534       6.745
2.6      7.10886      7.10886       7.109
2.8      7.46502      7.46503       7.465
3       7.81474      7.81472       7.815
3.2      8.15866      8.1587       8.159
3.4      8.49746      8.49749       8.497
3.6      8.83164      8.83167       8.832
3.8      9.16162      9.16163       9.162
4       9.48773      9.48772       9.488
4.2      9.8103       9.81031       9.810
4.4      10.1296      10.1297       10.13
4.6      10.446       10.446       10.45
4.8      10.7596      10.7595       10.76
5       11.0705      11.0705       11.07
5.5      11.8376      11.8376       11.84
6       12.5916      12.5916       12.59
6.5      13.3344      13.3343       13.33
7       14.0672      14.0671       14.07
7.5      14.7912      14.7911       14.79
8       15.5073      15.5073       15.51
8.5      16.2163      16.2164       16.22
9       16.919       16.919       16.92
9.5      17.6157      17.6157       17.62
10      18.307       18.307       18.31
 
d)t分布の上側5%点の計算精度
 
自由度     連分数展開     ベキ級数展開    数値表
1       6.31375      6.31375       6.314
2       2.91999      2.91999       2.920
3       2.35336      2.35336       2.353
4       2.13185      2.13185       2.132
5       2.01505      2.01505       2.015
6       1.94318      1.94318       1.943
7       1.89458      1.89458       1.895
8       1.85955      1.85955       1.860
9       1.83311      1.83311       1.833
10      1.81246      1.81246       1.812
12      1.78229      1.78229       1.782
15      1.75305      1.75305       1.753
20      1.72472      1.72472       1.725
30      1.69726      1.69726       1.697
50      1.6759       1.67591       1.676
100      1.66023      1.66023         
 
e)t分布の上側5%点の計算精度(小数自由度)
 
自由度     連分数展開     ベキ級数展開    数値表
.5      41.136       41.136       41.136
.6      21.3618      21.3618       21.362
.7      13.5871      13.5871       13.587
.8      9.7866       9.7866       9.787 
.9      7.64534      7.64534       7.645 
1       6.31375      6.31375       6.314 
1.1      5.42384      5.42384       5.424 
1.2      4.7958       4.7958       4.796 
1.3      4.33334      4.33334       4.333 
1.4      3.98105      3.98105       3.981 
1.5      3.70518      3.70518       3.705 
1.6      3.48415      3.48415       3.484 
1.7      3.30361      3.30361       3.304 
1.8      3.15373      3.15373       3.154 
1.9      3.02754      3.02754       3.028 
2       2.91999      2.91999       2.920 
2.2      2.74677      2.74677       2.747 
2.4      2.61372      2.61372       2.614 
2.6      2.50856      2.50856       2.509 
2.8      2.4235       2.4235       2.424 
3       2.35336      2.35336       2.353 
3.2      2.29459      2.29459       2.295 
3.4      2.24467      2.24467       2.245 
3.6      2.20176      2.20176       2.202 
3.8      2.1645       2.1645       2.164 
4       2.13185      2.13185       2.132 
4.2      2.10301      2.10301       2.103 
4.4      2.07736      2.07736       2.077 
4.6      2.05441      2.05441       2.054 
4.8      2.03374      2.03374       2.034 
5       2.01505      2.01505       2.015 
5.5      1.97528      1.97528       1.975 
6       1.94318      1.94318       1.943 
6.5      1.91674      1.91674       1.917 
7       1.89458      1.89458       1.895 
7.5      1.87575      1.87575       1.876 
8       1.85955      1.85955       1.860 
8.5      1.84547      1.84547       1.845 
9       1.83311      1.83311       1.833 
9.5      1.82219      1.82219       1.822 
10      1.81246      1.81246       1.812 
 
f)F分布の上側5%点の計算精度
 
自由度     連分数展開     ベキ級数展開    数値表
1,1      161.447      161.447       161.448
1,2      18.5128      18.5128       18.513
1,3      10.128       10.128       10.128
1,4      7.70865      7.70865       7.709 
1,6      5.98738      5.98738       5.987 
1,8      5.31766      5.31766       5.318 
1,10     4.9646       4.9646       4.965 
1,15     4.54307      4.54307       4.543 
1,30     4.17088      4.17088       4.171 
1,60     4.00119      4.0012       4.001 
2,1      199.5       199.5        199.500
2,2      19         19         19.000
2,3      9.55209      9.55209       9.552 
2,4      6.94427      6.94427       6.944 
2,6      5.14325      5.14325       5.143 
2,8      4.45897      4.45897       4.459 
2,10     4.10282      4.10282       4.103 
2,15     3.68232      3.68232       3.682 
2,30     3.31583      3.31583       3.316 
2,60     3.15041      3.15041       3.150 
3,1      215.707      215.707       215.707
3,2      19.1643      19.1643       19.164
3,3      9.27663      9.27663       9.277 
3,4      6.59138      6.59138       6.591 
3,6      4.75706      4.75706       4.757 
3,8      4.06618      4.06618       4.066 
3,10     3.70826      3.70826       3.708 
3,15     3.28738      3.28738       3.287 
3,30     2.92228      2.92228       2.922 
3,60     2.75807      2.75807       2.758 
 
4,1      224.583      224.583       224.583
4,2      19.2468      19.2468       19.247
4,3      9.11718      9.11718       9.117 
4,4      6.38823      6.38823       6.388 
4,6      4.53368      4.53368       4.534 
4,8      3.83785      3.83785       3.838 
4,10     3.47805      3.47805       3.478 
4,15     3.05557      3.05557       3.056 
4,30     2.68963      2.68963       2.690 
4,60     2.52522      2.52522       2.525 
 
6,1      233.986      233.986       233.986
6,2      19.3295      19.3295       19.330
6,3      8.94064      8.94064       8.941 
6,4      6.16313      6.16313       6.163 
6,6      4.28387      4.28387       4.284 
6,8      3.58058      3.58058       3.581 
6,10     3.21717      3.21717       3.217 
6,15     2.79047      2.79047       2.790 
6,30     2.42052      2.42052       2.421 
6,60     2.25405      2.25405       2.254 
 
8,1      238.883      238.883       238.883
8,2      19.371       19.371       19.371
8,3      8.84524      8.84524       8.845 
8,4      6.04104      6.04104       6.041 
8,6      4.1468       4.1468       4.147 
8,8      3.4381       3.4381       3.438 
8,10     3.07166      3.07166       3.072 
8,15     2.64408      2.6408       2.641 
8,30     2.26616      2.26616       2.266 
8,60     2.09697      2.09697       2.097 
 
10,1     241.882      241.882       241.882
10,2     19.3959      19.3959       19.396
10,3     8.78552      8.78552       8.786 
10,4     5.96437      5.96437       5.964 
10,6     4.05996      4.05996       4.060 
10,8     3.34716      3.34716       3.347 
10,10     2.97824      2.97824       2.978 
10,15     2.54372      2.54372       2.544 
10,30     2.16458      2.16458       2.165 
10,60     1.99259      1.99259       1.993 
                              
15,1     245.949      245.949       245.950
15,2     19.4291      19.4291       19.429
15,3     8.70286      8.70286       8.703 
15,4     5.85781      5.85781       5.858 
15,6     3.93806      3.93806       3.938 
15,8     3.21841      3.21841       3.218 
15,10     2.84502      2.84502       2.845 
15,15     2.40345      2.40345       2.403 
15,30     2.0148       2.0148       2.015 
15,60     1.83644      1.83644       1.836 
                              
30,1     250.095      250.095       250.095
30,2     19.4624      19.4624       19.462
30,3     8.61658      8.61658       8.617 
30,4     5.74588      5.74588       5.746 
30,6     3.80816      3.80816       3.808 
30,8     3.07941      3.07941       3.079 
30,10     2.69955      2.69955       2.700 
30,15     2.24679      2.24679       2.247 
30,30     1.84087      1.84087       1.841 
30,60     1.64914      1.64914       1.649 
 
 一般的にいって,連分数展開は計算の手間に比して精度がよくないという期待はずれの結果となりました.連分数展開にとっては悲観的な見方になりますが,高精度計算が必要なときは,ベキ級数展開のほうがよいし,高精度計算が必要なとき以外は,近似式を用いるほうが得策と考えられます.
 ただし,近似式では自由度νの小さいところでt(ν,α),自由度ν2の小さいところでF(ν1,ν2,α)の誤差がかなり大きいことを念頭に入れておく必要があります.
===================================