Một luật hàm mũ (phủ định) có dạng . Khi bạn cho phép thay đổi các đơn vị trong x và y giá trị, tuy nhiên, nói với y = α y ' + β và x = γ x ' + δ , sau đó pháp luật sẽ được thể hiện nhưy=−exp(−x)xyy=αy′+βx=γx′+δ
αy′+β=y=−exp(−x)=−exp(−γx′−δ),
đại số nào tương đương với
y′=−1αexp(−γx′−δ)−β=a(1−uexp(−bx′))
sử dụng ba thông số , u = 1 / ( β exp ( δ ) ) , và b = γ . Chúng ta có thể nhận ra một tham số tỷ lệ cho y , b là tham số tỷ lệ cho x và u là xuất phát từ tham số vị trí cho x .a=−β/αu=1/(βexp(δ))b=γaybxux
Theo nguyên tắc thông thường, các tham số này có thể được xác định trong nháy mắt từ cốt truyện :
Tham số là giá trị của tiệm cận ngang, nhỏ hơn 2000 một chút .a2000
Tham số là số lượng tương đối đường cong tăng từ điểm gốc đến tiệm cận ngang của nó. Ở đây, sự gia tăng do đó ít hơn một chút so với 2000 - 937 ; tương đối, đó là khoảng 0,55 của tiệm cận.u2000−9370.55
Vì , khi x bằng ba lần giá trị của 1 / b , đường cong đã tăng lên khoảng 1 - 0,05 hoặc 95 % tổng số của nó. 95 % sự gia tăng từ 937 đến gần 2000 nơi chúng ta vào khoảng năm 1950 ; quét trên lô cho thấy điều này mất 20 đến 25 ngày. Hãy gọi nó là 24 vì đơn giản, đâu b ≈ 3 / 24exp(−3)≈0.05x1/b1−0.0595%95%93720001950202524 . (Phương pháp 95 % này đối với nhãn cầu theo thang số mũ là tiêu chuẩn trong một số lĩnh vực sử dụng lô theo cấp số nhân rất nhiều.)b≈3/24=0.12595%
Hãy xem nó trông như thế nào:
plot(Days, Emissions)
curve((y = 2000 * (1 - 0.56 * exp(-0.125*x))), add = T)
Không tồi cho một khởi đầu! (Ngay cả khi gõ 0.56
vào vị trí 0.55
, dù sao đó cũng là một xấp xỉ thô.) Chúng ta có thể đánh bóng nó bằng nls
:
fit <- nls(Emissions ~ a * (1- u * exp(-b*Days)), start=list(a=2000, b=1/8, u=0.55))
beta <- coefficients(fit)
plot(Days, Emissions)
curve((y = beta["a"] * (1 - beta["u"] * exp(-beta["b"]*x))), add = T, col="Green", lwd=2)
Đầu ra nls
chứa thông tin mở rộng về độ không đảm bảo của tham số. Ví dụ , một đơn giản summary
cung cấp các lỗi tiêu chuẩn của ước tính:
> summary(fit)
Parameters:
Estimate Std. Error t value Pr(>|t|)
a 1.969e+03 1.317e+01 149.51 2.54e-10 ***
b 1.603e-01 1.022e-02 15.69 1.91e-05 ***
u 6.091e-01 1.613e-02 37.75 2.46e-07 ***
Chúng ta có thể đọc và làm việc với toàn bộ ma trận hiệp phương sai của các ước tính, rất hữu ích cho việc ước tính khoảng tin cậy đồng thời (ít nhất là cho các bộ dữ liệu lớn):
> vcov(fit)
a b u
a 173.38613624 -8.720531e-02 -2.602935e-02
b -0.08720531 1.044004e-04 9.442374e-05
u -0.02602935 9.442374e-05 2.603217e-04
nls
hỗ trợ sơ đồ hồ sơ cho các tham số, cung cấp thông tin chi tiết hơn về tính không chắc chắn của chúng:
> plot(profile(fit))
a
219451995