2012-04-16 43 views
5

Tôi muốn sử dụng phép nội suy của một hàm dưới dạng PDF và có thể sử dụng các công cụ như Mean, Probability, CDF và vv. Tôi đã làm như sau:Chức năng nội suy dưới dạng PDF trong Mathematica

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

Và ví dụ như khi tôi cố gắng:

Mean[dist] //N 

nó chỉ trả về đầu vào. Điều tương tự với các chức năng khác.

Trả lời

2

Bạn có thể sử dụng một bản phân phối rời rạc:

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

Bạn cũng có thể thử nghiệm với một SmoothKernelDistrubution.

d = SmoothKernelDistribution[data]; 

cdf=CDF[d] 

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

Quantile[d, 0.95] 

Moment[d, 2] 
1

Bạn có thể sử dụng EmpiricalDistribution:

f = EmpiricalDistribution[data] 

Mean[f] 
(* 1/5 *) 

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

Moment[f, 2] 
(* 31/605 *) 
Các vấn đề liên quan