đặt vấn đề tính toán mà còn có thể xử lí dữ liệu, biểu diễn đồ họa một cách mềm dẻo, đơn giản, chính xác trong không gian 2D và 3D bằng cả những hàm sẵn có và các hàm ứng dụng do ngƣời sử dụng tạo lập. Matlab đã thực sự trở thành công cụ phổ biến đắc lực trong các môi trƣờng làm việc khác nhau, ứng dụng cho mọi lĩnh vực khác nhau trong khoa học và cuộc sống. Matlab ban đầu đƣợc phát triển nhằm phục vụ chủ yếu cho việc mô tả các nghiên cứu kĩ thuật bằng toán học với phần tử cơ bản là ma trận. Trên cơ sở ban đầu đó, các nhà lập trình đã phát triển phần mềm này để sử dụng cho nhiều ngành khoa học nhƣ cơ học, vật lí, sinh học, hoá học, mô phỏng, … đối với cả dữ liệu rời rạc hay liên tục [7].
Với ƣu thế là bộ chƣơng trình phần mềm lớn trong lĩnh vực toán số và mô phỏng, chúng tôi đã lựa chọn phần mềm Matlab để nghiên cứu triển khai những lập trình hồi qui đa biến nhằm giải quyết bài toán xác định đồng thời các dạng asen. * Các ứng dụng chính của Matlab[15,18]: 11 z - Thực hiện các tính toán toán học bao gồm: ma trận và đại số tuyến tính, đa thức và nội suy, phân tích số liệu và thống kê, tìm cực trị của hàm một biến hoặc nhiều biến, tìm nghiệm của phƣơng trình, tính gần đúng tích phân, giải phƣơng trình vi phân. - Phân tích, khảo sát và hiển thị số liệu: các số liệu đƣợc nhập vào cũng nhƣ xuất ra dƣới dạng ma trận, giúp ngƣời sử dụng dễ dàng quan sát, phân tích, đánh giá đƣợc dữ liệu của mình. Đồng thời MATLAB có Toolbox Statistic với những hƣớng dẫn cụ thể, hỗ trợ cho việc phân tích, khảo sát dựa trên các dữ liệu với các hàm cơ bản có sẵn.
- Đồ họa 2 chiều và 3 chiều: MATLAB cung cấp rất nhiều các hàm đồ họa, nhờ đó ta có thể nhanh chóng vẽ đƣợc đồ thị của hàm bất kỳ 1 biến hoặc 2 biến, vẽ đƣợc các kiểu mặt… Ngoài ra MATLAB còn vẽ rất tốt các đối tƣợng 3 chiều phức tạp nhƣ hình trụ, hình cầu, hình xuyến,.và cung cấp khả năng xử lý ảnh và hoạt hình. - Mô hình, mô phỏng các hệ thống kĩ thuật, vật lý trên cơ sở sơ đồ cấu trúc dạng khối, sau khi đã thiết lập các thông số cần thiết phù hợp với yêu cầu, ngƣời sử dụng chỉ việc khởi động chƣơng trình MATLAB và xử lý dữ liệu qua mô hình đã thiết lập đƣợc. - Phát triển thuật toán: ngoài các câu lệnh đƣợc viết sẵn trong thƣ viện trợ giúp Toolbox, phần mềm đƣợc thiết kế để hỗ trợ ngƣời sử dụng có thể lập trình chƣơng trình riêng của mình giống nhƣ trong các phần mềm khác: Pascal, Visual basic… - Xây dựng giao diện ngƣời dùng: với MATLAB 7 ngƣời dùng có thể dễ dàng xây dựng giao diện gồm các thực đơn, nút lệnh, hộp thoại, hộp chọn,.mà không cần phải viết mã nhƣ các phiên bản trƣớc đây. Một mảng lớn trong Chemometrics gắn liền với toán học và tin học là hồi qui đa biến – kỹ thuật đa biến đƣợc dùng rộng rãi trong phòng thí nghiệm hoá học giúp giải quyết các bài toán xác định đồng thời nhiều cấu tử cùng có mặt trong hỗn hợp mà không cần tách loại trƣớc.
Về nguyên tắc, chỉ cần xây dựng dãy dung dịch chuẩn có mặt tất cả các cấu tử cần xác định với nồng độ biết trƣớc trong hỗn hợp (các biến độc lập x), đo tín hiệu phân tích của các dung dịch này dƣới dạng một hay nhiều biến phụ thuộc y và thiết lập mô hình toán học mô tả quan hệ giữa hàm y (tín hiệu đo) và các biến độc lập x (nồng độ các chất trong hỗn hợp). Dựa trên mô hình 12 z này có thể tìm đƣợc nồng độ của các cấu tử trong cùng dung dịch định phân khi có tín hiệu phân tích của dung dịch đó [7,20]. Nếu các cấu tử có mặt trong hỗn hợp cho tín hiệu đo có tính chất cộng tính thì có thể sử dụng phƣơng pháp hồi qui đa biến tuyến tính thông thƣờng nhƣ phƣơng pháp bình phƣơng tối thiểu thông thƣờng hoặc hiệu quả hơn nhƣ bình phƣơng tối thiểu từng phần, phƣơng pháp hồi qui cấu tử chính, …. Nhƣng nếu trong hỗn hợp, các cấu tử có sự tƣơng tác lẫn nhau làm mất tính chất cộng tính ở tín hiệu đo thì phải sử dụng mô hình hồi qui đa biến phi tuyến tính mà phổ biến là các phƣơng pháp kết hợp với mạng nơron nhân tạo [30].
Tùy thuộc vào đặc điểm của hàm phụ thuộc, có thể chia các phƣơng pháp hồi qui đa biến tuyến tính thành 2 nhóm chính: Các phƣơng pháp hồi qui đa biến tuyến tính sử dụng phổ toàn phần nhƣ phƣơng pháp CLS, PLS,. và phƣơng pháp sử dụng dữ liệu phổ riêng phần nhƣ ILS. Trong luận văn này, tín hiệu của các dung dịch chứa các dạng As đƣợc đo ở 5 điểm rời rạc nên chúng tôi chọn sử dụng phƣơng pháp hồi qui trên phổ riêng phần PCR [7,20,30]. Phương pháp hồi qui cấu tử chính (Principal component regression - PCR)[7,15] Hồi qui đa biến, trong trƣờng hợp các biến có tƣơng quan, là vấn đề gây nhiều khó khăn khi giải các bài toán phức tạp trong một số ngành nhƣ: Vật lý, hóa học, các ngành khoa học tự động và thiết kế công trình,.
Để giải quyết bày toán này, các nhà khoa học thƣờng sử dụng phƣơng pháp hồi qui cấu tử chính (PCR). PCR là phƣơng pháp bình phƣơng tối thiểu nghịch đảo trên tập dữ liệu mới thu đƣợc trong phép chiếu tập dữ liệu lên các vectơ đơn vị của không gian mới (PC – principal components) [7] Nhƣ vậy, PCR gồm 2 quá trình: Phân tích cấu tử chính chuyển sang tập dữ liệu mới, chứa một số ít các yếu tố quan trọng, cần thiết. Sau đó sử dụng phƣơng pháp bình phƣơng tối thiểu nghịch đảo (ILS) để phân tích tập dữ liệu mới này. Các bƣớc chính của PCR bao gồm: 1.
Xử lý ban đầu (không bắt buộc) Nội dung chính của bƣớc này là chuẩn hóa tập số liệu. Các xử lý cần thiết: Với một tập số liệu đã chuẩn hóa hoặc chƣa chuẩn hóa, trƣớc khi sử dụng đều cần bƣớc bình phƣơng toàn tập dữ liệu - đây là yêu cầu bắt buộc đối với hầu hết các hàm tính vectơ riêng. A Trong đó A là ma trận số liệu biểu diễn độ hấp thụ quang theo các thời điểm đo của các dung dịch chuẩn và AT là ma trận chuyển vị của ma trận A. Xác định các vectơ riêng hay các PC: Có thể tính toán các vectơ riêng của tập số liệu bằng nhiều hàm toán học khác nhau.
Có 3 hàm chính, thƣờng sử dụng là hàm NIPALS (hàm phi tuyến lặp sử dụng kĩ thuật bình phƣơng tối thiểu riêng phần), hàm SVD (hàm phân tách các giá trị riêng) và hàm Princomp (hàm tính các cấu tử chính). Cần lƣu ý rằng, tất cả các hàm này đều tính toán và đƣa ra tất cả các cấu tử nhƣng thƣờng không sử dụng tất cả mà chỉ sử dụng N cấu tử đầu đủ để xác định không gian mới [20]. NIPALS là hàm lặp thƣờng sử dụng cho các tập số liệu kích thƣớc lớn hoặc có độ đa cộng tuyến cao. Với tập số liệu có kích thƣớc nhỏ, quá trình tính lặp trong hàm NIPALS sẽ làm khuếch đại sai số của tập số liệu nên thông thƣờng ngƣời ta không sử dụng hàm này để tính các PC.
SVD là hàm tính PC sử dụng phƣơng pháp tách tập số liệu ban đầu thành các nhân tố. Các vectơ riêng và trị riêng của ma trận dữ liệu đều là những tập con riêng của các nhân tố trong SVD. Hàm SVD sử dụng hình thức chéo hóa cho phép khống chế thang đo một cách hợp lí nên giảm thiểu đƣợc sai số do làm tròn. Vì vậy hàm này sử dụng đƣợc với các kiểu tập số liệu rộng rãi hơn hàm NIPALS.
Princomp là hàm tính toán trực tiếp các cấu tử chính (PC) có vai trò tƣơng đƣơng các vectơ riêng. Tuy nhiên, so với hàm SVD thì việc sử dụng hàm Princomp với tập số liệu lớn có ƣu điểm là phƣơng sai tập trung không cao nên vị trí các PC sẽ chênh lệch không quá lớn, do đó sai số trong quá trình làm tròn số và chuyển hóa tập số liệu sẽ nhỏ hơn. 14 z Các hàm toán học trên đều đƣa ra một ma trận cột chứa các vectơ riêng - Vc - là ma trận trong đó mỗi cột là một vectơ hay nhân tố mới - PC - của ma trận dữ liệu và số hàng ma trận là số thời điểm đo. Mỗi nhân tố hay vectơ này lại là tổ hợp bậc nhất của các điểm phổ ban đầu, phần đóng góp của các điểm này vào mỗi vectơ là khác nhau tùy thuộc vào giá trị hàm phụ thuộc tại điểm đó.
Những điểm có giá trị đóng góp lớn vào các PC chứa phƣơng sai lớn sẽ là những điểm đo có ảnh hƣởng quyết định tới kết quả tính ma trận hệ số hồi qui và kết quả hồi qui sau đó. Ma trận kết quả thứ hai cũng rất quan trọng là ma trận phƣơng sai của các PC: đó là dạng ma trận chéo đối với hàm SVD, là một vectơ cột đối với hàm NIPALS và hàm Princomp. Lựa chọn các vectơ có nghĩa Đây là bƣớc có ảnh hƣởng đặc biệt quan trọng đến bƣớc xử lý tiếp theo. Nếu giữ lại nhiều vectơ hơn số cần dùng thì những vectơ đó sẽ chứa cả tín hiệu nhiễu và nhƣ vậy, kết quả hồi qui sẽ mắc phải sai số.
Nếu giữ lại không đủ số vecto cần thiết sẽ làm mất đi thông tin có ích từ tập dữ liệu, điều này cũng sẽ gây nên sai lệch giữa mô hình hồi qui thu đƣợc và mô hình thực. Vì vậy, việc đánh giá và lựa chọn các vectơ có nghĩa là rất quan trọng. Dƣới đây là một số phƣơng pháp phổ biến để xác định số PC có nghĩa [7,15]: Dùng các hàm chỉ thị: Có rất nhiều hàm chỉ thị khác nhau nhƣ CPV (tính phần trăm phƣơng sai tích lũy), hàm IEF,. Tính toán PRESS (tổng bình phƣơng sai số dự đoán) để đánh giá thông tin từ dữ liệu.
Phƣơng pháp đánh giá chéo Phƣơng pháp đánh giá Xu – Kailath Đánh giá theo tiêu chuẩn Akaike Tính phƣơng sai của sai số tái lập VRE Các phƣơng pháp này đều có những ƣu điểm riêng khi sử dụng và kết quả đánh giá tƣơng đối thống nhất với nhau.