Nama : Ahmad Ghiffari Fadhil Saputra

NIM : 220605110067 KELAS : C

Mata Kuliah : Kalkulus

Dosen Pengampu : Prof.Dr.Suhartono,M.Kom

Jurusan : Teknik Informatika

Universitas : Universitas Negeri Maulana Malik Ibrahim Malang

Exponential Function

Sebagai ilustrasi, perhatikan data “Income-Housing.csv” yang menunjukkan hubungan eksponensial antara fraksi keluarga dengan dua mobil dan pendapatan:

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
## Warning: package 'mosaicCore' was built under R version 4.2.2
## 
## 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
Families <- read.csv("http://www.mosaic-web.org/go/datasets/Income-Housing.csv")
gf_point(TwoVehicles ~ Income, data = Families)

Pola data menunjukkan “pembusukan” eksponensial terhadap hampir 100% keluarga yang memiliki dua kendaraan. Bentuk matematis dari fungsi eksponensial ini adalah Aexp(kY)+C. A dan C adalah parameter linier yang tidak diketahui. k adalah parameter nonlinear yang tidak diketahui – ini akan menjadi negatif untuk peluruhan eksponensial. Aljabar linier memungkinkan kita menemukan parameter linier terbaik A dan C agar sesuai dengan data. Tapi bagaimana menemukan k? Misalkan Anda menebak k. Tebakan tidak harus benar-benar acak; Anda dapat melihat dari datanya sendiri bahwa “waktu paruh” adalah sekitar $25.000. Parameter k sesuai dengan waktu paruh, ln(0,5)/waktu paruh, jadi di sini tebakan yang baik untuk k adalah ln(0,5)/25000, yaitu

kguess <- log(0.5) / 25000
kguess
## [1] -2.772589e-05

Dimulai dengan tebakan tersebut, Anda dapat menemukan nilai terbaik dari parameter linier A dan C melalui teknik aljabar linier:

project( TwoVehicles ~ 1 + exp(Income*kguess), data = Families)
##          (Intercept) exp(Income * kguess) 
##             110.4263            -101.5666

Pastikan bahwa Anda benar-benar memahami arti dari pernyataan di atas. Ini TIDAK berarti bahwa TwoVehicles adalah jumlah 1+exp−Income×kguess. Sebaliknya, ini berarti bahwa Anda sedang mencari kombinasi linear dari dua fungsi 1 dan exp−Income×kguess yang sedekat mungkin cocok dengan TwoVehicles. Nilai yang dikembalikan oleh memberi tahu Anda apa kombinasi ini nantinya: berapa banyak dari 1 dan berapa banyak exp−Income×kguess untuk menambahkan bersama untuk mendekati TwoVehicles.

f <- makeFun( 110.43 - 101.57*exp(Income * k) ~ Income, k = kguess)
gf_point(TwoVehicles ~ Income, data = Families) %>%
  slice_plot(f(Income) ~ Income) 

f(Income = 10000)
## [1] 33.45433
f(Income = 50000)
## [1] 85.0375

Sangat informatif untuk melihat nilai fungsi untuk tingkat Pendapatan tertentu dalam data yang digunakan untuk penyesuaian, yaitu, kerangka data Keluarga:

Results <- Families %>% 
  dplyr::select(Income, TwoVehicles) %>%
  mutate(model_val = f(Income = Income),
         resids = TwoVehicles - model_val)
Results
##   Income TwoVehicles model_val     resids
## 1   3914        17.3  19.30528 -2.0052822
## 2  10817        34.3  35.17839 -0.8783904
## 3  21097        56.4  53.84097  2.5590313
## 4  34548        75.3  71.45680  3.8432013
## 5  51941        86.6  86.36790  0.2320981
## 6  72079        92.9  96.66273 -3.7627306

Residunya adalah selisih antara nilai model ini dan nilai sebenarnya dari TwoVehicles dalam kumpulan data.

Kolom resi memberikan residual untuk setiap baris. Tapi Anda juga bisa menganggap kolom resi sebagai vektor. Ingatlah bahwa panjang kuadrat vektor adalah jumlah residu kuadrat

sum(Results$resids^2)
## [1] 40.32358

Panjang kuadrat vektor resi ini merupakan cara penting untuk mengukur seberapa cocok model dengan data.

daftar pustaka : Kaplan, Daniel. 2020. Computer-age Calculus with R. https://dtkaplan.github.io/RforCalculus/index.html?fbclid=IwAR1d_WcAeawvUaBnLKlkRoO2sV4b-6nRX0eNR3DT457DKN7NJV8NV0giSLo