Menyesuaikan model eksponensial dengan data


21

Saya memiliki 2 variabel, baik dari kelas "numerik":

> head(y)
[1] 0.4651804 0.6185849 0.3766175 0.5489810 0.3695258 0.4002567

> head(x)
[1] 59.32820 68.46436 80.76974 132.90824 216.75995 153.25551

Saya merencanakannya, dan sekarang saya ingin mencocokkan model eksponensial dengan data (dan menambahkannya ke plot) tetapi saya tidak dapat menemukan info tentang model pemasangan ke data multivarian di R! Hanya untuk memvariasikan data, dapatkah seseorang membantu? Saya bahkan tidak tahu harus mulai dari mana ... Terima kasih!


6
Ini agak membingungkan. Anda mengatakan Anda memiliki dua variabel "independen" (saya lebih suka "prediktor", tetapi itu tidak penting). Apakah Anda memiliki variabel "dependen" / "respons"? Jika ini adalah kedua variabel respon, saya dapat membayangkan menyesuaikan distribusi probabilitas parametrik, bivariat (dengan atau tanpa variabel prediktor yang menjadi parameter tergantung) - atau estimasi kepadatan kernel 2D. Mungkin Anda bisa sedikit menjelaskan konteksnya. (PS siapa pun yang menjawab pertanyaan itu harus tahu apa artinya ... ada yang mau berpura-pura?)
Ben Bolker

Bagaimanapun, Anda sebaiknya pergi ke crossvalidated.com untuk pertanyaan seperti itu. atau ke situs web tidak dikenal yang disebut Google. Itu memang menemukan informasi tentang model pas untuk data multivariat. Cukup banyak (tepatnya 4 juta dua ratus tiga puluh ribu)
Joris Meys

Saya akan merekomendasikan bing - itu adalah mesin keputusan, mesin pencari begitu abad ke-20 ... lihat saja Yahoo dan Ask Jeeves, seberapa tidak relevan mereka hari ini?!?
Mengejar

@ Bol Bolker - Terima kasih telah membantu, saya telah mengambil yang independen, karena itu tidak benar. Apa yang saya miliki adalah jarak antara lokasi (x) dan korelasi curah hujan antara lokasi (y)

perhatikan bahwa Anda harus menggunakan metode khusus jika Anda ingin membuat kesimpulan statistik pada data ini, karena jika jarak dihitung pada set umum lokasi, mereka tidak independen - misalnya pencarian untuk "uji Mantel"
Ben Bolker

Jawaban:


20

Saya tidak sepenuhnya yakin apa yang Anda minta, karena istilah Anda tidak aktif. Tetapi dengan asumsi bahwa variabel Anda tidak independen satu sama lain (jika ya, maka mereka tidak ada hubungannya untuk menemukan) saya akan mencobanya. Jika xvariabel independen Anda (atau prediktor) dan ymerupakan variabel dependen (atau respons) Anda, maka ini harus berfungsi.

# generate data
beta <- 0.05
n <- 100
temp <- data.frame(y = exp(beta * seq(n)) + rnorm(n), x = seq(n))

# plot data
plot(temp$x, temp$y)

# fit non-linear model
mod <- nls(y ~ exp(a + b * x), data = temp, start = list(a = 0, b = 0))

# add fitted curve
lines(temp$x, predict(mod, list(x = temp$x)))

terima kasih atas jawaban Anda, saya telah mengeluarkan kata "independen", seperti yang Anda tunjukkan, itu tidak masuk akal. Menggunakan kode Anda untuk data saya, saya dapat mencocokkan model tetapi hasilnya adalah puluhan baris dalam grafik, bukan hanya satu. Ada yang tahu kenapa?

@ sdg - Tidak, maaf, saya tidak bisa memikirkan alasan mengapa. Apakah nls()cocok dengan model?
Richard Herron

Saya rasa begitu, saya mendapatkan: Model model regresi nonlinear: y ~ exp (a + b * x) data: DF ab -0.535834 -0.002024 residu jumlah-of-kuadrat: 18,62 Jumlah iterasi untuk konvergensi: 6 Mencapai toleransi konvergensi: 8.08 e-06

3
@sbg coba menyortir xvariabel Anda :lines(sort(temp$x),predict(mod, list(x=sort(temp$x)))
Ben Bolker
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.