I have this function that works similar to a probability generating function
$$g(x):=\left(\frac{c}{D} x^{-1}+\frac{D-t-c}D+\frac{t-d}{D} x+\frac{d}D x^2\right)^M$$
with $g(1)=1$. This is not a generating function in the common sense but from $g$ we can define the following PMF
$$f(k):=\begin{cases}[x^k]g(x),& k>0\\\sum_{k=-M}^0 [x^k]g(x),& k=0\end{cases}$$
and it CDF in a similar manner. I want to use the built-in function ProbabilityDistribution
(if this is possible) to define $f$ as a PDF for the discrete random variable $K$ that take values in $\{0,\ldots,2M\}$ and depend on parameters $D,t,c,d$ and $M$ where
$$D,M\in\Bbb N_{>0},\quad 0\le d,c But in the Wolfram language documentation center there is no information about if ProbabilityDistribution can be used to define distributions that depends on parameters or how to do it. Some help will be appreciated, thank you. P.S.: the notation $[x^k]p$ means "the $k$-th coefficient of the series $p$".
Answer
I think getting a symbolic result for general m
will take a lot more work. But if a symbolic result for each value of m
is satisfactory, here's one way to do it:
(* Set m *)
m = 3;
(* Generating function *)
g[x_] := ((c/bigD)/x + (bigD - t - c)/bigD + (t - d) x/bigD + (d/bigD) x^2)^m
(* pdf of k *)
f[k_] := If[k == 0, Sum[Coefficient[g[x], x, i], {i, -m, 0}], Coefficient[g[x], x, k]]
(* Make a probability distribution *)
distribution = ProbabilityDistribution[f[k], {k, 0, 2 m, 1},
Assumptions -> {bigD ∈ Integers, 0 <= d < bigD, 0 <= c < bigD, 1 <= t < bigD}];
(* Check out Mean, Variance, and Expectation functions *)
meank = Simplify[Mean[distribution]]
(* (3 ((bigD-c) (bigD+c) d+(bigD-c)^2 t+c t^2))/bigD^3 *)
vark = Simplify[Variance[distribution]]
meank = Simplify[Expectation[k, k \[Distributed] distribution]]
vark = Simplify[Expectation[(k - meank)^2, k \[Distributed] distribution]]
(* Brute force *)
sumToOne = Simplify[Sum[f[k], {k, 0, 2 m}]]
meank = Simplify[Sum[k f[k], {k, 0, 2 m}]]
vark = Simplify[Sum[(k - meank)^2 f[k], {k, 0, 2 m}]]
Update
From a comment by the OP there seems to be a difference of opinion as to whether $K$ goes from 0 to $M$ or from 0 to $2M$. I still argue that $K$ ranges from 0 to $2M$:
m = 3;
g[x_] := ((c/bigD)/x + (bigD - t - c)/bigD + (t - d) x/bigD + (d/bigD) x^2)^m
f[k_] := If[k == 0, Sum[Coefficient[g[x], x, i], {i, -m, 0}], Coefficient[g[x], x, k]]
Total[Table[f[k], {k, 0, m}]]
(* 1-(3 d^2)/bigD^2+(3 c d^2)/bigD^3-d^3/bigD^3+(6 d^2 t)/bigD^3-(3 d t^2)/bigD^3 *)
Total[Table[f[k], {k, 0, 2 m}]]
(* 1 *)
However, if 0 to $M$ is desired, then some additional scaling needs to be included to get the probabilities to sum to 1.
Comments
Post a Comment