R và PCA

R là gì và sử dụng R trong phân tích thành phần điển hình - principle component analysis (PCA) Trước khi tìm hiểu PCA thì sau đây là một số khái niệm cơ bản trong thông kê.Thuật ngữ thống kê: Độ lệch chuẩn (Standard Deviation) đánh giá các số liệu phân tán như thế nào từ một điểm (ví dụ giá trị trung bình của một bộ số liệu), giả thuyết không (null hypothesis), t-test, histogram.Trong khi giá trị trung bình ví dụ của 2 bố số liệu bộ A [1 3 17 19] và bộ B [8 9 11 12] cùng là 10 nhưng sự phân tán lại khác nhau và độ lệch chẩn sẽ đánh giá mức độ phân tán này. Giá trị trung bình (trung bình cộng) mean1 bộ A = (1+3+17+19)/4 = 10Giá trị trung bình (trung bình cộng) mean2 bộ B = (8+9+11+12)/4 = 10Đánh giá độ phân tán của 2 bộ dữ liệu A và B bằng độ lệch chuẩn tính theo công thức sau:s(A) =√((1-10)^2 + (3-10)^2 + (17-10)^2 + (19-10)^2)/(4-1) = 9.31s(B) = √((8-10)^2 + (9-10)^2 + (11-10)^2 + (12-10)^2)/(4-1) = 1.83Công thức này dễ dàng nhập vào excel để tính toán (=STDEV)t-test đánh giá xem 2 giá trị trung bình có sự khác biệt đáng kể.t-test sử dụng để so sánh 2 giá trị trung bình có một sự khác biệt đáng kể về mặt thống kê. 2 giá trị trung bình này được lấy từ ví dụ cùng một phương pháp thực nghiệm do 2 người tiến hành, với sự lặp lại là n lần. Trong ví dụ trên bộ dữ liệu A và B- Bộ dữ liệu A:N1: 4df1 = N - 1 = 4 - 1 = 3mean1: 10s21 = SS1/(N - 1) = 260/(4-1) = 86.67- Bộ dữ liệu B:N2: 4df2 = N - 1 = 4 - 1 = 3mean2: 10s22 = SS2/(N - 1) = 10/(4-1) = 3.33Tính toán T-values2p = ((df1/(df1 + df2)) * s21) + ((df2/(df2 + df2)) * s22) = ((3/6) * 86.67) + ((3/6) * 3.33) = 45s2M1 = s2p/N1 = 45/4 = 11.25s2M2 = s2p/N2 = 45/4 = 11.25t = (M1 - M2)/√(s2M1 + s2M2) = 0/√22.5 = 0Giả thuyết không (null-hypothesis) hay H0 khi không có sự khác biệt giữa 2 giá trị trung bình mean1 - mean2 = 10-10 = 0. Giả thuyết này có thể đúng hoặc sai, sai thì sẽ bị bác.Giả thuyết không bị bác bỏ khi p-value nhỏ hơn một mức độ xác định trước, α. α được gọi là mức độ đáng kể và là xác xuất để bác (không phải chú :D) giả thuyết không, giả thuyết được đươc cho là đúngα thường được lấy ở thấp hơn 5%. Bây giờ đánh giá xem có sự khác biệt giữa hai giá trị trung bình của hai bộ dữ liệu độc lập A và BHistogram và phân phối chuẩn (Normal distribution)Histogram mô tả hình dáng của một bộ dữ liệu, hay sự phân bố của dữ liệu. Histogram được tạo nên bởi các thanh hình chữ nhật trong đó diện tích của mỗi thanh tỉ lệ với tần suất của biến và chiều rộng của thanh bằng dải của dữ liệu trong mỗi nhóm, như vậy chiều rộng của thanh là một nhóm các dữ liệu do vậy sẽ không có khoảng trống giữa các thanh.Từ histogram bạn sẽ dễ dàng thấy chỗ nào có một dữ liệu nhiều hơn và chỗ nào có dữ liệu ít hơn. Nói một cách khác, bạn có thể thấy trung tâm của sự phân bố dữ liệu, dự liệu nằm xung quan trung tâm thế nào và những điểm DỊ. Khi có quá nhiều biến trong một bộ dữ liệu, thì một vài tình huống sau đây bạn có thể sẽ trải qua. 

  1. Bạn phát hiện ra phần lớn các biến có liên quan tới nhau. 
  2. Bạn sẽ mất kiên nhẫn và quyết định chạy một mô hình cho toàn bộ dữ liệu. Điều này dẫn tới độ chính xác kém và bạn cảm thấy thật kinh khủng. 
  3. Bạn trở nên thiếu quyết kiên quyết định làm gì.  
  4. Bạn bắt đầu nghĩ tới một số phương pháp chiến lược để phát hiện ra một vài biến quan trọng. 

Những tình huống như vậy thường không phức tạp như bạn tưởng. Các kỹ thuật thông kê chẳng hạn như phân tích tác nhân - factor analysis, phân tích thành phần điển hình - principle component analysis sẽ trợ giúp giải quyết những trở ngại. R là gì?- Tải R về mac hay window tại đâyPCA là gì?Là phương pháp tách những biến quan trọng - dưới dạng thành tố hay thành phần hợp từ một bộ biến số sẵn có trong bộ dữ liệu.Giả sử bạn có một bộ dữ liệu trong đó có 12 biến, thì trong 12 biến này chỉ có một số biến quan trọng và PCA sẽ tách những biến quan trọng đó ra khỏi bộ dự liệu. TTrong trường hợp này bộ dự liệu 12 biến và có khoảng 5 tính năng (màu, chiều dài, chất liệu, mùi, cân nặng), thì PCA sẽ tách ra từ bộ này thành một bộ có tính năng số biến thấp hơn nhưng lấy được nhiều thông tin nhất có thể và với ít biến số thì sự hình dung sẽ trở nên ý nghĩa hơn.PCA sẽ hiệu quả hơn khi có từ 3 dữ liệu thứ nguyên (chiều). PCA luôn được thực thi dựa trên mối quan hệ hệ thống hay ma trận phương sai. Điều này có nghĩa là ma trận nên là số và có dữ liệu tiêu chuẩn. practical-guide-principal-component-analysis-pythonMột ví dụ: Giả sử chúng ta có một bộ dữ liệu sau đây 300 (n) x 50 (p). n đại diện cho số lần quan sát (thí nghiệm) và p đại diện cho số lần dự đoán. Vì chúng ta có p = 50, nên sẽ có p(p-1)/2 = 1225 điểm trên đồ thì phân tán để phân tích sự liên quan biến, sẽ hơi nhàm chán nếu xử lý đám dữ liệu này. Trong trường hợp này có một cách tiệm cận SÁNG hơn đó là chọn một bộ dự đoán của p (bộ này nhỏ hơn nhiều so với 50 và lấy được thông tin nhiều nhất có thể), tiếp theo là đánh điểm các số lần quan sát trên không gian chiều thấp. Hình dưới đây mô tả sự chuyển đổi từ không gian 3 chiều sang không gian 2 chiều sử dụng PCA. Mỗi chiều là sự kết hợp tuyến tính của các tính năng p. Cách nhập dữ liệu từ excel (.xls) vào R