Setting good lower and upper bounds on and exponential fit.
2 次查看(过去 30 天)
显示 更早的评论
Hi all, I am trying to get an optimal fit for some data. It seems it fits a double exponential fit quite well, however......the confidence intervals seem too big. How can I set appropriate upper and lower bounds? I have seen it said many times while searching on websites that the bounds should be set "according to your data." What does this mean? How can I actually decide what good bounds are? Here is my data:
x are time points, and y is the data
x =
0
1
3
5
7
10
20
30
40
50
60
180
300
1080
1440
y =
14.7311
16.4375
16.9743
17.6971
17.8000
17.9643
18.1380
18.4612
18.4525
19.1260
19.0100
19.9080
20.0220
21.5480
21.1938
the fit I used was:
s2 = fitoptions('Method','NonlinearLeastSquares','StartPoint',[3 1 15 2 0.1])
pmexp2 = fittype('a*(1-exp(-x/b))+c+d*(1-exp(-x/e))','options',s2);
figure(2) [fo1 go1] = fit(x,y,pmexp2) hold on plot(x,y, 'o')
A professor gave me this equation and the startpoints(I dont totally understand these). Like I said the fit does look pretty good.
Result of fit:
fo1 =
General model:
fo1(x) = a*(1-exp(-x/b))+c+d*(1-exp(-x/e))
Coefficients (with 95% confidence bounds):
a = 3.085 (2.395, 3.775)
b = 2.362 (1.029, 3.696)
c = 14.93 (14.32, 15.55)
d = 3.308 (2.727, 3.888)
e = 231.7 (107.5, 355.9)
go1 =
sse: 0.8727
rsquare: 0.9801
dfe: 10
adjrsquare: 0.9721
rmse: 0.2954
the e term is what I am most concerned about. That confidence interval seems very large? Any help much appreciated. Thanks!
0 个评论
回答(1 个)
Walter Roberson
2013-10-18
You have exp(-x/e) with x as a maximum of 1440. exp(-1440/231.7) is only on the order of 0.002, not a very big contribution. exp(-1440/107.5) has several more leading zeros; exp(-1440/355.9) is about 0.02 which is still not a big contribution compared to other parts.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Linear and Nonlinear Regression 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!