Với hướng dẫn này, hãy tìm hiểu về khái niệm các thành phần chính, lý do sử dụng nó, các chức năng và phương pháp Factor thành phần chính khác nhau trong lập trình R. Ngoài ra, hãy hiểu toàn bộ kỹ thuật Factor Analysis trong R.
Các bài viết liên quan:
Giới thiệu về các thành phần chính và Factor Analysis trong R
Chúng tôi sử dụng Factor Analysis và thành phần chính R làm phương pháp Factor đa biến. Mục đích của việc này là tiết lộ các hiệp biến có hệ thống giữa một nhóm các biến. Ngoài ra, Factor có thể được thúc đẩy theo nhiều cách khác nhau. Nó bao gồm việc mô tả các mẫu bất thường cơ bản xuất hiện trong các tập dữ liệu không gian.
Do đó, nó luôn được thực hiện trên một ma trận tương quan đối xứng hoặc hiệp phương sai. Do đó, nó có nghĩa là ma trận phải là số.
Đợi đã! Trước khi tiếp tục, hãy đảm bảo hoàn thành Hướng dẫn về chức năng ma trận R
Các thành phần chính trong R là gì?
Nó là sự kết hợp tuyến tính chuẩn hóa của các yếu tố dự đoán ban đầu trong một tập dữ liệu. Chúng ta có thể viết thành phần chính theo cách sau:
Z¹ = Φ¹¹X¹ + Φ²¹X² + Φ³¹X³ +…. + Φp¹Xp
ở đâu,
Z¹ là thành phần chính đầu tiên.
Φp¹ là vectơ tải bao gồm các tải (Φ¹, Φ² ..) của thành phần chính đầu tiên.
Ngoài ra, tải được giới hạn trong tổng bình phương bằng 1. Điều này là do kích thước lớn của tải có thể dẫn đến phương sai lớn. Hướng của thành phần chính (Z¹) có độ biến thiên dữ liệu cao nhất cũng được xác định. Hơn nữa, nó dẫn đến một dòng trong không gian p chiều gần nhất với n quan sát. Chúng ta có thể đo độ gần bằng cách sử dụng khoảng cách Euclide bình phương trung bình.
X¹..Xp là các công cụ dự đoán được chuẩn hóa. Giá trị của các yếu tố dự đoán chuẩn hóa bằng 0 và có độ lệch chuẩn là 1.
Tại sao sử dụng Factor các thành phần chính?
Mục đích chính của Factor các thành phần chính trong R là báo cáo cấu trúc ẩn trong một tập dữ liệu. Khi làm như vậy, chúng tôi có thể thực hiện những việc sau:
- Về cơ bản, trước khi xác định các biến khác nhau hoạt động cùng nhau như thế nào để tạo ra động lực của hệ thống.
- Giảm kích thước của dữ liệu.
- Giảm dư thừa trong dữ liệu.
- Lọc một số nhiễu trong dữ liệu.
- Nén dữ liệu.
- Chuẩn bị dữ liệu để Factor thêm bằng các kỹ thuật khác.
Xem thêm Survival Analysis trong lập trình R
Các chức năng để thực hiện Factor chính trong R
- prcomp () (thống kê)
- Princecomp () (số liệu thống kê)
- PCA () (FactoMineR)
- dudi.pca () (ade4)
- acp () (amap)
Thực hiện Factor các thành phần chính trong R
Bây giờ chúng tôi sẽ tiến hành triển khai Factor các thành phần chính (PCA) của riêng chúng tôi trong R. Để thực hiện hoạt động này, chúng tôi sẽ sử dụng hàm pca () được cung cấp bởi thư viện FactoMineR . Chúng tôi sẽ sử dụng bộ dữ liệu mtcars được cung cấp cho chúng tôi bởi R. Trong bộ dữ liệu này, có tổng cộng 11 tính năng, trong đó chúng tôi yêu cầu 9 tính năng vì hai trong số đó có tính chất phân loại. Sau đó, chúng tôi sẽ xem xét các đối tượng PCA của chúng tôi với sự trợ giúp của hàm summary() .
> library(FactoMineR) > pca <- PCA(mtcars[,c(1:7,10,11)], scale. = TRUE) > summary(pca)
Đầu ra:
Để hiển thị ma trận với các giá trị riêng cấu thành của nó, chúng tôi sẽ viết đoạn mã sau:
> pca$eig
Đầu ra:
Hơn nữa, để tìm mối tương quan giữa các biến và mối tương quan của chúng, chúng tôi viết dòng mã sau:
> pca$var$coord
Đầu ra:
Mặc dù đồ thị mặc định do hàm PCA () cung cấp cho chúng tôi là tốt, chúng tôi có thể chọn tạo hình ảnh trực quan tốt hơn về dữ liệu của mình bằng cách sử dụng thư viện ggbiplot. Bạn có thể cài đặt gói này như sau:
> library(devtools) > install_github("vqv/ggbiplot")
Đầu ra:
Cuối cùng, chúng tôi nhập gói này và vẽ biểu đồ PCA của chúng tôi:
> library(ggbiplot) > ggbiplot(pca)
Đầu ra:
Các phương pháp Factor thành phần chính trong R
Có hai phương pháp để Factor thành phần chính của R:
Phân hủy quang phổ
Nó kiểm tra hiệp phương sai / tương quan giữa các biến.
Phân rã giá trị số ít
Nó kiểm tra hiệp phương sai / tương quan giữa các cá nhân. Ở đây, hàm Princecomp () được sử dụng để thực hiện một cách tiếp cận phổ. Và, chúng ta cũng có thể sử dụng các hàm prcomp () và PCA () trong Factor giá trị đơn lẻ.
các hàm prcomp () và Princecomp ()
Định dạng đơn giản của hai hàm này là:
- prcomp (x, scale = FALSE)
- Princecomp (x, cor = FALSE, điểm = TRUE)
Đối số cho prcomp ()
- x : Một ma trận số hoặc khung dữ liệu.
- scale : Nó là một giá trị logic. Nó cho biết liệu các biến có nên được chia tỷ lệ để có phương sai đơn vị hay không và sẽ diễn ra trước khi Factor diễn ra.
Đối số cho Princecomp ()
- x : Một ma trận số hoặc khung dữ liệu.
- cor : Một giá trị logic. Nếu TRUE, thì dữ liệu sẽ được căn giữa và cũng được chia tỷ lệ trước khi Factor.
- scores: Một giá trị logic. Nếu TRUE, thì tọa độ trên mỗi thành phần chính sẽ được tính toán.
Factor Analysis trong R
Factor Analysis khám phá hay đơn giản là Factor Analysis là một kỹ thuật được sử dụng để xác định cấu trúc quan hệ tiềm ẩn. Sử dụng kỹ thuật này, phương sai của một số lớn có thể được giải thích với sự trợ giúp của ít biến hơn.
Hãy để chúng tôi hiểu về Factor Analysis thông qua ví dụ sau:
Giả sử một ví dụ về cuộc khảo sát dựa trên nhân khẩu học. Giả sử rằng có một cuộc khảo sát về số lượng học sinh bỏ học trong các cơ sở giáo dục. Có thể thấy rằng số học sinh bỏ học ở các cấp học cao hơn nhiều hơn. Đó là, số học sinh bỏ học ở cấp THPT cao hơn nhiều so với học sinh THCS. Tương tự, số học sinh bỏ học ở đại học cao hơn nhiều so với trung học. Trong trường hợp này, yếu tố thúc đẩy số học sinh bỏ học là sự gia tăng khó khăn trong học tập. Nhưng bên cạnh đó còn có nhiều yếu tố khác như nền tảng tài chính, các địa phương có tỷ lệ học sinh – giáo viên cao hơn, thậm chí cả giới tính ở những vùng xa xôi hẻo lánh nhất.Vì có nhiều yếu tố góp phần vào tỷ lệ bỏ học, chúng ta phải xác định các biến theo một cách có cấu trúc và xác định. Nguyên tắc chính của Factor Analysis là phân loại các trọng số dựa trên mức độ ảnh hưởng mà danh mục đó có.
Với Factor Analysis, chúng ta có thể đánh giá các biến bị ẩn khỏi quan sát đơn giản nhưng được phản ánh trong các biến của dữ liệu. Chúng tôi thực hiện chuyển đổi trên tập dữ liệu của mình thành một số lượng biến bằng nhau sao cho mỗi biến là sự kết hợp của những biến hiện tại. Điều này được thực hiện mà không có bất kỳ loại bỏ hoặc bổ sung thông tin mới. Do đó, sự biến đổi của các biến này theo hướng riêng sẽ giúp chúng ta xác định được các yếu tố ảnh hưởng. Giá trị eigenvalue có giá trị lớn hơn 1 sẽ có phương sai lớn hơn giá trị ban đầu. Các yếu tố này sau đó được sắp xếp theo định dạng giảm dần dựa trên phương sai của chúng. Do đó, yếu tố đầu tiên sẽ có phương sai cao hơn yếu tố thứ hai, v.v. Các trọng số đóng góp vào phương sai được gọi là ‘hệ số tải’.
Bây giờ, chúng ta hãy lấy một ví dụ thực tế của Factor Analysis trong R. Chúng tôi sẽ sử dụng tập dữ liệu BFI bao gồm các mục tính cách. Có khoảng 2800 điểm dữ liệu với năm yếu tố chính – A (Tính dễ chịu), C (Sự tận tâm), E (Tính hướng ngoại), N (Chủ nghĩa thần kinh), O (Tính cởi mở) . Chúng tôi sẽ thực hiện Factor Analysis để đánh giá mối liên hệ của các biến với từng nhân tố.
library(psych) dataset_bfi = bfi #Loading the Dataset dataset_bfi = dataset_bfi[complete.cases(dataset_bfi),] #Removing the rows with Missing Values cor_mat <- cor(dataset_bfi) #Creating Correlation Matrix FactorLoading <- fa(r = cor_mat, nfactors = 6) FactorLoading
Hiển thị mã:
Đầu ra:
Từ kết quả trên, chúng ta quan sát thấy rằng nhân tố đầu tiên N có phương sai cao nhất trong tất cả các biến. Chúng tôi suy luận rằng hầu hết các thành viên đều mắc chứng loạn thần kinh trong dữ liệu của chúng tôi.
Bản tóm tắt
Chúng tôi đã nghiên cứu thành phần chính và Factor Analysis trong R. Cùng với đó, chúng tôi cũng đã thảo luận về cách sử dụng, chức năng, các thành phần của nó.
Xem thêm Các loại kỹ thuật Data mining