NIM : 220605110070

KELAS : A

MATKUL : LINEAR ALGEBRA

DOSEN PENGAMPU : Prof.Dr.Suhartono,M.Kom

JURUSAN : TEKNIK INFORMATIKA

LEMBAGA : UNIVERSITAS ISLAM NEGERI MAULANA MALIK IBRAHIM MALANG

Ada banyak sekali cara untuk membentuk sebuah dasar ruang vektor. Namun, kita mungkin ingin memiliki basis di mana setiap vektor ortogonal dengan yang lain dalam banyak kasus. Sebagai contoh, basis V direntangkan oleh vektor-vektor tersebut seperti yang ditunjukkan pada Gambar 4.9. Jika tidak, maka V direntangkan oleh mereka seperti yang ditunjukkan pada Gambar 4.13. Oleh karena itu, dalam bagian ini kita akan membahas bagaimana kita dapat mengukur sudut antara dua vektor dalam sebuah ruang hasil kali dalam. Dalam PCA, komponen utama membentuk dasar ruang vektor Rd, di mana d adalah jumlah variabel dalam set data input, dan mereka juga membentuk basis ortogonal ortogonal.

Ketika kita menggambar gambar cluster pada set data “yang kita dihitung melalui metode pengelompokan k-means di bagian sebelumnya dan juga melalui metode pengelompokan hirarkis di Bab 4, kami menggunakan komponen utama pertama pertama dan komponen utama kedua untuk memvisualisasikan data. PCA adalah sering digunakan untuk memvisualisasikan kumpulan data input dalam ruang vektor berdimensi rendah. Dalam Contoh Kerja di bagian ini, kita akan menerapkan PCA pada set data” sehingga kita dapat melihat semua komponen utama secara dekat. Pertama, mari kita memplot kumpulan data pada komponen utama pertama dan kedua. Untuk melakukannya, kita perlu menggunakan paket ggplot2, ggfortify, dan gridExtra.

library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.2.3
library(ggfortify)
## Warning: package 'ggfortify' was built under R version 4.2.3
library(gridExtra)
## Warning: package 'gridExtra' was built under R version 4.2.3
df <- USArrests
df <- na.omit(df)
df <- scale(df)
pc <- prcomp(df, scale=TRUE)
autoplot(pc, data=df)

Dengan fungsi orth() dari paket pracma, kita dapat menghitung sebuah basis ortonormal untuk sebuah ruang vektor. Sekarang kita ingin menghitung basis ortonormal untuk ruang barisan A. Maka kita memiliki

library(pracma)
## Warning: package 'pracma' was built under R version 4.2.3
A <- matrix(c(1, 1, 1, 1, 1, 0, 0, 0, 1), 3, 3, byrow = TRUE)
B <- orth(A)
B
##            [,1]       [,2]
## [1,] -0.7886751  0.2113249
## [2,] -0.5773503 -0.5773503
## [3,] -0.2113249  0.7886751

Setiap kolom dari B dari fungsi orth() adalah sebuah elemen dari orthonormal dasar dari ruang baris A.

Kemudian menggunakan fungsi Null() dari paket MASS yang kita miliki:

library(MASS)
A <- matrix(c(1, 1, 1, 1, 1, 0, 0, 0, 1), 3, 3, byrow = TRUE)
Null(t(A))
##               [,1]
## [1,] -7.071068e-01
## [2,]  7.071068e-01
## [3,] -1.110223e-16

Kembali ke kumpulan data “, perhatikan bahwa karena kita memiliki empat variabel, kumpulan data tersebut berada dalam ruang vektor V = R4. Untuk menghitung komponen utama komponen-komponen utama, yang membentuk basis ortonormal untuk ruang vektor V = R4, kita akan menggunakan fungsi princomp() dalam R.” adalah keluaran dari fungsi princomp() dan itu adalah satu set komponen utama, yang merupakan basis ortonormal untuk V = R4:

pca<- princomp(data.frame(scale(df)))
pca$loadings
## 
## Loadings:
##          Comp.1 Comp.2 Comp.3 Comp.4
## Murder    0.536  0.418  0.341  0.649
## Assault   0.583  0.188  0.268 -0.743
## UrbanPop  0.278 -0.873  0.378  0.134
## Rape      0.543 -0.167 -0.818       
## 
##                Comp.1 Comp.2 Comp.3 Comp.4
## SS loadings      1.00   1.00   1.00   1.00
## Proportion Var   0.25   0.25   0.25   0.25
## Cumulative Var   0.25   0.50   0.75   1.00

ODR adalah analisis regresi untuk kumpulan data dalam Rd yang mencoba menemukan bidang linier sedemikian rupa sehingga jumlah kuadrat jarak antara masing-masing titik data dan proyeksinya pada bidang linier diminimalkan pada semua kemungkinan bidang linier yang mungkin di Rd. Pertama, kita unggah paket ISLR dan kumpulan data. Kemudian, karena ada ada beberapa nilai yang hilang, kami menggunakan fungsi na/omit() untuk menghapus semua nilai yang hilang nilai yang hilang:

library(ISLR)
## Warning: package 'ISLR' was built under R version 4.2.2
data(Hitters)
D <- na.omit(Hitters)
library(pracma)
res <- odregress(as.matrix(D[,1:2]), as.matrix(D$Salary))
res$coeff
## [1]  -43.53176  150.65796 1861.91571