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!
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