Finding the mean in a Cumulative Distribution Function

조회 수: 7 (최근 30일)
Thomas
Thomas 2011년 7월 18일
First off, I am working with data from an excel file and trying to model this data as accurately as possible. My function for the model is:F(t)=1-exp(-t/u). Furthermore, it turns out that F(t) is just the cumulative function of f(x)=(1/u)*exp(-x/u). Secondly, F(t) is one column of data in excel file, u is the mean, while t is another column representing time. Essentially, I can plot the exact data on matlab alongside this function F(t) which appears to be a cumulative distribution function. How do I find the mean using matlab? Thank you
  댓글 수: 5
Thomas
Thomas 2011년 7월 19일
My CDF is the function on this page: http://www.mathworks.com/help/toolbox/stats/expcdf.html
My data curve looks exactly like that exponential CDF so I just need a way to find the mean given my data. Thanks
Oleg Komarov
Oleg Komarov 2011년 7월 20일
Is your input data t? If yes just expfit(t).

댓글을 달려면 로그인하십시오.

답변 (1개)

bym
bym 2011년 7월 19일
Here is a not very robust algorithm, but might give you some ideas. Basically it finds where the CDF crosses the 63.2% (mean value for exponential distribution) and outputs the corresponding t. Sometimes it outputs an empty matrix and sometimes more than 1 value, which would have to be adjusted for your data set.
x=1:100; % simulated t
y = expcdf(x,20); % simulated F(t), mu = 20
ynorm = y./max(y); % normalize
tol = 1./(2*max(x)); % tolerance (might have to adjust)
idx = find(y>.6321-tol & y<.6321+tol);
mu = x(idx)
  댓글 수: 3
bym
bym 2011년 7월 20일
mean of exponential distribution is where it crosses 63.2% (1-1/e), not 50% like a normal
Oleg Komarov
Oleg Komarov 2011년 7월 21일
Isn't the mean the lambda^-1 or in OP's case 1/u which is exactly what he's trying to find?

댓글을 달려면 로그인하십시오.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by