This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
You can also embed plots, for example:
Note that the echo = FALSE parameter was added to the
code chunk to prevent printing of the R code that generated the
plot.
Housing = read.csv("http://www.mosaic-web.org/go/datasets/Income-Housing.csv")
Bab 3 #Parameter dan fungsi
Parameter fungsi pemodelan Variabel dan parameter adalah dua istilah yang banyak digunakan dalam matematika dan fisika. Keduanya sering dianggap sama. Variabel adalah entitas yang berubah sehubungan dengan entitas lain. Parameter adalah entitas yang digunakan untuk menghubungkan variabel.
1.Parameter fungsi pemodelan
Sistem memiliki parameter tertentu; Contoh: - gaya tarik gravitasi bumi - jumlah loket dalam antrian layanan Bank, dll * Untuk pembuatan model, parameter-parameter yang perlu disertakan harus diperkirakan nilainya (estimasi parameter) dengan tepat. * Estimasi parameter yang dipergunakan dalam model disebut proses parameterisasi * Kesalahan dalam menentukan nilai parameter dapat membuat model yang dihasilkan tidak sesuai dengan performansi sistem nyatanya 2.Polinomial dan parameter Setiap parameter memiliki dimensinya sendiri 3.Fungsi tanpa parameter: splines dan smooths “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 splines tidak ditentukan oleh bentuk dan parameter aljabar, tetapi oleh data dan algoritma. Sebagai ilustrasi, pertimbangkan beberapa data sederhana. Kumpulan data Loblollyberisi 84 pengukuran usia dan tinggi pinus loblolly.
library(mosaicCalc)
## Loading required package: 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
## 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
gf_point(height ~ age, data=datasets::Loblolly)
diagram diatas merupakan gambaran dari beberapa pohon pinus dengan usia
tiga tahun dan tinggi yang hampir sama dan dilacak dari waktu ke waktu:
usia lima tahun, usia 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. Untuk banyak tujuan, mengukur bagaimana laju pertumbuhan
berubah seiring bertambahnya usia pohon, yang dibutuhkan hanyalah fungsi
mulus yang terlihat seperti data
library(mosaicCalc)
f1 <- spliner (height ~ age, data = datasets::Loblolly)
## Warning in regularize.values(x, y, ties, missing(ties)): collapsing to unique
## 'x' values
#Sebuah "spline kubik", yang mengikuti kelompok titik data dan kurva
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
#Sebuah "interpolant linier", yang menghubungkan kelompok titik data dengan garis lurus.
f1(age = 8)
## [1] 20.68193
f2(age = 8)
## [1] 20.54729
gf_point(height ~ age, data = datasets::Loblolly) %>%
slice_plot(f1(age) ~ age) %>%
slice_plot(f2(age) ~ age, color="purple" )
anda dapat menentukan usia pohon ketika mencapai 35 kaki seerti diagaram
yang diwakili garis ungu
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
Seperti yang anda lihat, fungsi konektor spline dan linier sangat mirip, kecuali untuk rentang input di luar rentang data. Namun, dalam rentang data tersebut, kedua jenis fungsi tersebut tepat berada di tengah setiap kelompok usia.
Spline dan konektor tidak selalu sesuai dengan yang Anda inginkan, oleh karena itu lebih baik untuk membagi data menjadi berbagai kelompok terpisah, Misalnya, trees.csvkumpulan data adalah pengukuran volume, ketebalan, dan tinggi pohon ceri hitam. Pohon-pohon ditebang untuk diambil kayunya, dan minat dalam melakukan pengukuran adalah untuk membantu memperkirakan berapa banyak volume kayu yang dapat digunakan yang dapat diperoleh dari sebuah pohon, berdasarkan lingkar (yaitu, keliling) dan tinggi. Ini akan berguna, misalnya, dalam memperkirakan berapa nilai uang sebuah pohon. Namun, tidak seperti data pinus loblolly, data ceri hitam tidak melibatkan pohon yang jatuh dengan baik ke dalam kelompok yang ditentukan.
Cherry <- datasets::trees
gf_point(Volume ~ Girth, data = Cherry)
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)")
kedua garis melalui titik yang sama tapi dengan pola yanng berbeda
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)")
g4 <- smoother(Volume ~ Girth, data=Cherry, span=1.0)
gf_point(Volume~Girth, data = Cherry) %>%
slice_plot(g4(Girth) ~ Girth) %>%
gf_labs(x = "Girth (inches)", y = "Wood volume")
bagaimana jika seringkali Anda ingin menangkap hubungan di mana ada lebih dari satu variabel sebagai input. Smoother melakukan ini dengan sangat baik; cukup tentukan 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 yang lebih halus atau 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 dari fungsi di sisi kiri tilde, dan variabel input di sisi kanan. 3.Fungsi yang dibuat akan memiliki nama input yang cocok dengan variabel yang Anda tentukan sebagai input. (Untuk saat ini, hanya smootherakan menerima lebih dari satu variabel input.) 4.Kelancaran suatu smootherfungsi dapat diatur oleh spanargumen. 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 dalam data yang menunjukkan pola naik yang stabil atau pola turun yang stabil.
Saat anda ingin memplot suatu fungsi, 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