Dosen: Prof. Dr. Suhartono, S.Si., M.Kom_196805192003121001 Fakultas: Sains dan Teknologi Program Studi: Teknik Informatika Kelas C

Di dunia kuantitatif, termasuk bidang-bidang seperti biologi dan genetika, ilmu sosial, pengambilan keputusan bisnis, dll ada jauh lebih banyak orang yang bekerja dengan kombinasi linier dengan mata statistik daripada ada orang yang bekerja dengan bentuk matematika notasi. Statistik adalah bidang yang jauh lebih luas daripada kombinasi linier, jadi bab ini bukan upaya untuk menggantikan kebutuhan untuk mempelajari statistik dan ilmu data. Tujuannya hanyalah untuk menunjukkan kepada Anda bagaimana proses matematika dapat digunakan sebagai bagian dari kerangka kerja yang lebih luas untuk memberikan informasi yang berguna bagi para pengambil keputusan.

Sering terjadi bahwa model diperlukan untuk membantu mengatur data multivariat yang kompleks untuk tujuan seperti prediksi. Sebagai contoh, pertimbangkan data yang tersedia dalam kerangka data, yang terdiri dari pengukuran karakteristik seperti tinggi badan, berat badan, lingkar dada, dan lemak tubuh pada 252 pria.Body_fat

lemak tubuh umur berat Tinggi leher dada perut pinggul paha lutut pergelangan kaki Bisep Lengan pergelangan tangan 12.3 23 154.25 67.75 36.2 93.1 85.2 94.5 59.0 37.3 21.9 32.0 27.4 17.1 6.1 22 173.25 72.25 38.5 93.6 83.0 98.7 58.7 37.3 23.4 30.5 28.9 18.2 25.3 22 154.00 66.25 34.0 95.8 87.9 99.2 59.6 38.9 24.0 28.8 25.2 16.6 … Total 252 baris … 26.0 72 190.75 70.5 38.9 108.3 101.3 97.8 56.0 41.6 22.7 30.5 29.4 19.8 31.9 74 207.50 70.0 40.8 112.4 108.5 107.1 59.3 42.2 24.6 33.7 30.0 20.9 Lemak tubuh, persentase massa tubuh total yang terdiri dari lemak, dianggap oleh beberapa orang sebagai ukuran kebugaran umum yang baik. Sejauh mana teori ini hanyalah refleksi dari sikap masyarakat umum terhadap bentuk tubuh tidak diketahui.

Apa pun kegunaan sebenarnya, lemak tubuh sulit diukur secara langsung; Ini melibatkan merendam seseorang dalam air untuk mengukur volume tubuh total, kemudian menghitung kepadatan massa orang dan mengubahnya menjadi pembacaan persentase massa tubuh. Bagi mereka yang ingin melihat lemak tubuh digunakan lebih luas sebagai ukuran kesehatan dan kebugaran, prosedur rumit ini menghalangi. Jadi mereka mencari cara yang lebih mudah untuk memperkirakan lemak tubuh di sepanjang garis Indeks Massa Tubuh (BMI), yang merupakan kombinasi aritmatika sederhana dari tinggi dan berat badan yang mudah diukur. (Perhatikan bahwa BMI juga kontroversial sebagai sesuatu selain deskripsi kasar bentuk tubuh. Secara khusus, label “kelebihan berat badan,” secara resmi 25 <= BMI <= 30 paling-paling memiliki sedikit hubungan dengan kesehatan yang sebenarnya.) ```

Kita akan membangun vektor dan matriks dari kolom bingkai data. Anda dapat melakukan ini dengan fungsi R/mosaic (singkatan dari “data frame”). Argumen terakhir adalah nama bingkai data. Argumen sebelumnya adalah kolom yang ingin Anda sisipkan dalam matriks. Kita bisa membuat keduanya dan menggunakan . Perhatikan yang dimasukkan sebagai kolom ke dalam .df2matrix()dfdf2matrix()bAdf2matrix()1A
```

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
b <- df2matrix(bodyfat, data = Body_fat)
A <- df2matrix(1, wrist, thigh, forearm, data = Body_fat)
Anda juga dapat menyertakan istilah interaksi (misalnya) atau transformasi (misalnya) sebagai kolom dalam matriks.wrist*thighlog(forearm)A

Setelah kita memiliki dan , kita menemukan koefisien pada model linier dengan cara biasa, dengan .bAqr.solve()

x <- qr.solve(A, b)

Setelah melamar , qr.solve() sekarang berisi koefisien pada kombinasi linier “terbaik” dari kolom di . Salah satu cara di mana bahasa R dirancang untuk mendukung statistik, adalah bahwa ia melacak nama-nama kolom, sehingga unsur-unsur diberi label dengan nama kolom tempat elemen diterapkan

x
##             bodyfat
## 1       -40.4700038
## wrist     0.2533051
## thigh     0.8181824
## forearm   0.2232146
##             bodyfat
## 1       -40.4700038
## wrist     0.2533051
## thigh     0.8181824
## forearm   0.2232146

Dalam memanggil kita telah membuat vektor yang berisi solusi untuk masalah target. Kita dapat menggunakan vektor itu dengan cara biasa, misalnya untuk membangun vektor model () atau vektor residual ().qr.solve(A, b)xxA %% xb - A %% x

Terkadang Anda ingin membuat fungsi yang mengimplementasikan kombinasi linier yang dijelaskan oleh . Untuk kenyamanan, R / mosaic tahu bagaimana menerima input vektor dan membuat fungsi yang sesuai. Misalnya:xmakeFun()

f <- makeFun(x)
f
## function (wrist, thigh, forearm) 
## -40.4700037897818 * 1 + 0.253305146981964 * wrist + 0.818182409571163 * 
##     thigh + 0.223214640718424 * forearm
## <environment: 0x0000014575c5b2d8>
## function (wrist, thigh, forearm) 
## -40.4700037897818 * 1 + 0.253305146981963 * wrist + 0.818182409571164 * 
##     thigh + 0.223214640718424 * forearm
## <environment: 0x7fd1b932eef0>