Regresi linier vs nonlinear

13

Saya memiliki satu set nilai dan yang secara teoritis terkait secara eksponensial:xy

y=axb

Salah satu cara untuk mendapatkan koefisien adalah dengan menerapkan logaritma natural di kedua sisi dan menyesuaikan model linier:

> fit <- lm(log(y)~log(x))
> a <- exp(fit$coefficients[1])
> b <- fit$coefficients[2]

Cara lain untuk memperoleh ini adalah dengan menggunakan regresi nonlinier, diberikan satu set nilai awal teoritis:

> fit <- nls(y~a*x^b, start=c(a=50, b=1.3))

Tes saya menunjukkan hasil yang lebih baik dan lebih banyak terkait teori jika saya menerapkan algoritma kedua. Namun, saya ingin tahu arti statistik dan implikasi dari masing-masing metode.

Mana dari mereka yang lebih baik?

Iñigo Hernáez Corres
sumber
3
Silakan lihat posting ini yang berhubungan dengan pertanyaan serupa. Makalah ini mungkin juga menarik.
COOLSerdash
5
"eksponensial" biasanya menyiratkan sesuatu berdasarkan exp(): apa yang Anda miliki di sini lebih umum disebut fungsi kekuasaan, hukum kekuasaan, atau hukum penskalaan. Tidak ada nama lain. Tidak ada hubungan dengan kekuasaan dalam arti pengujian hipotesis.
Nick Cox

Jawaban:

16

"Lebih baik" adalah fungsi dari model Anda.

Salah satu alasan kebingungan Anda adalah Anda hanya menulis setengah dari model Anda.

Ketika Anda mengatakan , itu tidak benar. Diamati Anda y nilai-nilai yang tidak sama dengan sebuah x b ; mereka memiliki komponen kesalahan.y=axbyaxb

Misalnya, dua model yang Anda sebutkan (bukan satu-satunya model yang mungkin dengan cara apa pun) membuat asumsi yang sama sekali berbeda tentang kesalahan tersebut.

Anda mungkin bermaksud sesuatu yang lebih dekat dengan E(Y|X=x)=axb.

Tapi lalu apa yang kita katakan tentang variasi jauh dari harapan pada x yang diberikan ? Itu penting!Yx

  • Ketika Anda cocok dengan model kuadrat nonlinier, Anda mengatakan bahwa kesalahan adalah aditif dan standar deviasi dari kesalahan adalah konstan di seluruh data:

    yiN(axib,σ2)

    atau setara

    , dengan var ( e i ) = σ 2yi=axib+eivar(ei)=σ2

  • Sebaliknya ketika Anda mengambil log dan cocok dengan model linier, Anda mengatakan kesalahan adalah aditif pada skala log dan (pada skala log) konstan di seluruh data. Ini berarti bahwa pada skala pengamatan, istilah kesalahan adalah multiplikatif , sehingga kesalahannya lebih besar ketika nilai yang diharapkan lebih besar:

    yilogN(loga+blogxi,σ2)

    atau setara

    , dengan η ilogN ( 0 , σ 2 )yi=axibηiηilogN(0,σ2)

    E(η)σ2

(Anda dapat melakukan kuadrat terkecil tanpa mengasumsikan distribusi normal / lognormal, tetapi masalah sentral yang sedang dibahas masih berlaku ... dan jika Anda tidak mendekati normalitas, Anda mungkin harus mempertimbangkan model kesalahan yang berbeda pula)

Jadi apa yang terbaik tergantung pada jenis model kesalahan yang menggambarkan keadaan Anda.

yxx

Glen_b -Reinstate Monica
sumber
9

Ketika Anda cocok dengan kedua model, Anda mengasumsikan bahwa set residual (perbedaan antara nilai Y yang diamati dan yang diprediksi) mengikuti distribusi Gaussian. Jika asumsi itu benar dengan data mentah Anda (regresi nonlinear), maka itu tidak akan berlaku untuk nilai-nilai log-transformed (regresi linier), dan sebaliknya.

Model mana yang "lebih baik"? Yang mana asumsi model paling cocok dengan data.

Harvey Motulsky
sumber