2012-04-16 62 views
5

我想使用插值函數作爲PDF,並且能夠使用像Mean,Probability,CDF等工具。我做了以下內容:在Mathematica中作爲PDF插值函數

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

再舉例來說,當我嘗試:

Mean[dist] //N 

它只是返回輸入。與其他功能一樣的東西。

回答

2

你可以使用一個離散分佈:

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

你也可以嘗試用SmoothKernelDistrubution。

d = SmoothKernelDistribution[data]; 

cdf=CDF[d] 

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

Quantile[d, 0.95] 

Moment[d, 2] 
1

你可以使用EmpiricalDistribution

f = EmpiricalDistribution[data] 

Mean[f] 
(* 1/5 *) 

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

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