過去の桐井戸端BBS (桐ver.8)
17017 桐で正規分布表の値を取り出すことはできるのでしょうか grima 2002/08/16-03:48
いつもお世話になっております。

桐で正規分布表の値を取り出すことはできないのでしょうか。
Excel では normsdist() という関数があるようなのですが
データベースである桐ではこのような計算はできないのでしょうか。

要するに、ここに書かれているような値を取り出したいのですが・・
http://aoki2.si.gunma-u.ac.jp/CGI-BIN/tgxp.html

統計には全くの初心者なのですが、どなたかご存じであれば教えて頂けないでしょうか。
よろしくお願いします。
17028 Re:正規分布表の値の取り出しについて うにん 2002/08/16-14:57
記事番号17017へのコメント
>桐で正規分布表の値を取り出すことはできないのでしょうか。
>Excel では normsdist() という関数があるようなのですが
>データベースである桐ではこのような計算はできないのでしょうか。

そういう関数はないみたいですね。
こういう場合は、Excelで表を作ってそれを桐に読みこんで、その桐の表を表引きで使うのはどうでしょう。

#表引き(求めたい数値,≧,"正規分布表.tbl",[Z],[Pr])

試して見ると、Zが6.12でPrが1になるので、613行の表を作ればOK。
Zの降順で索引を定義しておきます。

数表より荒い数値でよければ近似値の計算式も考えられるかもしれません。
もうちょっと精度が欲しければ表を小数第3位まで作るとかします。

17032 Re:正規分布表の値の取り出しについて grima 2002/08/16-23:37
記事番号17028へのコメント
うにんさんどうもありがとうございました。

計算式の一部として使いたかったので関数または回避策があれば・・・
と思ったのですが、やはり表をつくって表引きでもってくるしかなさそうですね。

正規分布表を作ることにします。

17033 Re:近似値で対応 pokopon 2002/08/17-02:00
記事番号17017へのコメント
grimaさん こんばんは

>桐で正規分布表の値を取り出すことはできないのでしょうか。
>Excel では normsdist() という関数があるようなのですが
>データベースである桐ではこのような計算はできないのでしょうか。

桐とはあんまり関係のない話題ですけど・・・・ (^_^)

確率密度関数をある範囲で積分したものですので、正式には関数一発では無理だと思います。
(確立密度関数を細かい区分で計算し足し算させることになります。
eの二次関数のべき乗の積分ですので、積分結果が完結しておりません)

こういう時は、「近似値で対応」ができませんか?

金融関係でよく使う(らしい?私も知らないが…)ブラック=ショールズ式(近似計算)があるそうな。(^^ゞ
http://www.cs.reitaku-u.ac.jp/~ykago/semi/semi1-5-4.html
の「2.標準正規分布の累積密度関数の値」を参照。
ただし、
N(X)=1−N'(X)・・・・・
は、
http://aoki2.si.gunma-u.ac.jp/CGI-BIN/tgxp.html
と同じ結果を得たいのであれば、
N(X)=N'(X)・・・・  (1− を除く。 どちら側へかの積分かによる違い。
Xの∞方向への積分か、0方向への積分か)
とすればよいと思います。

有効数字の問題もありますが、4桁程度であればよく一致します。
(当方で桐に実装し確認済み)
分布表の数値そのものも、丸めの関係で誤差を含みますので、同等かと思います。
(そこまで精度を要求しているわけではないでしょ?)

表引きによる方法もあるかと思いますが、これも「関数もどき」として使えるかと思います。
(Excelのnormsdist()関数だって、おそらく内部的には近似計算かと思いますよ。
真面目に積分計算していたら、どんなに高速PCでも、動作が遅くなる?)

ちなみに、桐に実装する場合には下記を参照(動作&結果の確認済み)
[Z] 数値
[Pr] 数値 計算式は下記
#計算(#代入(&秒,1/(1+0.33267*[Z])),1/(#SQRT(2*#PI))*#EXP(-[Z]*[Z]/2)*
(0.4361836*&秒-0.1201676*&秒*&秒+0.9372980*&秒*&秒*&秒))

(&秒は計算の都合上の変数です。不適当であれば、別の数値型の変数を使うか、
別途宣言して下さい)

17040 Re:近似値で対応 grima 2002/08/19-18:09
記事番号17033へのコメント
pokoponさんどうもありがとうございます。
非常に参考になりました。
表引きを使うよりもすっきりと処理できそうです

ちまちまと正規分布表をつくって”表引き”しようとしていましたが
教えて頂いた近似式を使わせて頂こうと思います。

ありがとうございました。


戻る