=====================================================
Nama Mahasiswa : Yoza Setya Febriyanti
NIM : 220605110062
Kelas : C
Mata Kuliah : Kalkulus
Dosen Pengampuh : Prof.Dr.Suhartono,M.Kom
Jurusan : Teknik Informatika
Universitas : UIN Maulana Malik Ibrahim Malang
=====================================================
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
Hondas <- read.csv("http://www.mosaic-web.org/go/datasets/used-hondas.csv")
head(Hondas)
## Price Year Mileage Location Color Age
## 1 20746 2006 18394 St.Paul Grey 1
## 2 19787 2007 8 St.Paul Black 0
## 3 17987 2005 39998 St.Paul Grey 2
## 4 17588 2004 35882 St.Paul Black 3
## 5 16987 2004 25306 St.Paul Grey 3
## 6 16987 2005 33399 St.Paul Black 2
Teks bagian ini menjelaskan model dengan Usia dan Jarak Tempuh sebagai jumlah input dan harga (dalam USD) sebagai output. Klaim dibuat bahwa harga jelas merupakan fungsi dari keduanya dan . Mari kita buat grafik itu lagi.carPrice1()AgeMileage
carPrice1 <- fitModel(
Price ~ A + B * Age + C * Mileage + D * Age * Mileage,
data = Hondas)
contour_plot(
carPrice1(Age = age, Mileage = miles) ~ age + miles,
domain(age = range(0, 8), miles = range(0, 60000)))
Pada grafik di atas, konturnya vertikal.
Harga sangat tergantung pada kedua variabel.
Harga tergantung pada Usia tetapi bukan Jarak Tempuh.
Harga tergantung pada tetapi tidak .MileageAge
Harga tidak terlalu bergantung pada salah satu variabel.
JAWAB:
Setiap kontur sesuai dengan harga yang berbeda. Saat Anda melacak secara horizontal dengan , Anda menyeberang dari satu kontur ke kontur lainnya. Tetapi saat Anda melacak secara vertikal dengan , Anda tidak melewati kontur. Ini berarti bahwa harga tidak bergantung pada , karena perubahan tidak menyebabkan perubahan harga. Tetapi harga berubah dengan .AgeMileageMileageMileageAge
Harga sangat tergantung pada kedua variabel.
Harga tergantung pada tetapi tidak .AgeMileage
Harga tergantung pada tetapi tidak .MileageAge
Harga tidak terlalu bergantung pada salah satu variabel.
JAWAB:
Saat Anda melacak secara horizontal, dengan , Anda berpindah dari kontur ke kontur: harga berubah. Jadi harga tergantung pada . Hal yang sama berlaku ketika Anda melacak secara vertikal, dengan . Jadi harga juga tergantung pada .AgeAgeMileageMileage
JAWAB:
Lihatlah tanda centang pada sumbu. Dalam grafik di badan teks, berjalan dari dua hingga delapan tahun. Tetapi dalam grafik latihan, hanya berjalan dari nol hingga satu tahun. Demikian pula, grafik di badan teks telah berjalan dari 0 hingga 60.000 mil, tetapi dalam grafik latihan, berjalan dari 0 hingga 1.AgeAgeMileageMileage
Kedua grafik menunjukkan fungsi yang sama, jadi keduanya “benar.” Tetapi grafik latihan itu menyesatkan secara visual. Tidak mengherankan bahwa harga tidak banyak berubah dari 0 mil menjadi 1 mil, tetapi berubah (agak) dari 0 tahun menjadi 1 tahun.
Moral di sini: Perhatikan baik-baik sumbu dan jangkauan yang mereka tampilkan. Saat Anda menggambar grafik, pastikan Anda mengatur rentang ke sesuatu yang relevan dengan masalah yang dihadapi.
Ekonom biasanya berpikir tentang harga dalam hal logaritma mereka. Keuntungan melakukan ini adalah tidak masalah dalam mata uang apa harganya; Kenaikan 1 dalam harga log adalah proporsi yang sama terlepas dari harga atau mata uangnya.
Pertimbangkan model Harga Batang 10 .log10 harga sebagai fungsi mil dan usia.
logPrice2 <- fitModel(
logPrice ~ A + B * Age + C * Mileage + D * Age * Mileage,
data = Hondas %>% mutate(logPrice = log10(Price)))
Model ini didefinisikan untuk mencakup interaksi antara usia dan jarak tempuh. Tentu saja, mungkin saja parameternya akan mendekati nol. Itu berarti bahwa data tidak memberikan bukti apa pun untuk interaksi.D
Sesuaikan model dan lihat kontur harga log. Apa yang dikatakan bentuk kontur kepada Anda tentang apakah data memberikan bukti untuk interaksi dalam harga log?
JAWAB:
contour_plot(
logPrice2(Age=age, Mileage=miles) ~ age + miles,
domain(age = range(0, 8), miles = range(0, 60000)))
Konturnya cukup lurus, yang menunjukkan bahwa ada sedikit interaksi. Saat menafsirkan harga log, Anda dapat memikirkan peningkatan, katakanlah, 0,05 dalam output yang sesuai dengan kenaikan harga proporsional yang sama. Misalnya, kenaikan harga log dari 4.2 (yaitu 104.2 104.2 = 15.849) hingga 4,25 (yaitu 104.25 104.25 = 17.783) adalah kenaikan harga aktual sebesar 12%. Peningkatan lebih lanjut dalam harga log ke 4.3 (yaitu, dalam harga sebenarnya, 104.3 104.3 = 19.953) adalah kenaikan 12% lebih lanjut dalam harga sebenarnya.
Tetap dekat dengan data
Menyesuaikan fungsi dengan data bukanlah sihir. Sejauh data membatasi bentuk model yang masuk akal, model akan menjadi kecocokan yang masuk akal dengan data. Tetapi untuk input yang tidak ada datanya (misalnya mobil berusia 0 tahun dengan 60.000 mil) seorang model dapat melakukan hal-hal gila. Ini terutama terjadi jika modelnya rumit, katakanlah termasuk kekuatan variabel, seperti yang satu ini:
carPrice3 <- fitModel(
Price ~ A + B * Age + C * Mileage + D * Age * Mileage +
E * Age^2 + F * Mileage^2 + G * Age^2 * Mileage +
H * Age * Mileage^2,
data = Hondas)
gf_point(Mileage ~ Age, data = Hondas, fill = NA) %>%
contour_plot(
carPrice3(Age=Age, Mileage=Mileage) ~ Age + Mileage)
Untuk mobil di bawah 3 tahun atau lebih tua dengan jarak tempuh yang sangat tinggi atau sangat rendah, konturnya melakukan beberapa hal gila! Akal sehat mengatakan bahwa jarak tempuh yang lebih tinggi atau usia yang lebih besar menghasilkan harga yang lebih tinggi. Dalam hal kontur, akal sehat diterjemahkan menjadi kontur yang memiliki kemiringan negatif. Tetapi kemiringan kontur ini seringkali positif.
Ini membantu untuk mempertimbangkan apakah ada daerah di mana ada sedikit data. Sebagai aturan, model yang rumit seperti tidak dapat diandalkan untuk input di mana ada sedikit atau tidak ada data.carPrice3()
Fokus hanya pada wilayah plot di mana ada banyak data. Apakah kontur memiliki bentuk yang diharapkan oleh akal sehat?
JAWAB:
Di mana ada banyak data, bentuk kontur lokal memang landai lembut ke bawah dari kiri ke kanan, seperti yang diantisipasi oleh akal sehat.
Menyesuaikan Polinomial
Sebagian besar mahasiswa mengambil kursus aljabar yang mencakup banyak hal tentang polinomial, dan polinomial sangat sering digunakan dalam pemodelan. (Mungkin, mereka digunakan lebih sering daripada yang seharusnya. Dan guru aljabar mungkin kecewa mendengar bahwa model polinomial yang paling penting adalah yang orde rendah, misalnya, f(x,y)=a+bx+cy+dxy f(x,y)=a+bx+cy+dxy daripada menjadi kubik atau quartics, dll.) Menyesuaikan polinomial dengan data adalah masalah aljabar linier: membangun vektor yang sesuai untuk mewakili berbagai kekuatan. Misalnya, berikut cara menyesuaikan model kuadrat dengan variabel versus dalam file data:ccftemp"utilities.csv”
Utilities = read.csv("http://www.mosaic-web.org/go/datasets/utilities.csv")
project(ccf ~ 1 + temp + I(temp^2), data = Utilities)
## (Intercept) temp I(temp^2)
## 317.58743630 -6.85301947 0.03609138
Anda mungkin bertanya-tanya, untuk apa? Ternyata ada notasi yang berbeda untuk statistik dan matematika, dan bahwa ia memiliki arti yang secara halus berbeda dalam rumus R daripada eksponensial sederhana. Ini memberitahu perangkat lunak untuk mengambil eksponensial secara harfiah dalam arti matematis.I( )^I( )
Koefisien memberi tahu kita bahwa model kuadrat versus yang paling pas adalah:ccftemp
ccfQuad <- makeFun(317.587 - 6.853*T + 0.0361*T^2 ~ T)
gf_point(ccf ~ temp, data = Utilities) %>%
slice_plot(ccfQuad(temp) ~ temp)
Untuk menemukan nilai model ini pada suhu tertentu, cukup evaluasi fungsinya. (Dan perhatikan bahwa didefinisikan dengan variabel input.)ccfQuad( )T
ccfQuad(T=72)
## [1] 11.3134
Utils <- read.csv("http://www.mosaic-web.org/go/datasets/utilities.csv")
Utils
## month day year temp kwh ccf thermsPerDay dur totalbill gasbill elecbill
## 1 2 24 2005 29 557 166 6.0 28 213.71 166.63 47.08
## 2 3 29 2005 31 772 179 5.5 33 239.85 117.05 62.80
## 3 1 27 2005 15 891 224 7.5 30 294.96 223.92 71.04
## 4 11 23 2004 43 860 82 2.8 29 160.26 88.51 71.75
## 5 12 28 2004 23 1160 208 6.0 35 317.47 224.18 93.29
## 6 9 26 2004 71 922 15 0.5 32 117.46 21.25 96.21
## 7 8 25 2004 67 841 15 0.5 29 111.08 21.72 89.36
## 8 7 27 2004 72 860 8 0.3 30 106.65 15.59 91.06
## 9 1 28 2004 15 594 242 8.1 30 262.81 216.89 47.37
## 10 6 27 2004 64 911 18 0.6 32 119.65 25.14 94.51
## 11 5 26 2004 58 742 35 1.2 29 109.38 39.40 69.98
## 12 4 27 2004 48 709 78 2.6 30 120.08 65.67 54.41
## 13 3 28 2004 35 510 144 4.7 31 166.51 124.18 42.33
## 14 2 26 2004 16 563 216 7.6 29 239.60 193.45 46.15
## 15 12 29 2003 25 725 204 5.9 35 225.73 168.93 56.80
## 16 11 24 2003 35 570 130 4.6 29 151.62 106.61 45.01
## 17 10 26 2003 53 927 48 1.5 31 127.37 45.28 82.09
## 18 9 25 2003 69 888 16 0.5 30 108.54 21.08 87.46
## 19 8 26 2003 75 869 14 0.5 29 108.04 19.56 89.12
## 20 7 28 2003 72 934 15 0.5 32 116.29 21.28 95.01
## 21 6 26 2003 67 722 18 0.6 29 99.52 24.46 75.06
## 22 4 28 2003 46 503 100 3.2 32 127.07 86.83 40.24
## 23 3 27 2003 29 648 153 5.3 29 226.92 176.02 50.90
## 24 12 29 2002 25 1032 190 5.5 35 217.42 140.49 76.93
## 25 11 24 2002 34 865 126 4.1 31 154.93 94.67 65.02
## 26 10 24 2002 47 790 69 2.4 29 122.51 55.74 66.77
## 27 9 25 2002 69 838 16 0.5 30 99.46 18.16 82.20
## 28 8 26 2002 72 812 15 0.5 29 101.39 17.56 83.83
## 29 7 28 2002 76 925 16 0.5 32 111.65 18.61 93.04
## 30 6 26 2002 69 496 23 0.8 29 76.43 23.42 53.01
## 31 5 28 2002 51 394 60 2.0 30 87.47 48.92 38.55
## 32 4 28 2002 45 449 106 3.3 32 106.04 70.34 35.70
## 33 3 27 2002 21 471 190 6.6 29 152.32 113.63 38.69
## 34 11 26 2001 48 1046 79 2.4 33 134.50 53.60 80.90
## 35 1 28 2002 23 581 210 6.6 32 174.45 127.86 46.59
## 36 2 26 2002 28 551 178 6.2 29 147.06 102.85 44.21
## 37 6 26 2001 70 160 1 0.1 10 31.55 3.42 17.43
## 38 10 24 2001 51 828 44 1.6 29 107.58 32.38 75.20
## 39 9 25 2001 64 865 20 0.7 30 105.91 20.17 85.74
## 40 7 26 2001 76 736 7 0.2 30 92.36 12.79 79.57
## 41 10 24 2000 54 778 37 1.3 29 107.50 41.19 66.31
## 42 11 26 2000 37 617 123 3.8 33 150.13 102.52 47.61
## 43 12 27 2000 11 586 235 7.7 31 254.23 210.87 46.59
## 44 8 26 2001 75 923 15 0.5 31 114.95 18.10 96.85
## 45 2 26 2000 24 521 228 8.0 29 177.48 134.65 42.83
## 46 9 25 2000 64 864 17 0.5 32 104.86 21.39 83.47
## 47 12 29 1999 26 892 194 5.5 36 173.65 112.72 68.25
## 48 1 28 2000 18 533 164 5.6 30 139.18 95.88 43.30
## 49 8 24 2000 72 789 13 0.4 29 96.47 17.66 78.81
## 50 7 26 2000 72 935 0 0.0 32 102.44 8.08 94.36
## 51 4 28 2000 45 638 74 2.2 34 100.33 47.33 53.00
## 52 6 24 2000 66 583 23 0.9 25 85.30 25.55 59.75
## 53 5 30 2000 60 700 129 4.1 32 153.32 89.87 63.45
## 54 3 25 2000 41 554 16 0.6 28 61.27 15.32 45.95
## 55 2 26 2003 17 580 224 7.8 29 232.41 187.05 45.36
## 56 5 28 2003 56 496 43 1.4 30 92.86 43.77 49.09
## 57 4 28 2005 54 444 61 2.0 30 103.34 64.99 38.35
## 58 5 26 2005 56 645 51 1.8 28 127.22 61.81 65.41
## 59 8 25 2005 74 845 9 0.3 29 120.53 18.16 102.37
## 60 9 26 2005 69 995 11 0.3 32 135.07 22.33 112.74
## 61 7 27 2005 78 862 11 0.4 30 116.72 19.96 96.76
## 62 6 27 2005 72 939 19 0.6 32 131.02 27.30 103.72
## 63 10 25 2005 56 965 32 1.1 29 150.62 55.74 94.88
## 64 12 28 2005 21 931 176 5.8 31 324.52 240.90 83.62
## 65 11 27 2005 41 926 99 3.1 33 212.49 153.24 84.75
## 66 1 29 2006 30 927 144 4.5 32 282.25 193.84 90.28
## 67 2 27 2006 22 876 161 5.6 29 289.91 198.11 91.80
## 68 3 28 2006 34 749 116 4.0 29 210.85 138.65 72.20
## 69 4 26 2006 53 428 52 1.8 29 96.87 55.00 41.87
## 70 5 25 2006 59 450 38 1.3 29 95.04 47.39 47.65
## 71 6 26 2006 74 694 10 0.3 32 98.48 19.19 79.32
## 72 7 26 2006 78 954 7 0.2 30 131.27 16.37 114.90
## 73 8 24 2006 77 957 6 0.2 29 134.96 15.88 119.30
## 74 9 25 2006 64 1027 15 0.5 32 156.51 25.74 130.77
## 75 11 26 2006 41 663 101 3.1 33 168.24 106.54 62.72
## 76 12 27 2006 30 720 140 4.5 31 229.40 159.08 70.32
## 77 10 24 2006 50 893 47 1.6 29 144.16 46.12 98.04
## 78 1 28 2007 24 897 168 5.3 32 267.72 178.16 89.97
## 79 2 26 2007 13 808 191 6.7 29 298.50 207.53 90.97
## 80 3 26 2007 38 724 101 3.6 29 192.67 118.78 73.89
## 81 4 26 2007 46 707 77 2.6 30 159.01 82.76 76.25
## 82 5 28 2007 65 442 18 0.6 32 86.54 32.98 53.56
## 83 6 26 2007 74 305 7 0.2 29 67.19 21.41 45.78
## 84 7 27 2007 76 839 9 0.3 30 135.73 22.87 112.99
## 85 8 26 2007 75 809 6 0.2 31 123.07 19.17 103.90
## 86 9 25 2007 68 812 13 0.4 30 117.82 24.54 98.90
## 87 10 24 2007 58 761 28 1.0 29 123.40 38.59 85.81
## 88 11 26 2007 41 767 98 3.0 33 181.53 104.52 77.01
## 89 12 27 2007 18 980 182 6.0 31 296.10 194.91 101.19
## 90 3 27 2008 28 752 139 4.7 30 245.27 167.30 77.97
## 91 2 26 2008 15 804 191 6.7 29 292.12 207.32 84.80
## 92 4 27 2008 45 623 79 2.6 31 160.69 97.11 63.58
## 93 8 25 2008 75 544 12 0.4 29 103.28 26.83 76.45
## 94 5 27 2008 55 410 29 1.0 30 105.50 52.15 53.35
## 95 6 25 2008 68 196 6 0.2 29 53.92 20.97 32.95
## 96 9 25 2008 67 746 16 0.5 31 124.82 29.77 95.05
## 97 7 27 2008 76 477 11 0.3 32 99.14 69.82 29.32
## 98 10 26 2008 55 801 32 1.1 31 134.30 41.74 92.56
## 99 11 24 2008 39 868 91 3.0 29 186.18 93.60 92.58
## notes
## 1
## 2
## 3
## 4
## 5
## 6
## 7
## 8
## 9
## 10
## 11
## 12
## 13
## 14
## 15
## 16
## 17
## 18
## 19
## 20
## 21
## 22
## 23
## 24
## 25
## 26
## 27
## 28
## 29
## 30
## 31
## 32
## 33
## 34
## 35
## 36
## 37 transfer back from England
## 38
## 39
## 40
## 41
## 42
## 43
## 44
## 45
## 46
## 47
## 48
## 49
## 50
## 51
## 52
## 53
## 54 bad meter reading
## 55
## 56
## 57
## 58
## 59
## 60
## 61 high efficiency gas furnace and gas water heater installed
## 62
## 63
## 64
## 65
## 66
## 67
## 68
## 69
## 70
## 71 away for 10 days on vacation
## 72
## 73
## 74
## 75
## 76
## 77
## 78
## 79
## 80
## 81
## 82
## 83
## 84
## 85
## 86 5.46 credit for "cost of gas"
## 87
## 88
## 89
## 90 housesitters
## 91 housesitters
## 92 housesitters
## 93
## 94 housesitters
## 95 empty house
## 96
## 97 empty house
## 98
## 99
project(ccf ~ 1 + temp + I(temp^2) + I(temp^3), data = Utils)
## (Intercept) temp I(temp^2) I(temp^3)
## 2.550709e+02 -1.427408e+00 -9.643482e-02 9.609511e-04
project(ccf ~ 1 + temp + I(temp^2) + I(temp^3), data = Utils)
## (Intercept) temp I(temp^2) I(temp^3)
## 2.550709e+02 -1.427408e+00 -9.643482e-02 9.609511e-04
ccfCubic <-
makeFun(2.551e2 - 1.427*T -
9.643e-2*T^2 + 9.6095e-4*T^3 ~ T)
gf_point(ccf ~ temp, data = Utils) %>%
slice_plot(ccfCubic(temp) ~ temp)
ccfCubic(32)
## [1] 142.1801
JAWAB:
project(ccf ~ 1 + temp + I(temp^2) + I(temp^3) + I(temp^4),
data = Utils)
## (Intercept) temp I(temp^2) I(temp^3) I(temp^4)
## 1.757579e+02 8.225746e+00 -4.815403e-01 7.102673e-03 -3.384490e-05
ccfQuad <- makeFun(1.7576e2 + 8.225*T -4.815e-1*T^2 +
7.103e-3*T^3 - 3.384e-5*T^4 ~ T)
gf_point(ccf ~ temp, data = Utils) %>%
slice_plot(ccfQuad(temp) ~ temp) %>%
gf_labs(y = "Natural gas use (ccf)", x = "Temperature (F)")
ccfQuad(32)
## [1] 143.1713
Buat plot perbedaan antara model urutan ke-3 dan ke-4 pada kisaran suhu dari 20 hingga 60 derajat. Apa perbedaan terbesar (dalam nilai absolut) antara output kedua model?
Sekitar 1 ccf.
Sekitar 4 ccf.
Sekitar 8 ccf.
Sekitar 1 derajat F.
Sekitar 4 derajat F.
Sekitar 8 degress F.
JAWAB : Output dari model adalah dalam satuan ccf.
slice_plot(ccfQuad(temp) - ccfCubic(temp) ~ temp,
domain(temp = range(20, 60)))
Perbedaan antara kedua model selalu dalam sekitar 4 ccf.
\end{enumerate}
#6.1.1.2 Latihan 2 Regresi Berganda
Pada tahun 1980, majalah Consumer Reports mempelajari mobil model 1978-79 untuk mengeksplorasi bagaimana berbagai faktor mempengaruhi penghematan bahan bakar. Pengukuran termasuk efisiensi bahan bakar dalam mil-per-galon, mengekang berat dalam pound, tenaga mesin dalam tenaga kuda, dan jumlah silinder. Variabel-variabel ini termasuk dalam file .”cardata.csv”
Cars = read.csv("http://www.mosaic-web.org/go/datasets/cardata.csv")
head(Cars)
## mpg pounds horsepower cylinders tons constant
## 1 16.9 3967.60 155 8 2.0 1
## 2 15.5 3689.14 142 8 1.8 1
## 3 19.2 3280.55 125 8 1.6 1
## 4 18.5 3585.40 150 8 1.8 1
## 5 30.0 1961.05 68 4 1.0 1
## 6 27.5 2329.60 95 4 1.2 1
JAWAB :
project(mpg ~ pounds + 1, data = Cars)
## (Intercept) pounds
## 43.188646127 -0.007200773
43.1886 - 0.00720*2000
## [1] 28.7886
Berapa nilai model untuk input 2000 pound dan 150 tenaga kuda? {14.9,19.4,21.1,25.0,28.8,33.9,35.2}
Berapa nilai model untuk input 2000 pound dan 50 tenaga kuda? {14.9,19.4,21.1,25.0,28.8,33.9,35.2}
JAWAB :
project(mpg ~ pounds + horsepower + 1, data = Cars)
## (Intercept) pounds horsepower
## 46.932738241 -0.002902265 -0.144930546
mod_fun <- makeFun(46.933 - 0.00290*lbs - 0.1449*hp ~ lbs + hp)
mod_fun(lbs = 2000, hp = 50)
## [1] 33.888