Hukum eksponensial (negatif) berbentuk . Ketika Anda mengizinkan perubahan unit dalam nilai x dan y , katakanlah ke y = α y ′ + β dan x = γ x ′ + δ , maka hukum akan dinyatakan sebagaiy= - exp( - x )xyy= α y′+ βx = γx′+ δ
α y′+ β= y= - exp( - x ) = - exp( - γx′- δ) ,
yang secara aljabar setara dengan
y′= - 1αexp( - γx′-δ) - β= a ( 1 - u exp( - b x′) )
menggunakan tiga parameter , u = 1 / ( β exp ( δ ) ) , dan b = γ . Kita dapat mengenali a sebagai parameter skala untuk y , b sebagai parameter skala untuk x , dan u berasal dari parameter lokasi untuk x .a = - β/ αu = 1 / ( βexp( δ) )b = γSebuahybxkamux
Sebagai patokan, parameter ini dapat diidentifikasi sekilas dari plot :
Parameter adalah nilai asymptote horizontal, sedikit kurang dari 2000 .Sebuah2000
Parameter adalah jumlah relatif kurva naik dari asal ke asimtot horizontal. Di sini, kenaikan itu sedikit kurang dari 2000 - 937 ; relatif, itu sekitar 0,55 asimtot.kamu2000 - 9370,55
Karena , ketika x sama dengan tiga kali nilai 1 / b kurva seharusnya naik menjadi sekitar 1 - 0,05 atau 95 % dari totalnya. 95 % kenaikan dari 937 menjadi hampir 2000 menempatkan kita sekitar 1950 ; pemindaian di plot menunjukkan ini membutuhkan waktu 20 hingga 25 hari. Mari kita menyebutnya 24 untuk kesederhanaan, mana b ≈ 3 / 24exp( - 3 ) ≈ 0,05x1 / b1 -0.0595 %95 %93720001950202524 . (Metode 95 % untuk mengamati skala eksponensial ini merupakan standar di beberapa bidang yang sering menggunakan plot eksponensial.)b ≈ 3 / 24 =0.12595 %
Mari kita lihat seperti apa ini:
plot(Days, Emissions)
curve((y = 2000 * (1 - 0.56 * exp(-0.125*x))), add = T)
Tidak buruk untuk permulaan! (Bahkan meskipun mengetik 0.56
di tempat 0.55
., Yang merupakan perkiraan kasar pula) Kami bisa memolesnya dengan 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)
Output nls
berisi informasi luas tentang ketidakpastian parameter. Misalnya , sederhana summary
memberikan kesalahan estimasi standar:
> 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 ***
Kita dapat membaca dan bekerja dengan seluruh matriks kovarian estimasi, yang berguna untuk memperkirakan interval kepercayaan simultan (setidaknya untuk dataset besar):
> 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
mendukung plot profil untuk parameter, memberikan informasi lebih rinci tentang ketidakpastiannya:
> plot(profile(fit))
a
219451995