haskell / haskell/statistics

Problems with Student-T distribution

Open
#160 1 comment 0 reactions 0 assignees View on GitHub
Bug
Dominant language
Haskell
Stars
309
Forks
76
PR merge metrics
No merged PRs in 30d

Description

So far following problems with Student-T distribution were identified:

1. `quantile` lose precision for p≈0.5 since x becomes close to 1, while p is near zero
```haskell
quantile :: StudentT -> Double -> Double
quantile (StudentT ndf) p
| p >= 0 && p <= 1 =
let x = invIncompleteBeta (0.5 * ndf) 0.5 (2 * min p (1 - p))
in case sqrt $ ndf * (1 - x) / x of
r | p < 0.5 -> -r
| otherwise -> r
```

2. Both precision and performance suffer greatly for large degrees of freedom. Reason is likely incomplete beta and its inverse perform poorly for large parameters. However distribution becomes close to normal so other approximations could work!

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.