在Mathematica中将函数插值为PDF

时间:2012-04-16 14:56:48

标签: pdf wolfram-mathematica interpolation

我想使用函数插值作为PDF,并且能够使用Mean,Probability,CDF等工具。我做了以下事情:

 f = Interpolation[data];
 dist = ProbabilityDistribution[f[x], {x,0,1000}];

例如,当我尝试:

Mean[dist] //N

它只返回输入。与其他其他功能相同。

3 个答案:

答案 0 :(得分:2)

您可以使用离散分布:

data = {1, 2, 1, 3, 4};
data = data/Total@data;
f = Interpolation[data];
dist = ProbabilityDistribution[f[x], {x, 1, 5, 1}];
Mean[dist] // N

答案 1 :(得分:1)

您还可以尝试使用SmoothKernelDistrubution。

d = SmoothKernelDistribution[data];

cdf=CDF[d]

Plot[cdf[x], {x, -1, 1}]

Quantile[d, 0.95]

Moment[d, 2]

答案 2 :(得分:1)

您可以使用EmpiricalDistribution

f = EmpiricalDistribution[data]

Mean[f]
(* 1/5 *)

Expectation[x^3, x \[Distributed] f]
(* 101/6655 *)

Moment[f, 2]
(* 31/605 *)