我想将函数的插值用作 PDF,并能够使用平均值、概率、CDF 等工具。我做了以下事情:
f = Interpolation[data];
dist = ProbabilityDistribution[f[x], {x,0,1000}];
例如,当我尝试:
Mean[dist] //N
它只是返回输入。其他功能也一样。
我想将函数的插值用作 PDF,并能够使用平均值、概率、CDF 等工具。我做了以下事情:
f = Interpolation[data];
dist = ProbabilityDistribution[f[x], {x,0,1000}];
例如,当我尝试:
Mean[dist] //N
它只是返回输入。其他功能也一样。
您可以使用离散分布:
data = {1, 2, 1, 3, 4};
data = data/Total@data;
f = Interpolation[data];
dist = ProbabilityDistribution[f[x], {x, 1, 5, 1}];
Mean[dist] // N
您还可以尝试使用 SmoothKernelDistribution。
d = SmoothKernelDistribution[data];
cdf=CDF[d]
Plot[cdf[x], {x, -1, 1}]
Quantile[d, 0.95]
Moment[d, 2]
你可以使用EmpiricalDistribution
:
f = EmpiricalDistribution[data]
Mean[f]
(* 1/5 *)
Expectation[x^3, x \[Distributed] f]
(* 101/6655 *)
Moment[f, 2]
(* 31/605 *)