This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
You can also embed plots, for example:
Note that the echo = FALSE parameter was added to the
code chunk to prevent printing of the R code that generated the plot
Matriks Operasi Aplikasi Praktikal
Untuk membuat titik data untuk plot kita perlu melakukannya menghitung vektor eigen dari matriks sigma, standar deviasi untuk distribusi normal bivariat. Vektor eigen suatu matriks akan dibahas pada bab selanjutnya. Transformasi ini menggunakan vektor eigen terkait untuk analisis komponen utama, salah satu yang paling populer tanpa pengawasan
Model pembelajaran dalam ilmu data. Untuk aplikasi praktis ini. secara rinci, menunjukkan bagaimana mentransformasikan ke titik data yang ditunjukkan pada Gambar Kami akan menjelaskan lebih detail ketika kami membahas vektor eigen dan eigennya
Untuk contoh kerja, kami menghasilkan poin data dari bivariat distribusi normal. Distribusi normal bivariat didefinisikan dengan rata-rata dan standar deviasi, tidak seperti distribusi normal univariat, bagaimanapun, artinya didefinisikan oleh vektor dua dimensi dan standar deviasinya didefinisikan
Dengan matriks 2 × 2.menggunakan paket R mvtnorm [18] dan kami menggunakan matlib paket untuk operasi matriks serta menggunakan beberapa library
library(mvtnorm)
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.2.3
library(matlib)
Untuk penjelasan per-library sebagai berikut :
mvtnorm Library mvtnorm menyediakan fungsi-fungsi untuk melakukan perhitungan dan simulasi multivariat normal distribution. Fungsi utamanya adalah dmvnorm() untuk menghitung density, pmvnorm() untuk menghitung distribusi kumulatif, qmvnorm() untuk menghitung inverse CDF, dan rmvnorm() untuk melakukan sampling data dari distribusi multivariat normal. Library ini biasanya digunakan dalam analisis statistik, pengolahan data, dan pembuatan model yang melibatkan data multivariat. Untuk menggunakan library mvtnorm
ggplot2 Library ggplot2 adalah salah satu library populer pada R Studio yang digunakan untuk membuat visualisasi data dengan mudah dan estetis. Library ini dirancang dengan konsep “grammar of graphics” yang memungkinkan kita untuk membangun plot secara modular dengan menambahkan layer dan komponen yang berbeda-beda. Dengan ggplot2, kita dapat membuat berbagai jenis plot seperti scatter plot, bar plot, line plot, box plot, histogram, dan masih banyak lagi.
Library ggplot2 menyediakan fungsi-fungsi yang sangat fleksibel untuk membuat plot dengan penyesuaian yang mudah, seperti menambahkan teks, label sumbu, judul plot, memodifikasi warna, ukuran, dan bentuk marker. Selain itu, ggplot2 juga memungkinkan kita untuk melakukan grouping dan facetting pada data, yaitu membagi data ke dalam beberapa subset dan membuat plot untuk masing-masing subset tersebut.
Paket ggplot2 [46] adalah untuk plotting. Kemudian, kita mendefinisikan mean dan standar deviasi sebagai berikut
## Standard deviation
sigma <- matrix(c(4,2,2,3), ncol = 2, nrow = 2)
## Mean
mu <- c(1, 2)
Untuk data ini buat memiliki ukuran sampel n = 10000
mu
## [1] 1 2
sigma
## [,1] [,2]
## [1,] 4 2
## [2,] 2 3
n <- 1000
Fungsi set.seed() menetapkan seed, yang merupakan nilai untuk mulai menghasilkan angka acak. Fungsi set.seed() mengatur ulang nilai acak angka dan fungsi acak dari nilai yang diperoleh sebelumnya. Kami menetapkan benih untuk mereproduksi hasil yang sama. Jika kita mengatur benih yang sama, maka Kita dapat mereproduksi angka acak yang sama
set.seed(123)
Selanjutnya menghasilkan titik data b
x <- rmvnorm(n = n, mean = mu, sigma = sigma)
Untuk memplot data, kami menetapkan titik-titik dalam bingkai data
d <- data.frame(x)
Menggunakan ggplot2 untuk plotting titik data sebagai berikut
p2 <- ggplot(d, aes(x = X1, y = X2)) +
geom_point(alpha = .5) +
geom_density_2d()
p2
Selanjutnya menerjemahkan semua titik data yang disimpan sebagai variabel x dengan -mu = [−1, −2] Karena pusat distribusi ada di mu = [1, 2]
y <- x - mu
head(y)
## [,1] [,2]
## [1,] -1.2051566 0.3078223
## [2,] 2.0313693 0.9917705
## [3,] 1.2123073 3.8824405
## [4,] -0.8265117 -1.8134133
## [5,] -1.5688595 -0.1162473
## [6,] 1.5517372 1.2776175
Simpan titik data baru ini sebagai variabel y. Kemudian kita menghitung vektor eigen sigma.
E <- eigen(sigma)
E$vectors
## [,1] [,2]
## [1,] -0.7882054 0.6154122
## [2,] -0.6154122 -0.7882054
Vektor eigen dari sigma matriks disimpan dalam E$vektor dalam bentuk dari matriks. Setiap vektor kolom adalah vektor eigen. Kemudian kita ambil perkalian matriks, kumpulan data disimpan sebagai 10000 × 2 matriks dikalikan dengan matriks 2 × 2, transpos kebalikan dari matriks E. Kebalikan dari matriks akan dibahas di bagian selanjutnya.
y <- y %*% t(inv(E$vectors))
Seperti yang sudah dilakukan untuk kumpulan data x, tetapkan data ini sebagai “bingkai data” menggunakan Fungsi data.frame():
dd <- data.frame(y)
Sekarang kita akan merencanakan dengan
p3 <- ggplot(dd, aes(x = X1, y = X2)) +
geom_point(alpha = .5) +
geom_density_2d()
p3