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 argumen ke 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 berusaha menangkap pola di dunia nyata karena model dapat lebih mudah dipelajari dan dimanipulasi daripada dunia itu sendiri. Salah satu penggunaan fungsi yang penting adalah untuk mereproduksi atau menangkap dan juga memodelkan pola yang muncul didalam data.

Pemilihan fungsi tertentu seperti eksponensial atau hukum pangkat dimotivasi oleh pemahaman tentang proses yang terlibat dalam pola yang digunakan fungsi untuk dimodelkan.

“Smoothers” dan “Splines” adalah dua jenis fungsi tujuan umum yang dapat menangkap pola dalam data. Smoother dan splines tidak ditentukan oleh bentuk dan parameter aljabar, tetapi oleh data dan algoritma.

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 pohon pinus berumur tiga tahun dengan tinggi yang sangat mirip diukur dan dilacak dari waktu ke waktu: umur lima tahun, umur sepuluh tahun, dan seterusnya. Pohon-pohon berbeda satu sama lain, tetapi semuanya sangat mirip dan menunjukkan pola sederhana: pertumbuhan linier pada awalnya yang tampaknya menurun seiring waktu.

Pertimbangan 2 data:

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

Dapat dimasukkan data

f1(age = 8)
## [1] 20.68193
f2(age = 8)
## [1] 20.54729

Lalu dibuat grafiknya:

library(mosaicCalc)
## Loading required package: mosaicCore
## 
## Attaching package: 'mosaicCore'
## The following objects are masked from 'package:dplyr':
## 
##     count, tally
## Loading required package: Deriv
## Loading required package: Ryacas
## 
## Attaching package: 'Ryacas'
## The following objects are masked from 'package:Matrix':
## 
##     diag, diag<-
## The following object is masked from 'package:stats':
## 
##     integrate
## The following objects are masked from 'package:base':
## 
##     %*%, diag, diag<-, lower.tri, upper.tri
## 
## Attaching package: 'mosaicCalc'
## The following object is masked from 'package:stats':
## 
##     D
gf_point(height ~ age, data = datasets::Loblolly) %>%
  slice_plot(f1(age) ~ age) %>%
  slice_plot(f2(age) ~ age, color="purple", ) 

Juga bisa dicari usia dimana ketinggian mencapai 80 kaki:

findZeros(f1(age) - 60 ~ age, xlim=range(0,30))
##       age
## 1 24.8121
findZeros(f2(age) - 60 ~ age, xlim=range(0,30))
##    age
## 1 24.8

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)

Cukup mudah untuk membuat spline 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 ="red") %>%
  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.

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