Saat memasang kurva, bagaimana cara menghitung interval kepercayaan 95% untuk parameter yang saya pasang?

12

Saya menyesuaikan kurva pada data saya untuk mengekstrak satu parameter. Namun, saya tidak yakin kepastian dari parameter itu dan bagaimana saya akan menghitung / menyatakan interval kepercayaan % nya.95

Katakanlah untuk dataset yang berisi data yang secara eksponensial meluruh, saya cocokkan kurva untuk setiap dataset. Maka informasi yang ingin saya ekstrak adalah eksponen . Saya tahu nilai-nilai dan nilai saya tidak tertarik (thats variabel yang berasal dari populasi, bukan proses Im mencoba model).t abta

Saya menggunakan regresi non-linear agar sesuai dengan parameter ini. Namun saya tidak tahu bagaimana cara menghitung interval kepercayaan % untuk metode apa pun, jadi jawaban yang lebih luas juga diterima.95

f=aebt
contoh data dan fit

Setelah saya memiliki nilai untuk , bagaimana cara menghitung interval kepercayaan %? Terima kasih sebelumnya!95b95

Leo
sumber
Bagaimana Anda menyesuaikan data? Apakah fungsi Anda diubah agar sesuai dengan OLS?
johnny
Saya melihat dari komentar Anda pada jawaban bahwa Anda benar-benar melakukan kuadrat terkecil nonlinier. Anda akan mendapat jawaban yang baik lebih cepat jika Anda mulai dengan informasi itu. Saya setidaknya telah menambahkan tag yang relevan.
Glen_b -Reinstate Monica
@ Glen_b Ah Aku akan lebih lengkap di masa depan dan menambahkannya ke pertanyaan. Aku memang memikirkannya. Dengan beberapa dataset saya menggunakan jarak L1 absolut dan kali lain saya masih menggunakan regresi linier. Jadi saya berharap mendapat jawaban luas.
Leo
Jika Anda menginginkan jawaban untuk kuadrat terkecil, regresi L1 dan kuadrat nonlinier akan lebih baik untuk eksplisit tentang itu.
Glen_b -Reinstate Monica

Jawaban:

10

Masalah dengan linearisasi dan kemudian menggunakan regresi linier adalah bahwa asumsi distribusi Gaussian residual tidak mungkin benar untuk data yang diubah.

Biasanya lebih baik menggunakan regresi nonlinear. Sebagian besar program regresi nonlinear melaporkan kesalahan standar dan interval kepercayaan parameter yang paling sesuai. Jika Anda tidak, persamaan ini dapat membantu.

Setiap kesalahan standar dihitung menggunakan persamaan ini:

SE(Pi) = sqrt[ (SS/DF) * Cov(i,i) ]

  • Pi: parameter ke-i yang dapat disesuaikan (tidak konstan)
  • SS: jumlah residu kuadrat
  • DF: derajat kebebasan (jumlah titik data dikurangi jumlah parameter yang sesuai dengan regresi)
  • Cov (i, i): elemen diagonal ke-i dari matriks kovarians
  • sqrt (): root kuadrat

Dan di sini adalah persamaan untuk menghitung interval kepercayaan untuk setiap parameter dari nilai paling cocok, kesalahan standarnya, dan jumlah derajat kebebasan.

From [BestFit(Pi)- t(95%,DF)*SE(Pi)]  TO  [BestFit(Pi)+
 t(95%,DF)*SE(Pi)] 
  • BestFit (Pi) adalah nilai fit terbaik untuk parameter ke-i
  • t adalah nilai dari distribusi t untuk kepercayaan 95% untuk jumlah DF yang ditentukan.
  • DF adalah derajat kebebasan.

    Contoh dengan Excel untuk kepercayaan 95% (jadi alpha = 0,05) dan 23 derajat kebebasan: = TINV (0,05,23) DF sama dengan derajat kebebasan (jumlah titik data dikurangi jumlah parameter yang sesuai dengan regresi)

Harvey Motulsky
sumber
Inilah yang saya butuhkan, terima kasih! Saya menggunakan lsqcurvefit di Matlab , itu tidak menampilkan interval kepercayaan atau kesalahan standar. Ini memberikan pengali Lagrange (?), Residual dan kuadrat 2-norma dari residual. Sekarang dengan itu dan jawaban Anda, saya dapat menghitung apa yang saya butuhkan!
Leo
3

Jika meyakini model yang sesuai untuk data Anda adalah:

f=aebt

Kemudian Anda dapat mengambil log mengubah data respons Anda sehingga model yang sesuai adalah:

f=abt

dengan dan . Data yang diubah dapat disesuaikan menggunakan regresi linier sederhana dan perkiraan untuk intersep dan kemiringan bersama dengan kesalahan standar yang diperoleh. Jika nilai kritis dan kesalahan standar diterapkan pada estimasi parameter, interval kepercayaan untuk estimasi parameter tersebut dapat dibentuk. Dalam R:a = l n ( a )f=ln(f)a=ln(a)

# Rough simulated data set.
set.seed(1)
a <- 50; b <- 0.2; n <- 25
x <- 1:n
y <- a*(exp(-b * x))
y <- y + rnorm(n, sd=0.25)
y <- ifelse(y>0, y, 0.1)
plot(x,y)

# Linearise:
y2 <- log(y)
plot(x,y2)

# Fit model to transformed data
model <- lm(y2 ~ x)
summary(model)
confint(model)

# Or:
param <- summary(model)$coefficients[, 1]; se <- summary(model)$coefficients[, 2]
param + qt(0.975, 23) * se
param - qt(0.975, 23) * se

Jika Anda menggunakan model untuk memprediksi Anda harus yakin untuk memeriksa bahwa asumsi SLR telah dipenuhi - iid . N(0,σ2)

siswa-t
sumber
Ah terima kasih! Jawaban yang sangat bagus dan lengkap! Ini bisa saya gunakan jika saya melakukan fit linear, yang kadang-kadang juga saya lakukan. Saya harap Anda tidak keberatan menerima jawaban Harveys, karena dalam kasus ini pertanyaan saya bukan tentang kecocokan linear. Masih jawaban yang berguna!
Leo