: Kita dapat menggunakan kombinasi linier dan perkalian fungsi untuk membangun fungsi khusus dari fungsi pemodelan dasar. Demikian pula, kombinasi linier dan perkalian fungsi menyediakan cara untuk membangun fungsi dari banyak masukan.
Harga rumah ditentukan oleh beberapa (atau banyak!) faktor. Menerjemahkan kalimat sebelumnya ke dalam bahasa fungsi, kita dapat mengatakan bahwa harga merupakan fungsi dari beberapa input. Masukan yang masuk akal untuk fungsi tersebut mencakup jumlah ruang tamu dan jumlah kamar tidur dan kamar mandi. Masukannya juga dapat mencakup kualitas lingkungan sekitar, lamanya perjalanan, dan sebagainya.
Seringkali, titik awal untuk membangun suatu fungsi dengan banyak
masukan adalah kerangka data yang variabelnya mencakup keluaran fungsi
(harga) dan masukan ke fungsi tersebut. Pemodel sering kali memulai
dengan membangun fungsi yang merupakan kombinasi linier dari variabel
masukan. Untuk mendemonstrasikan seperti apa fungsi tersebut, kita dapat
menggunakan SaratogaHouseskumpulan data, yang mencatat
harga jual 1.728 rumah di Saratoga County, New York, AS dan 15 variabel
lain untuk setiap rumah, seperti livingAreajumlah
bedroomsdan bathrooms.
Teknik membangun fungsi dari data akan diperkenalkan di Blok III.
Untuk saat ini, mari kita lihat seperti apa fungsi tersebut. Dari
SaratogaHouseskami membangun fungsi ini:
\[ \begin{eqnarray}\mathtt{price}(\mathtt{livingArea}, &&\mathtt{bedrooms}, \mathtt{bathrooms}) \equiv \\ &&21000 + 105\, \mathtt{livingArea}\\ &&- 13000\,\mathtt{bedrooms}\\ &&+ 26000\, \mathtt{bathrooms}\end{eqnarray} \]
Fungsi model adalah kombinasi linier sederhana, namun secara efektif mengukur bagaimana berbagai aspek rumah berkontribusi terhadap harga jualnya. Model tersebut (yang didasarkan pada data dua dekade lalu) menunjukkan bahwa tambahan satu kaki persegi ruang hidup bernilai sekitar 105 dolar per kaki2 . Kamar mandi tambahan bernilai sekitar $25.000. Anehnya, kamar tidur diberi nilai negatif oleh modelnya.
Mungkin Anda sudah paham apa yang dimaksud dengan “tambahan kaki
persegi” atau “kamar mandi tambahan”. Ide-ide ini mungkin bersifat
intuitif, namun dapat dipahami dengan baik jika didasarkan pada
kalkulus, yang akan kita bahas di Blok II. Misalnya, skalar negatif pada
bedroomsakan masuk akal jika Anda memahami “turunan
parsial”, pokok bahasan Bab 25
.
Ketika senar gitar dalam keadaan diam, ia membentuk garis lurus yang menghubungkan kedua ujung tetapnya: satu diatur dengan tekanan jari di sepanjang leher gitar dan yang lainnya di jembatan dekat bagian tengah badan gitar. Ketika senar gitar dipetik, osilasinya mengikuti pola perpindahan sinusoidal . Dengan pengaturan kamera dan pencahayaan yang tepat, kita dapat melihat osilasi berikut beraksi:
Untuk string yang panjangnya \(L\), perpindahan dawai merupakan fungsi posisi \(x\) sepanjang string dan merupakan kombinasi linier dari fungsi-fungsi bentuk
\[ g_k(x) \equiv \sin(k \pi x /L) \]
Di mana \(k\) adalah bilangan bulat. Beberapa fungsi tersebut digambarkan dalam Gambar 10.1 dengan \(k = 1\), \(k = 2\), dan \(k = 3\).
Bentuk seperti pada Gambar 10.1 adalah snapshot stop-motion flash dari string. Bentuk senar juga berubah terhadap waktu, sehingga perpindahan senar merupakan fungsi dari keduanya \(x\) dan \(t\). Perpindahan itu sendiri merupakan sinusoidal yang periode waktunya bergantung pada panjang dan tegangan tali serta jumlah siklus sinus spasial:
\[ g_k(x, t) \equiv \sin(\frac{k \pi}{L} x) \ \sin(\frac{k \pi}{P}t) \]
Gambar 10.2 menunjukkan beberapa cuplikan string siklus 1,5 pada momen waktu yang berbeda, dan pergerakan kombinasi linier.
Kami mengabaikan komposisi fungsi dari daftar cara membangun fungsi multi-input dari fungsi yang lebih sederhana dengan satu input.
Misalnya, pertimbangkan dua fungsi tersebut \(f(x)\) dan \(g(t)\). Komposisi \(f(g(t))\) hanya memiliki satu masukan: \(t\). Demikian pula, \(g(f(x))\) hanya memiliki satu masukan: \(x\).
Meskipun Anda belum memiliki pemahaman teoretis tentang cara membuat
fungsi dengan banyak masukan dari data, Anda dapat melakukan operasi
R/mosaik untuk melakukannya. Fungsi kuncinya adalah
fitModel(), yang seperti makeFun(), membangun
suatu fungsi. Dan, misalnya makeFun(), Anda perlu
menggunakan ekspresi gelombang laut untuk menentukan rumus model. Namun,
tidak seperti makeFun(), Anda dapat menyerahkannya kepada
komputer untuk menemukan parameter yang akan membuat fungsi tersebut
selaras dengan data.
Sebagai ilustrasi, kita dapat membuat model harga rumah dari
SaratogaHousesdata:
price <- fitModel(price ~ A + B*livingArea + C*bedrooms + D*bathrooms, data = SaratogaHouses)
Gunakan fungsinya dengan cara biasa. Misalnya, inilah yang dikatakan model tentang antisipasi harga jual sebuah rumah dengan ruang tamu seluas 2.000 kaki persegi, tiga kamar tidur, dan dua kamar mandi.
price(livingArea=2000, bedrooms=3, bathrooms=2) ## [1] 242448.1
Satuan keluaran sama dengan
satuan pricedalam SaratogaHousesbingkai data:
dolar.
Untuk alasan teknis, fungsi yang
dibuat fitModel()memiliki banyak jargon pemrograman
komputer di dalamnya, seperti yang dapat Anda lihat dengan membuat model
itu sendiri dan kemudian melihat fungsinya. Namun Anda juga akan melihat
nilai parameter yang ditemukan oleh fitModel().