Timeline for Adding a new statisitical distribution
Current License: CC BY-SA 4.0
11 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Jun 1, 2021 at 12:00 | history | tweeted | twitter.com/StackMma/status/1399697257180577795 | ||
May 31, 2021 at 20:37 | comment | added | JimB | @Szabolcs All of what you say makes sense. Another very recent question is related: mathematica.stackexchange.com/questions/246925/… where something minimal is stated about the probability distribution and just various low order moments - rather than the pdf and cdf - are of interest. | |
May 31, 2021 at 19:32 | history | edited | mikado | CC BY-SA 4.0 |
Explain motivation for question
|
May 31, 2021 at 14:03 | comment | added | Szabolcs | I should also say that I am not going to work on an answer. Why? Because I don't see defining your own distribution as being something practical and sustainable. Mathematica's internal workings change constantly. The requirements for a distribution are not only undocumented, but also complex. Whatever I could come up with is likely not to work in all situations and likely break in future versions. For me, it's not worth to spend the considerable amount of the time needed to figure this out if I can't make practical use of it in the future. While it may be fun, I have other hobbies too ;-) | |
May 31, 2021 at 13:58 | comment | added | Szabolcs |
It looks like much of the definition of a distributon is attached to the symbol of that distribution. You can look at the definition of e.g. ExponentialDistribution , then make guesses about which of the provided definitions are essential and experiment a bit. Some are certainly necessary for the distribution to be even identified as such.
|
|
May 31, 2021 at 13:49 | comment | added | Szabolcs | Mathematica could automatically derive operations/formulas which were not explicitly provided, but those that were could be made to be more numerically robust or more performant. (+1 from me, not sure why there was a -1 ...) | |
May 31, 2021 at 13:48 | comment | added | Szabolcs |
@JimB Wouldn't it be great if we could implement our own distributions that work with good performance and good reliability? Sure, ProbabilityDistribution allows one to define just about any univariate distribution, but the associated calculations are likely to be slow, unreliable, or entirely infeasible. Wouldn't it be great if we could give pre-calculated formulas for moments, numerical methods for random sampling, explicit formulas or methods for parameter estimation, etc.
|
|
May 31, 2021 at 13:45 | comment | added | Szabolcs |
I think that the ability to implement new distributions would definitely be very useful. Clearly, there is no documented way to do so, and it's unclear if there is a standardized extension interface even for internal use. If there is one, it is likely in the Statistics`Library` context. I would start spelunking there.
|
|
May 31, 2021 at 10:14 | comment | added | flinty |
ProbabilityDistribution is the only choice, because \[Distributed] , RandomVariate , Expectation and so on... are not going to work with something else. You'd be writing up-values for everything and it would be grotesquely inefficient.
|
|
May 31, 2021 at 2:44 | comment | added | JimB |
I'm not following the "why" you want to do this. I'm not questioning that there is a good reason: I'm just not understanding. Would you not need to define all of the desired properties like you did with the mean and variance? For example: PDF[unknowndistribution[\[Mu]_, \[Sigma]_], z_] ^:= pdf[z, \[Mu], \[Sigma]] .
|
|
May 30, 2021 at 22:33 | history | asked | mikado | CC BY-SA 4.0 |