stdlib-js / stdlib-js/stdlib

Logarithm of the Cumulative Distribution Function for a Student's t distribution.

オープン
#2,528 コメント 5 件 リアクション 0 件 担当者 1 名 @Planeshifter が担当を希望しています GitHub で見る
Needs Discussion Statistics
主要言語
JavaScript
スター
6k
フォーク
1.3k
平均マージ
1日 3時間
マージ済み PR(30日)
611

説明

1. The formula for F(x;nu) in the documentation is only valid for x>0.

image

Wikipedia uses t (not x), but gives the same formula, but for t>0 only:

image

From "Sampling Student’s T distribution – use of the inverse cumulative distribution function" by William T. Shaw:
image

And the same formula is returned by `wolframscript`:
![image](https://github.com/stdlib-js/stdlib/assets/461765/740b5b1d-1c54-4a48-9d77-a8972114058b)

2. There is a problem in the implementation of `logcdf`.
The implementation basically computes the normal cdf-probability and then takes the logarithm.
This defeats the purpose of having a `logcdf`, which is meant to be used when `cdf(x)` is
so small it is rounded to 0.

The formula for `cdf` uses the incomplete beta function, which in turn uses `beta`.
Your project includes an `betaln` which computes the logarithm of a beta value.
A solution must be to use `betaln` to implement an "logarithm of a regularized, incomplete beta function"
and use that to implement `logcdf`.

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。