R - Nonlinear Least Square: Panduan untuk Pemula

Halo, para programer R masa depan! Hari ini, kita akan memulai perjalanan menarik ke dunia Nonlinear Least Squares dalam R. Jangan khawatir jika istilah ini terdengar menakutkan - pada akhir panduan ini, Anda akan dapat bekerja dengan Percuma dan Percakapan ini. Ayo masuk ke dalamnya!

R - Nonlinear Least Square

Apa Itu Nonlinear Least Square?

Sebelum kita melompat ke hal-hal khusus R, mari kita memahami apa itu Nonlinear Least Square (NLS). Bayangkan Anda mencoba menyesuaikan kurva ke beberapa titik data, tetapi hubungan itu bukan garis lurus. Itu adalah tempat NLS berguna! Ini adalah metode yang digunakan untuk menemukan kecocokan terbaik untuk model nonlinear ke data Anda.

Memulai dengan R

Jika Anda belum melakukan ini, pastikan Anda telah menginstal R di komputer Anda. Buka lingkungan R Anda, dan mari kita mulai perjalanan NLS!

Sintaksis untuk Nonlinear Least Square di R

Dalam R, kita menggunakan fungsi nls() untuk melakukan penyesuaian Nonlinear Least Square. Berikut adalah sintaksis dasar:

nls(formula, data, start, ...)

mari kitauraikan ini:

  • formula: Ini adalah tempat Anda menentukan model nonlinear Anda.
  • data: Dataset yang Anda gunakan.
  • start: Angka awal untuk parameter dalam model Anda.
  • ...: Argumen tambahan (kami akan melihat beberapa contoh nanti).

Contoh Sederhana: Pertumbuhan Eksponensial

Ayo mulai dengan contoh sederhana pertumbuhan eksponensial. Bayangkan Anda mempelajari pertumbuhan populasi bakteri di dalam piringan petri.

Langkah 1: Buat Beberapa Data

Pertama, mari kita buat beberapa data contoh:

time <- seq(0, 10, by = 0.1)
population <- 100 * exp(0.2 * time) + rnorm(length(time), mean = 0, sd = 10)
data <- data.frame(time, population)

Di sini, kita membuat urutan waktu dari 0 ke 10, dan menghitung populasi menggunakan model pertumbuhan eksponensial dengan sedikit noise acak.

Langkah 2: Plot Data

Ayo visualisasikan data kita:

plot(data$time, data$population, main = "Pertumbuhan Bakteri", xlab = "Waktu", ylab = "Populasi")

Ini akan memberikan Anda scatter plot dari titik data Anda.

Langkah 3: Sesar Model

Sekarang, mari kita gunakan nls() untuk menyesuaikan model eksponensial kita:

model <- nls(population ~ a * exp(b * time), data = data, start = list(a = 100, b = 0.2))

Itu apa yang terjadi:

  • population ~ a * exp(b * time) adalah rumus kita
  • data = data menentukan dataset kita
  • start = list(a = 100, b = 0.2) memberikan angka awal untuk parameter kita

Langkah 4: Periksa Hasil

Ayo lihat ringkasan model kita:

summary(model)

Ini akan memberikan Anda informasi detil tentang penyesuaian, termasuk parameter yang diestimasi dan kesalahan standar mereka.

Langkah 5: Plot Kurva yang Disesuaikan

Akhirnya, mari kita tambahkan kurva yang disesuaikan ke plot:

plot(data$time, data$population, main = "Pertumbuhan Bakteri dengan Kurva yang Disesuaikan", xlab = "Waktu", ylab = "Populasi")
lines(data$time, predict(model), col = "red")

Sekarang Anda dapat melihat seberapa baik model kita cocok dengan data!

Contoh Tingkat Lanjut: Kinetik Michaelis-Menten

Ayo tingkatkan tingkat kesulitan dengan contoh yang lebih kompleks dari kinetik enzim. Persamaan Michaelis-Menten adalah model fundamental dalam biokimia.

Langkah 1: Buat Data

substrate <- seq(0, 5, by = 0.1)
rate <- (10 * substrate) / (1 + substrate) + rnorm(length(substrate), mean = 0, sd = 0.1)
data <- data.frame(substrate, rate)

Langkah 2: Plot Data

plot(data$substrate, data$rate, main = "Kinetik Enzim", xlab = "Konsentrasi Substrat", ylab = "Tingkat Reaksi")

Langkah 3: Sesar Model

mm_model <- nls(rate ~ (Vmax * substrate) / (Km + substrate), data = data, start = list(Vmax = 10, Km = 1))

Langkah 4: Periksa Hasil

summary(mm_model)

Langkah 5: Plot Kurva yang Disesuaikan

plot(data$substrate, data$rate, main = "Kinetik Enzim dengan Kurva yang Disesuaikan", xlab = "Konsentrasi Substrat", ylab = "Tingkat Reaksi")
lines(data$substrate, predict(mm_model), col = "red")

Fungsi NLS Umum di R

Berikut adalah tabel fungsi umum yang digunakan terkait NLS di R:

Fungsi Deskripsi
nls() Menyesuaikan model nonlinear
summary() Memberikan ringkasan model NLS
predict() Membuat prediksi menggunakan model yang disesuaikan
coef() Mengambil koefisien dari model
residuals() Mengambil residu dari model
confint() Menghitung interval kepercayaan untuk parameter

Kesimpulan

Selamat! Anda telah mengambil langkah pertama ke dunia Nonlinear Least Squares dalam R. Ingat, latihan membuat sempurna, jadi jangan khawatir untuk mencoba dengan dataset dan model yang berbeda.

Sekarang Anda teruskan perjalanan R Anda, Anda akan menemukan bahwa NLS adalah alat yang kuat dalam kotak alat analisis data Anda. Itu seperti memiliki pisau Swiss Army untuk penyesuaian kurva - multifungsi dan sangat berguna saat Anda membutuhkannya.

Terus coding, terus belajar, dan terutama, bersenang-senang dengan R!

Credits: Image by storyset