Skip to content Skip to sidebar Skip to footer

Tutorial R : Cara Menggunakan Nonlinear Least Square di Pemrograman R Terbaru

Cara Menggunakan Nonlinear Least Square di Pemrograman R Terbaru



Saat memodelkan data dunia nyata untuk analisis regresi, kami mengamati bahwa jarang terjadi persamaan model adalah persamaan linier yang menghasilkan grafik linier. Seringkali, persamaan model data dunia nyata melibatkan fungsi matematika dengan derajat yang lebih tinggi seperti eksponen 3 atau fungsi sin. Dalam skenario seperti itu, plot model memberikan kurva, bukan garis. Sasaran dari regresi linier dan non-linier adalah untuk menyesuaikan nilai parameter model untuk menemukan garis atau kurva yang paling dekat dengan data Anda. Saat menemukan nilai-nilai ini kita akan dapat memperkirakan variabel respon dengan akurasi yang baik.

Dalam regresi Kuadrat Terkecil, kami membuat model regresi di mana jumlah kuadrat jarak vertikal dari titik yang berbeda dari kurva regresi diminimalkan. Kami biasanya memulai dengan model yang ditentukan dan mengasumsikan beberapa nilai untuk koefisien. Kami kemudian menerapkan fungsi nls () dari R untuk mendapatkan nilai yang lebih akurat bersama dengan interval kepercayaan.

Sintaksis

Sintaks dasar untuk membuat pengujian kuadrat terkecil nonlinier di R adalah -

nls(formula, data, start)

Berikut adalah deskripsi parameter yang digunakan -

  • rumus adalah rumus model nonlinier yang meliputi variabel dan parameter.

  • data adalah kerangka data yang digunakan untuk mengevaluasi variabel dalam rumus.

  • start adalah daftar bernama atau vektor numerik bernama dari perkiraan awal.

Contoh

Kami akan mempertimbangkan model nonlinier dengan asumsi nilai awal koefisiennya. Selanjutnya kita akan melihat berapa interval kepercayaan dari nilai-nilai yang diasumsikan ini sehingga kita dapat menilai seberapa baik nilai-nilai ini masuk ke dalam model.

Jadi mari kita pertimbangkan persamaan di bawah ini untuk tujuan ini -

a = b1*x^2+b2

Mari kita asumsikan koefisien awal menjadi 1 dan 3 dan masukkan nilai-nilai ini ke dalam fungsi nls ().

xvalues <- c(1.6,2.1,2,2.23,3.71,3.25,3.4,3.86,1.19,2.21)
yvalues <- c(5.19,7.43,6.94,8.11,18.75,14.88,16.06,19.12,3.21,7.58)

# Give the chart file a name.
png(file = "nls.png")


# Plot these values.
plot(xvalues,yvalues)


# Take the assumed values and fit into the model.
model <- nls(yvalues ~ b1*xvalues^2+b2,start = list(b1 = 1,b2 = 3))

# Plot the chart with new data by fitting it to a prediction from 100 data points.
new.data <- data.frame(xvalues = seq(min(xvalues),max(xvalues),len = 100))
lines(new.data$xvalues,predict(model,newdata = new.data))

# Save the file.
dev.off()

# Get the sum of the squared residuals.
print(sum(resid(model)^2))

# Get the confidence intervals on the chosen values of the coefficients.
print(confint(model))

Ketika kita menjalankan kode di atas, hasilnya adalah sebagai berikut -

[1] 1.081935
Waiting for profiling to be done...
       2.5%    97.5%
b1 1.137708 1.253135
b2 1.497364 2.496484
Persegi terkecil Non Linear R

Dapat disimpulkan bahwa nilai b1 lebih mendekati 1 sedangkan nilai b2 lebih mendekati 2 dan bukan 3.

Post a Comment for "Tutorial R : Cara Menggunakan Nonlinear Least Square di Pemrograman R Terbaru"

close