I consider the following Ito process
β = 2;
Ne = 100;
γ = 1;
process =
ItoProcess[{\[DifferentialD]s[
t] == -(β/Ne) s[t] i[t] \[DifferentialD]t -
Sqrt[β/Ne s[t] i[t]] \[DifferentialD]n1[
t], \[DifferentialD]i[
t] == (β/Ne s[t] - γ) i[t] \[DifferentialD]t +
Sqrt[β/Ne s[t] i[t]] \[DifferentialD]n1[t] -
Sqrt[γ i[t]] \[DifferentialD]n2[t]}, {s[t],
i[t]}, {{s, i}, {90, 10}},
t, {n1 \[Distributed] WienerProcess[],
n2 \[Distributed] WienerProcess[]}];
Is there a way to find the PDF of s
and i
or its discrete values for some discretization of t
?
Update @Sjoerd Smit suggested to use the code
proc = ItoProcess[{1, 2}, {x, 0}, t];
rf = RandomFunction[proc, {0, 10}, 1000];
Plot[
PDF[SmoothKernelDistribution[rf["SliceData", 2]], x],
{x, -5, 10}
]
which works perfectly for some systems, but not on mine.
Then, @Josh Bishop pointed out that since I deal with a vector process, I should use
rf = RandomFunction[proc, {0., 5., 0.01}];
Plot3D[PDF[SmoothKernelDistribution[rf["SliceData", 2]], {s, i}], {s, 42, 49}, {i, 19, 27}]
However, the output is as follows, i.e., PDF is 0 everywhere.