stdlib-js / stdlib-js/stdlib

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

未关闭
#2,528 5 条评论 0 个 reaction 已指派 1 人 已被 @Planeshifter 认领 在 GitHub 查看
Needs Discussion Statistics
主要语言
JavaScript
星标
6k
派生
1.3k
平均合并
1 天 3 小时
30 天内合并 PR
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 摘要。