RANGKUMAN BAB 3
PARAMETER DAN FUNGSI
1.Parameter Versus Variabel Sebenarnya tidak ada perbedaan Newton antara a, b, c, dan x, y, z.
2.Parameter Fungsi Pemodelan Ide memberikan parameterisasi eksponensial, sinus, hukum pangkat adalah untuk membuat argumeken fungsi matematika tidak berdimensi.Anda dapat mengambil log apapun yang disuka untuk parameter dan logaritma.
3.Polinomial dan Parameter Setiap parameter memiliki dimensinya sendiri.
4.Parameter dan makeFun()
5.Fungsi tanpa Parameter : Splines dan Smoother Hiper-parameter adalah angka yang mengatur bentuk fungsi tapi dapat diatur secara bebas dan tetap cocok dengan data. Parameter hiper tidak diatur langsung oleh data.
Model matematika mencoba menangkap pola di dunia nyata. Ini berguna karena model dapat lebih mudah dipelajari dan dimanipulasi daripada dunia itu sendiri. Salah satu penggunaan fungsi yang paling penting adalah untuk mereproduksi atau menangkap atau memodelkan pola yang muncul dalam data.
Kadang-kadang, pilihan bentuk fungsi tertentu - eksponensial atau hukum kekuasaan, katakanlah - dimotivasi oleh pemahaman tentang proses yang terlibat dalam pola yang digunakan fungsi untuk memodelkan. Tetapi di lain waktu, semua yang diminta adalah fungsi yang mengikuti data dan yang memiliki sifat lain yang diinginkan, misalnya halus atau meningkat dengan mantap.
“Smoothers” dan “splines” adalah dua jenis fungsi tujuan umum yang dapat menangkap pola dalam data, tetapi tidak ada bentuk aljabar sederhana. Membuat fungsi seperti itu sangat mudah, selama Anda dapat membebaskan diri dari gagasan bahwa fungsi harus selalu memiliki rumus.
Smoother dan spline didefinisikan bukan oleh bentuk dan parameter aljabar, tetapi oleh data dan algoritma. Untuk mengilustrasikan, pertimbangkan beberapa data sederhana. Kumpulan data berisi 84 pengukuran usia dan tinggi pinus loblolly.
library(mosaic)
## Registered S3 method overwritten by 'mosaic':
## method from
## fortify.SpatialPolygonsDataFrame ggplot2
##
## The 'mosaic' package masks several functions from core packages in order to add
## additional features. The original behavior of these functions should not be affected by this.
##
## Attaching package: 'mosaic'
## The following objects are masked from 'package:dplyr':
##
## count, do, tally
## The following object is masked from 'package:Matrix':
##
## mean
## The following object is masked from 'package:ggplot2':
##
## stat
## The following objects are masked from 'package:stats':
##
## binom.test, cor, cor.test, cov, fivenum, IQR, median, prop.test,
## quantile, sd, t.test, var
## The following objects are masked from 'package:base':
##
## max, mean, min, prod, range, sample, sum
gf_point(height ~ age, data=datasets::Loblolly)
analisis data : Beberapa pinus berusia tiga tahun dengan tinggi yang sangat mirip diukur dan dilacak dari waktu ke waktu: usia lima tahun, usia sepuluh tahun, dan seterusnya. Pohon-pohon berbeda satu sama lain, tetapi mereka semua sangat mirip dan menunjukkan pola sederhana: pertumbuhan linier pada awalnya yang tampaknya rendah dari waktu ke waktu.
Pertimbangan kedua
f1 <- spliner(height ~ age, data = datasets::Loblolly)
## Warning in regularize.values(x, y, ties, missing(ties)): collapsing to unique
## 'x' values
f2 <- connector(height ~ age, data = datasets::Loblolly)
## Warning in regularize.values(x, y, ties, missing(ties), na.rm = na.rm):
## collapsing to unique 'x' values
Definisi fungsi-fungsi ini mungkin tampak aneh pada awalnya - mereka sepenuhnya ditentukan oleh data: tidak ada parameter! Meskipun demikian, mereka adalah fungsi asli dan dapat dikerjakan seperti fungsi lainnya. Misalnya, Anda dapat memasukkan input dan mendapatkan output:
f1(age = 8)
## [1] 20.68193
f2(age = 8)
## [1] 20.54729
lalu membuat grafiknya :
library(mosaicCalc)
## Loading required package: mosaicCore
##
## Attaching package: 'mosaicCore'
## The following objects are masked from 'package:dplyr':
##
## count, tally
##
## Attaching package: 'mosaicCalc'
## The following object is masked from 'package:stats':
##
## D
Anda bahkan dapat “memecahkan” mereka, misalnya menemukan usia di mana tingginya akan menjadi 35 kaki:
findZeros(f1(age) - 35 ~ age, xlim=range(0,30))
## age
## 1 12.6905
findZeros(f2(age) - 35 ~ age, xlim=range(0,30))
## age
## 1 12.9
Program ini seakan tidak memberi tahu pembaca apa yang dilakukan oleh tubuh fungsi. Hal ini terjadi dikarenakan definisi ini sudah mengacu pada data yang telah tersimpan didalam library.
Fungsi konektor spine dan linier sangat mirip bila dilihat dari data tersebut, kecuali untuk rentang input diluar rentang data.
Cara melihat ceri hitam yang tidak melibatkan pohon yang jatuh dengan baik ke dalam kelompok yang ditentukan.
Cherry <- datasets::trees
gf_point(Volume ~ Girth, data = Cherry)
atau konektor linier:
g1 = spliner(Volume ~ Girth, data = Cherry)
## Warning in regularize.values(x, y, ties, missing(ties)): collapsing to unique
## 'x' values
g2 = connector(Volume ~ Girth, data = Cherry)
## Warning in regularize.values(x, y, ties, missing(ties), na.rm = na.rm):
## collapsing to unique 'x' values
slice_plot(g1(x) ~ x, domain(x = 8:18)) %>%
slice_plot(g2(x) ~ x, color ="blue") %>%
gf_point(Volume ~ Girth, data = Cherry) %>%
gf_labs(x = "Girth (inches)")
fungsi smoother dapat digunakan untuk percaya bahwa fungsi mulus lebih
tepat daripada fungsi dengan banyak pasang surut.
g3 <- smoother(Volume ~ Girth, data = Cherry, span=1.5)
gf_point(Volume~Girth, data=Cherry) %>%
slice_plot(g3(Girth) ~ Girth) %>%
gf_labs(x = "Girth (inches)")
Smoother dapat menangkap hubungan lebih dari satu variabel sebagai
input. Kita cukup menentukan variabel mana yang akan menjadi input.
g5 <- smoother(Volume ~ Girth+Height,
data = Cherry, span = 1.0)
gf_point(Height ~ Girth, data = Cherry) %>%
contour_plot(g5(Girth, Height) ~ Girth + Height) %>%
gf_labs(x = "Girth (inches)",
y = "Height (ft)",
title = "Volume (ft^3)")
Saat Anda membuat konektor smoother, spline atau linier, ingat aturan ini:
1.Anda memerlukan bingkai data yang berisi data.
2.Anda menggunakan rumus dengan variabel yang Anda inginkan sebagai output fungsi di sisi kiri tilde, dan variabel input di sisi kanan.
3.Fungsi yang dibuat akan memiliki nama masukan yang cocok dengan variabel yang Anda tentukan sebagai masukan.
4.Kelancaran suatu smoother dapat diatur oleh argumen span. Rentang 1,0 biasanya cukup mulus. Kesalahannya adalah 0,5.
5.Saat membuat spline, Anda memiliki opsi untuk mendeklarasikan monotonic=TRUE. Ini akan mengatur hal-hal untuk menghindari benjolan asing pada data yang menunjukkan pola naik yang stabil atau pola turun yang stabil.
6.Saat Anda ingin memplot suatu fungsi, tentu saja Anda perlu memilih rentang untuk nilai input. Seringkali masuk akal untuk memilih rentang yang sesuai dengan data yang menjadi dasar fungsi. Anda dapat menemukan ini dengan range()perintah, misalnya
range(Cherry$Height)
## [1] 63 87