Thuật toán hồi quy đa biến

April 9, 2017 | Author: tt8880 | Category: N/A
Share Embed Donate


Short Description

Download Thuật toán hồi quy đa biến...

Description

Mục lục I. Giới thiệu phần mềm MATLAB..............................................................................................2 1. Các khả năng chính của MATLAB cơ bản:.........................................................................2 2. Các cửa sổ chính trong phần mềm MATLAB.....................................................................3 3. Một số đặc trưng chính của MATLAB: ..............................................................................4 4. Khởi động và sử dụng MATLAB trong hóa phân tích........................................................5 II. Phương pháp hồi quy đa biến..................................................................................................6 1. Hồi quy đa biến tuyến tính...................................................................................................6 1.1. Phương pháp bình phương tối thiểu thông thường (classical least square-CLS).........7 1.2. Phương pháp bình phương tối thiểu nghịch đảo (inverse least square- ILS)..............11 1.3. Phương pháp bình phương tối thiểu từng phần (partial least square-PLS )................14 1.4. Phương pháp hồi qui cẩu tử chính ( principal component regression -PCR).............17 2. Hồi quy đa biến phi tuyến tính...........................................................................................23 2.1. Phương pháp mạng noron nhân tạo............................................................................23 2.2. Phương pháp hồi quy cấu tử chính kết hợp với mạng noron nhân tạo(PC-ANN)......29

I. Giới thiệu phần mềm MATLAB MATLAB được bắt nguồn từ thuật ngữ “Matrix Laboratory” – là phần mềm nổi tiếng của công ty MathWorks. Đây là một ngôn ngữ hiệu năng cao hỗ trợ đắc lực cho tính toán với ma trận và hiển thị. Matlab được điều khiển bằng tập các lệnh, tác động qua bàn phím trên cửa sổ điều khiển. Các câu lệnh đơn giản, viết sát với các mô tả kĩ thuật nên lập trình trên ngôn ngữ này thực hiện nhanh, dễ dàng hơn so với nhiều ngôn ngữ thông dụng khác như Pascal, Fortran,… Những hàm có sẵn trong Matlab có cấu trúc thiết lập gần giống ngôn ngữ C, do đó người dùng không mất nhiều thời gian học hỏi khi đã nắm được những vấn đề cơ bản của một số ngôn ngữ lập trình thông dụng. Bên cạnh đó, Matlab không chỉ cho phép đặ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. Đặc biệt hơn nữa, giao diện của Matlab cho phép đọc, xử lý và đưa tín hiệu đầu ra ngay trên các file Excel - rất tiện lợi cho quá trình xử lý tập số liệu phức tạp. Cuối cùng, với ưu điểm cài đặt đơn giản, có thể liên kết với các thư viện trợ giúp như Toolbox, Simulink, Fuzzy, DSP (digital signal processing) hay tích hợp với các ngôn ngữ quen thuộc như C, C++, Fortran,…, Matlab đã thực sự trở thành công cụ phổ biến đắc lực trong các môi trường khác nhau. 1. Các khả năng chính của MATLAB cơ bản: - 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. 2. Các cửa sổ chính trong phần mềm MATLAB Phần mềm MATLAB được chia thành rất nhiều cửa sổ, mỗi cửa sổ có chức năng khác nhau giúp người sử dụng dễ dàng làm việc. Các cửa sổ chính bao gồm:

Command Window: cửa sổ làm việc chính của MATLAB. Tại đây ta thực hiện toàn bộ việc nhập dữ liệu và xuất kết quả tính toán. Dấu nhấp nháy >> báo hiệu chương trình sẵn sàng hoạt động. -

Editor: cửa sổ soạn thảo. Nhờ cửa sổ này, ta có thể viết mới hay xử lý, sửa đổi các scripts (file chương trình) và các hàm. -

Commad history: cửa sổ quá khứ, lưu lại các câu lệnh đã được thực hiện trước đó. Có thể lặp lại các lệnh cũ bằng cách kích đúp chuột vào lệnh đó. Cũng có thể cắt, sao hoặc xóa cả nhóm lệnh hoặc từng lệnh riêng rẽ. -

Current Directory: cửa sổ thư mục hiện tại. Nhờ cửa sổ này, người sử dụng có thể nhanh chóng nhận biết, chuyển đổi thư mục hiện tại của môi trường công tác, mở file, tạo thư mục mới. -

-

Workspace: cửa sổ môi trường công tác, chứa các ma trận số liệu cần thực hiện

-

Array Editor: bảng ma trận số liệu cụ thể, giống như booksheet trong Excel.

3. Một số đặc trưng chính của MATLAB:  MATLAB là ngôn ngữ thông dịch. Vì thế nó có thể làm việc ở hai chế độ: tương tác và lập trình. Trong chế độ tương tác MATLAB thực hiện từng lệnh được gõ trong cửa sổ lệnh sau dấu nhắc lệnh và kết quả tính toán được hiện ngay trong cửa sổ này, còn đồ thị được hiện trong một cửa sổ khác. Lệnh tương tác có thể là đơn giản, thí dụ tính sin(1.5) hoặc vẽ fplot('sin(1 ./ x)', [0.01 0.1]), có thể là cấu trúc điều kiện, thí dụ if x> PLS . Ngay lập tức MATLAB sẽ tự động thực hiện các câu lệnh mà bạn yêu cầu. 4.4. Khai thác dữ liệu: Vào cửa sổ WORKSPACE, kích đúp vào ma trận cần biết

sẽ thu được các giá trị mong muốn. 4.5. Lưu file: Kích chuột vào biểu tượng SAVE để lưu lại các dữ liệu vừa thu

được. 4.6. Gọi lại các file đã thực hiện trước đó: Khi bạn muốn thực hiện lại hoặc lấy

lại các dữ liệu đã thực hiện trước đó, bạn chỉ cần vào cửa sổ CURRENT DIRECTORY và kích đúp vào các file cần thiết và làm lại các bước như trên.

II. Phương pháp hồi quy đa biến. 1. Hồi quy đa biến tuyến tính. Giả sử hỗn hợp cần phân tích có k cấu tử (X1, X2…Xk), tín hiệu phân tích của hỗn hợp là y thì phương trình hồi qui đa biến mô tả quan hệ giữa y và các biến Xi (i=1,2,… k) có dạng : y= a+ b1X1 + b2X2 +…+ bkXk Về mặt lý thuyết để tìm nồng độ của k cấu tử cần có ít nhất k phương trình hồi qui. Vì vậy thực tế sẽ cần tiến hành m thí nghiệm (m ≥ k) với m dung dịch chuẩn hỗn

hợp thì sẽ lập được m phương trình hồi qui đa biến. Dạng tổng quát của hệ phương trình này như sau : y= a+Xb Trong đó b là vecto chứa các hệ số của phương trình hồi qui. y là vecto cột chứa m giá trị y1…ym còn X là ma trận có m hàng (ứng với m quan sát) và k cột (ứng với k biến)  y1  y   2 y  y= 3 .  .     y m 

 x1 1 x X =  21  ...   xm1

x1 2 x2 2 ... xm 2

... ... .. ...

x1k  x2 k  ...   xm k 

Nếu tín hiệu đo ứng với mỗi thí nghiệm có nhiều hơn một giá trị (ví dụ đo độ hấp thụ quang một dung dịch chuẩn hỗn hợp tại p bước sóng thay vì một bước sóng) thì số liệu của Y sẽ là ma trận có m hàng và p cột ( ymxp) như sau:  y11 y 21 y=  ...   y m1

y12

...

y 22

...

... ym2

... ...

y1 p  y 2 p  ...   y mp 

Các phương trình hồi qui tuyến tính thu được sẽ cho biết: - Những biến (cấu tử) nào có ảnh hưởng lớn (nếu giá trị tuyệt đối của hệ số hồi qui lớn) đến kết quả thí nghiệm (tín hiệu đo). - Biết được chiều hướng các ảnh hưởng (hệ số hồi qui mang dấu dương sẽ có ảnh hưởng cùng chiều đến kết quả thí nghiệm và ngược lại). - Tìm được nồng độ các cấu tử trong dung dịch cần định phân khi có tín hiệu phân tích y. 1.1. Phương pháp bình phương tối thiểu thông thường (classical least square-CLS) (Phương pháp này còn gọi là ma trận K (K-matrix)) - Từ dạng tổng quát y = XK +e

(1)

K là vecto hệ số của phương trình hồi qui. K là ma trận (kx1) nếu y là véc tơ cột biểu diễn tín hiệu đo của một dung dịch chuẩn với y là vecto (mx1), X là ma trận

(mxk), và e là vecto số dư (mx1). K là ma trận (kxp) nếu y là số liệu dạng ma trận (mxp) biểu diễn tín hiệu của dung dịch chuẩn được đo tại nhiều thời điểm (ví dụ đo độ hấp thụ quang tại p bước sóng). - Nếu có giá trị nhập vào là biến độc lập X và biến phụ thuộc y sẽ tính được giá trị hệ số b. Theo phương pháp bình phương tối thiểu, ma trận hệ số K sẽ được tính như sau:

K= (XTX)-1 XTy

(2)

với XT là ma trận chuyển vị của X (transpose to matrix). - Khi đã có giá trị hệ số phương trình hồi quy, với mẫu chưa biết cần tìm giá trị X 0 từ giá trị y0 ta sẽ có:

X0 = y0 KT (KKT)-1

(3)

Phương trình (1) cho thấy có thể xem CLS như là phân tích nhân tố vì ma trận tín hiệu y là tích của hai ma trận nhỏ X và K. Ưu điểm : Tín hiệu phân tích y là một ma trận phổ toàn phần, do vậy phương pháp CLS đạt được độ chính xác cao so với các phương pháp chỉ sử dụng một số bước sóng và cho phép tính toán đúng với tất cả các phổ trong hỗn hợp. Nhược điểm: Phương pháp CLS đòi hỏi những cấu tử trong hỗn hợp phải cho tín hiệu có tính chất cộng tính. Vì vậy cần phải biết tất cả các phổ của những chất gây ảnh hưởng đến vùng phổ được đo vì chúng đều đóng góp vào đường chuẩn. Điều này có thể được loại trừ đáng kể bằng cách phân tích dải phổ tại một thời điểm sau khi gộp kết quả vào phép phân tích thống kê. Nó cho phép loại bỏ dải phổ không tuân theo định luật Lambe-Bia hoặc những phổ có chứa tín hiệu của ion cản. Các bước tính toán CLS trong phần mềm Matlab: -

Khởi động phần mềm MATLAB

-

Nhập các ma trận dữ liệu trong cửa sổ WORKSPACE

+ Nhập ma trận nồng độ X0 (mxk) của m dung dịch chuẩn chứa k cấu tử (m hàng, k cột ) + Nhập ma trận tín hiệu phân tích Y0(mxn) (n là số tín hiệu đo) + Nhập tín hiệu phân tích Y của mẫu cần định phân - Lưu các dữ liệu vừa nhập vào thành 1 file trong Matlab : CLS.mat - Mở một M-file trong cửa sổ EDITOR và viết các câu lệnh tại đó:

%Phuong phap CLS: %Goi cac bien su dung trong phuong phap load CLS.mat; %Tinh ma tran he so hoi quy K: K=inv(X0'*X0)*X0'*Y0 ; %KIỂM TRA ĐỘ CHÍNH XÁC CỦA PHƯƠNG PHÁP: %Nhap ma tran tin hieu do cua mau kiem tra: Yktra %Nhap ma tran nong do cua mau ktra: X0ktra %Tinh nong do mau kiem tra: Xktra=Yktra*K'*inv(K*K'); %Tinh sai so giua nong do chuan voi nong do xac dinh duoc tu phuong phap CLS: Saiso=(X0ktra-Xktra)*100./X0ktra; %TÌM NỒNG ĐỘ CỦA CHẤT TRONG MẪU BẤT KÌ %Nhap ma tran tin hieu do cua mau: Y X=Y*K'*inv(K*K'); - Lưu lại M-file vừa thực hiện được và đặt tên file: CLS - Gọi hàm M-file vừa viết được trong cửa sổ COMMAND WINDOW >> CLS - Chương trình sẽ tự động thực hiện các lệnh theo yêu cầu và hiển thị kết quả. - Kích chuột vào giá trị Saiso, X trong WORKSPACE thu được các dữ liệu mong muốn. Thí dụ: Hỗn hợp cần phân tích có 2 cấu tử, tiến hành đo 10 dung dịch chuẩn tại 10 bước sóng. Có ma trận nồng độ X(10x2) và ma trận độ hấp thụ quang A(10x10) - Nhập ma trận nồng độ X0(10x2)-10 hàng tương ứng với 10 dung dịch chuẩn và 2 cột tương ứng với 2 cấu tử cần phân tích 2

0.6

6

0.6

10

0.6

14

0.6

18

0.6

2

1.2

6

1.2

10

1.2

14

1.2

18

1.2

- Nhập ma trận độ hấp thụ quang Y0(10x10)-10 hàng và 10 cột tương ứng với 10 bước sóng lựa chọn : 0.24 0.495 0.739 0.985 1.233 0.337 0.583 0.835 1.093 1.354

0.238 0.495 0.739 0.986 1.235 0.333 0.581 0.833 1.091 1.353

0.236 0.494 0.739 0.987 1.236 0.329 0.578 0.831 1.09 1.352

0.234 0.493 0.739 0.987 1.237 0.326 0.575 0.829 1.089 1.351

0.233 0.492 0.738 0.988 1.239 0.322 0.572 0.827 1.087 1.35

0.231 0.491 0.738 0.988 1.24 0.319 0.569 0.824 1.085 1.349

0.229 0.49 0.737 0.988 1.24 0.315 0.566 0.822 1.083 1.348

0.227 0.488 0.736 0.988 1.24 0.311 0.563 0.819 1.081 1.346

0.225 0.487 0.736 0.988 1.241 0.308 0.559 0.816 1.079 1.344

0.224 0.486 0.734 0.987 1.241 0.304 0.556 0.813 1.076 1.342

0.178 0.523

0.178 0.521

0.177 0.519

Nhập ma trận nồng độ mẫu kiểm tra C0ktra(2x2) : 2

0.3

6

0.9

Nhập ma trận độ hấp thụ quang của mẫu kiểm tra Yktra(2x10) : 0.183 0.536

0.182 0.534

0.182 0.532

0.181 0.531

0.18 0.529

0.18 0.527

0.179 0.525

Các giá trị thu được : Ma trận K(2x10): 0.062962

0.063167

0.063362

0.063514

0.063714

0.063867 0.064

0.17678

0.17333

0.16985

0.16686

0.16326

0.16

0.1568

(2 hàng trong ma trận K để chỉ 2 giá trị hệ số của 2 biến là 2 cấu tử cần phân tích trong hỗn hợp). Ma trận nồng độ mẫu kiểm tra tính từ phương trình hồi quy Cktra(2x2) : 1.9721

0.3285

6.0849

0.90571

Saiso :

4.334

3.2997

2.6402

0.18868

Nếu kết quả trong mẫu phân tích là một giá trị bằng số thì Matlab sẽ không tính được giá trị của nồng độ trong mẫu. Vì vậy CLS thường chỉ thích hợp cho những phép phân tích tại nhiều bước sóng. Khi sử dụng phương pháp này trong thực tế, cần sử dụng số dung dịch chuẩn và số tín hiệu đo nhiều hơn nữa. 1.2. Phương pháp bình phương tối thiểu nghịch đảo (inverse least square- ILS) (Phương pháp ma trận P ( P- matrix)) Ngược lại với phương pháp CLS. Phương pháp này giả thiết rằng nồng độ chất phân tích là hàm của tín hiệu phân tích theo phương trình: X=y.P+e Trong phương pháp này, hệ số P trong phương trình hồi qui là thành phần của ma trận (mxk) được tính theo phương pháp bình phương tối thiểu suy rộng (generalized): P= (yTy)-1 yTX Việc phân tích nồng độ chất chưa biết (X0) được thực hiện bằng cách nhân trực tiếp giá trị tín hiệu đo y0 của dung dịch cần phân tích với P. X0= y0.P Mỗi hàng trong y là tín hiệu của một mẫu, mỗi cột là tín hiệu của các mẫu ở một thời điểm nhất định. Vì vậy, trong phương pháp ILS số mẫu không được ít hơn số thời điểm đo. Do yêu cầu về số mẫu tối thiểu như trên nên để tiến hành sử dụng phương pháp này, ta cần lựa chọn số thời điểm đo tối thiểu đặc trưng nhất trên toàn dải tín hiệu đo. Các điểm đo đặc trưng này thường là những điểm thỏa mãn các yêu cầu sau: ∗ Giá trị tín hiệu đo tại các thời điểm này lớn so với các điểm đo khác để tăng độ nhạy. ∗ Tín hiệu của các cấu tử khác nhau tại mỗi điểm đo được lựa chọn phải biến đổi khác nhau tức là có sự khác biệt lớn về tín hiệu đo tại mỗi điểm của các cấu tử. ∗

Tại các điểm này, tín hiệu của các ion cản trở phép đo là nhỏ nhất.

Ưu điểm của phương pháp ILS: - Thích hợp với tập số liệu nhỏ, ít thông tin.

- Loại trừ được sai số nhiễu phổ và giảm thiểu được ảnh hưởng của các cấu tử lạ do đã lựa chọn các thời điểm đo đặc trưng. - Khi tín hiệu đo là các giá trị nhỏ hơn giá trị qui ước của nồng độ thì giá trị các hệ số trong ma trận P sẽ lớn hơn hệ số hồi qui của phương pháp CLS, điều này sẽ làm giảm sai số trong quá trình tính toán. Nhược điểm của phương pháp ILS: - Cần lựa chọn tối thiểu các thời điểm đo đặc trưng cho các cấu tử. Lựa chọn sai lệch sẽ dẫn đến sai số lớn trong quá trình tính toán. - Phải đảm bảo có tính cộng tính cao của các cấu tử ở các thời điểm đo được lựa chọn. Các bước tính toán ILS trong phần mềm Matlab: -

Khởi động phần mềm MATLAB

-

Nhập các ma trận dữ liệu trong cửa sổ WORKSPACE

+ Nhập ma trận nồng độ X0 (mxk) của m dung dịch chuẩn chứa k cấu tử (m hàng, k cột) + Nhập ma trận tín hiệu phân tích Y0(mxn) (n là số tín hiệu đo) + Nhập tín hiệu phân tích Y của mẫu cần định phân - Lưu các dữ liệu vừa nhập vào thành 1 file trong Matlab : ILS.mat - Mở một M-file và viết các câu lệnh tại đó: %Phuong phap ILS: %Goi cac bien su dung trong phuong phap load ILS.mat; %Tinh ma tran he so hoi quy: P=inv(Y0'*Y0)*Y0'*X0; %KIỂM TRA ĐỘ CHÍNH XÁC CỦA PHƯƠNG PHÁP: %Tinh nong do chat trong mau kiem tra: Xktra=Yktra*P; %Tinh sai so giua nong do chuan voi nong do xac dinh duoc tu ILS: Saiso= (X0ktra-Xktra)*100./X0ktra % TÍNH NỒNG ĐỘ CỦA CHẤT TRONG MẪU BẤT KÌ %Tinh nong do cua mau: X=Y*P - Lưu lại M-file vừa thực hiện được: ILS.m - Gọi M-file vừa viết được trong cửa sổ COMMAND WINDOW

-

>> ILS Chương trình sẽ tự động thực hiện các yêu cầu mong muốn và trả lại kết quả dưới dạng ma trận. Kích chuột vào giá trị Saiso, X trong WORKSPACE để hiển thị các ma trận số liệu đó.

Thí dụ: Hỗn hợp cần phân tích có 2 cấu tử, tiến hành đo 10 dung dịch chuẩn. Chọn 7 bước sóng đặc trưng nhất và có tính chất cộng tính nhất của hệ. Có ma trận nồng độ X(10x2) 10 hàng tương ứng với 10 dung dịch chuẩn, 2 cột tương ứng với 2 cấu tử và ma trận độ hấp thụ quang A(10x7) 7 cột tương ứng với 7 bước sóng chọn lọc. - Nhập ma trận nồng độ X0(10x2)-10 hàng và 2 cột 2

0.6

6

0.6

10

0.6

14

0.6

18

0.6

2

1.2

6

1.2

10

1.2

14

1.2

18

1.2

Chọn 7 bước sóng đặc trưng cho mẫu phân tích - Nhập ma trận độ hấp thụ quang Y0(10x7)-10 hàng và 7 cột : 0.24

0.238 0.236 0.234 0.233 0.231 0.229

0.495 0.495 0.494 0.493 0.492 0.491 0.49 0.739 0.739 0.739 0.739 0.738 0.738 0.737 0.985 0.986 0.987 0.987 0.988 0.988 0.988 1.233 1.235 1.236 1.237 1.239 1.24

1.24

0.337 0.333 0.329 0.326 0.322 0.319 0.315 0.583 0.581 0.578 0.575 0.572 0.569 0.566

0.835 0.833 0.831 0.829 0.827 0.824 0.822 1.093 1.091 1.090 1.089 1.087 1.085 1.083 1.354 1.353 1.352 1.351 1.350 1.349 1.348 Nhập ma trận nồng độ mẫu kiểm tra C0ktra(2x2) : 2

0.3

6

0.9

Nhập ma trận độ hấp thụ quang của mẫu kiểm tra Yktra(2x7) : 0.183 0.182 0.182 0.181 0.18

0.18

0.179

0.536 0.534 0.532 0.531 0.529 0.527 0.525 Các giá trị thu được : Ma trận P -23.379

-7.3415

-138.88

68.855

-17.969

-45.528

5.9699

42.323

89.502

30.385

59.861

-40.551

38.725

-47.446

Ma trận nồng độ mẫu kiểm tra tính từ phương trình hồi quy Cktra(2x2) : 2.0724

0.23984

6.1401

0.88049

Saiso : -3.6179

20.053

-2.335

2.1675

1.3. Phương pháp bình phương tối thiểu từng phần (partial least square-PLS )

PLS là phương pháp đa biến dùng để mô hình hoá mối quan hệ giữa biến độc lập X và biến phụ thuộc Y, từ đó có thể đoán được thông tin trong Y khi đã biết các thông tin của X và ngược lại. PLS sẽ tối ưu hoá giá trị đồng phương sai (covariance) giữa ma trận X và Y. Hai ma trận X và Y được phân tích thành một ma trận số (score matrices) T chung và ma trận nạp (loading matrices) P và Q.

A

k cột

X

Scores

. loading

n

n hàng

T

n

scores

n

E

+

sai số n

m

m

A

=

k

A

k

Y

Pt

T

=

k

Qt

.

loading

F sai số

+

A

n

Hay X= T x P + E Y= T x Q + F

Tính chất quan trọng của PLS là chúng ta có thể nhận được một ma trận T chung cho cả 2 phương trình Số thí nghiệm ít hơn số biến? Các bước tính toán PLS trong phần mềm Matlab: -

Khởi động phần mềm MATLAB

-

Nhập các ma trận dữ liệu trong cửa sổ WORKSPACE

+ Nhập ma trận nồng độ X0 (mxk) của m dung dịch chuẩn chứa k cấu tử (m hàng, k cột) + Nhập ma trận tín hiệu phân tích Y0(mxn) (n là số tín hiệu đo) + Nhập tín hiệu phân tích Y của mẫu cần định phân - Lưu các dữ liệu vừa nhập vào thành 1 file trong Matlab : PLS.mat - Mở một M-file và viết các câu lệnh tại đó: %Phuong phap PLS:

%Goi cac bien can dung trong phuong phap load PLS.mat; %Tinh vecto trong so: w=(Y0'*X0)*inv(X0'*X0); %Tinh tri so va trong so: t=Y0*w; P=(Y0'*t)*inv(t'*t); Q=(X0'*t)*inv(t'*t); b=w*inv(P'*w)*Q; a=mean(X0)-mean(Y0)*b; % NẾU MUỐN KIỂM TRA ĐỘ CHÍNH XÁC CỦA PHƯƠNG PHÁP: % do kich thuoc cua ma tran a và Yktra*b la khac nhau, thuc hien buoc dong % nhat cua 2 ma tran. Neu so cau tu la 2 thi a(1) duoc tao thanh bang cach % tao thanh 2 cot trong ma tran. Neu so cau tu la n thi tuong tu ta them n % cot a1=[ones(m,1)*a(1) ones(m,1)*a(2)]; % m la so dung dich kiem tra % Nhap ma tran do hap thu quang cua mau kiem tra:Yktra % Tinh nong do mau kiem tra theo PLS: Xktra=a1+Yktra*b; % Tinh sai so giua nong do chuan voi nong do xac dinh duoc tu PLS: Saiso=(X0ktra-Xktra)*100./X0ktra ; % TÍNH NỒNG ĐỘ CỦA CHẤT TRONG MẪU BẤT KÌ a2=[ones(m1,1)*a(1) ones(m1,1)*a(2)]; % m1 la so dung dich phan tich % Nhap ma tran do hap thu quang cua mau thuc: Y X=a2+Y*b; - Lưu lại M-file vừa thực hiện được PLS.m - Gọi hàm M-file vừa viết được trong cửa sổ COMMAND WINDOW >> PLS - Kích chuột vào giá trị Saiso, X trong WORKSPACE thu được các dữ liệu mong muốn Thí dụ: Hỗn hợp cần phân tích có 2 cấu tử, tiến hành đo 10 dung dịch chuẩn tại 7 bước sóng. Có ma trận nồng độ X(10x2) và ma trận độ hấp thụ quang A(10x10) - Nhập ma trận nồng độ X0(10x2)-10 hàng và 2 cột 2

0.6

6

0.6

10

0.6

14

0.6

18

0.6

2

1.2

6

1.2

10

1.2

14

1.2

18

1.2

- Nhập ma trận độ hấp thụ quang Y0(10x7)-10 hàng và 7 cột : Nhập ma trận nồng độ mẫu kiểm tra C0ktra(2x2) : Nhập ma trận độ hấp thụ quang của mẫu kiểm tra Yktra(2x7) : Các giá trị thu được : Ma trận K(2x10): Ma trận nồng độ mẫu kiểm tra tính từ phương trình hồi quy Cktra(2x2) : Saiso :

1.4. Phương pháp hồi qui cẩu tử chính ( principal component regression -PCR) PCR - phương pháp hồi quy cấu tử chính, 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 để phân tích tập dữ liệu mới này. Trước tiên, chiếu tập số liệu tín hiệu phân tích đó lên không gian có ít chiều hơn theo PCA mà không làm mất đi các thông tin quan trọng và tiến hành phân tích hồi qui đa biến trên không gian mới này. Nó giả thiết rằng mỗi thành phần trong tập số liệu có thể được gán một giá trị định lượng đầu tiên cần tạo mô hình PCA cho tập số liệu và sử dụng giá trị riêng của các biến ảo (score) để xây dựng phương trình hồi qui đa biến

tuyến tính trong đó giá trị y là giá trị hàm mục tiêu

PCA scores

Ma trận tín hiệu đo (mx n)

PCA loading



PCA scores

+

.

Sai số dư (lan truyền)

Nồng độ các cấu tử Hồi quy đa biến tuyến tính -MLR

Các bước chính của PCR bao gồm: -

Xử lý ban đầu (không bắt buộc)

-

Chuẩn hóa tập số liệu : đây là nội dung chính của thuật toán.

-

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. D = AT . 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: 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 nhân tố nhưng thường không sử dụng tất cả mà chỉ sử dụng N nhân tố đầu đủ để xác định không gian mới. 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ố vectơ 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: 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. 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. Phương pháp được sử dụng rộng rãi để lựa chọn các PC có nghĩa khi các PC này được tính bằng hàm SVD hay Princomp là phương pháp tính và đánh giá qua phần trăm phương sai tích lũy của các PC đó. Cách tính này đơn giản hơn và các hàm tính PC trên đã cho sẵn dữ liệu để có thể đánh giá nhanh. -

Tính toán lại

Sau khi loại bỏ các vectơ riêng không có nghĩa, chúng ta cũng loại được tín hiệu nhiễu của dữ liệu gốc và cần tính lại dữ liệu sau khi loại bỏ sai số. Như vậy, khi tính toán ở hệ tọa độ mới ta đã loại bỏ được tín hiệu nhiễu trong tập dữ liệu ban đầu. -

Xây dựng đường chuẩn

Khi xây dựng đường chuẩn PCR theo phương pháp ILS, điểm khác biệt duy nhất là tập số liệu sử dụng. Các bước tiến hành bao gồm:

-

Xác định phép chiếu trong hệ tọa độ mới: Aj = A . Vc

Trong đó: Aj: ma trận số liệu ở hệ tọa độ mới A: ma trận gốc Vc: ma trận các vectơ riêng có nghĩa -

Thay thế A bằng Aj trong phương trình hồi quy C = Aj . F , trong đó F được tính theo công thức: F = (AjT . Aj)-1 . AjT . C

- Nồng độ chất phân tích trong mẫu chưa biết được tính theo công thức: C x = Ax . V c . F = Ax . Fcal với Fcal = Vc . F đóng vai trò tương tự ma trận P trong phương trình của ILS Ưu điểm của phương pháp PCR: Hội tụ đầy đủ các ưu điểm của phương pháp ILS đồng thời khắc phục được các nhược điểm của phương pháp ILS do tiến hành tính toán trên toàn phổ. Phương pháp này cho phép loại bỏ sai số nhiễu phổ và sai số ngẫu nhiên trong quá trình đo khi lựa chọn được số PC phù hợp. Đối với trường hợp sử dụng phổ toàn phần, khi dùng các phương pháp khác như CLS, kết quả tính cuối cùng là kết quả tính trung bình trên toàn phổ nên kém chính xác hơn trường hợp dùng phổ chọn lọc. Khi sử dụng mô hình PCR, tuy kết quả vẫn tính trên tất cả các điểm nhưng đóng góp của các điểm đo sẽ khác nhau tùy theo lượng đóng góp của từng điểm này vào các PC được chọn mà lượng đóng góp này lại được phân tích dựa trên tín hiệu đo tại từng điểm của các mẫu chuẩn. Do có sự phân biệt và chọn lọc trong đánh giá mỗi điểm đo nên kết quả thu được sẽ chính xác hơn phương pháp tính trung bình trên toàn phổ ở các phương pháp phổ toàn phần khác. Các bước tính toán PCR trong phần mềm Matlab: -

Khởi động phần mềm MATLAB

-

Nhập các ma trận dữ liệu trong cửa sổ WORKSPACE

+ Nhập ma trận nồng độ X0 (mxk) của m dung dịch chuẩn chứa k cấu tử (m hàng, k cột) + Nhập ma trận tín hiệu phân tích Y0(mxn) (n là số tín hiệu đo) + Nhập tín hiệu phân tích Y của mẫu cần định phân - Lưu các dữ liệu vừa nhập vào thành 1 file trong Matlab : PCR.mat %Phuong phap PCR: load PCR.mat; %Binh phuong tap so lieu chua bien phu thuoc Y0 D = Y0'*Y0; % Su dung mot trong 3 ham tinh PC de xac dinh cac PC theo cau lenh sau, su % dung ham SVD [V S] = svd(D); % Tinh ma tran phan tram phuong sai cua cac PC d = diag(S)/sum(diag(S))*100; % Tu gia tri phan tram phuong sai cua cac PC, can cu vao yeu cau cu the cua % bai toan de quyet dinh so PC lam co so cho khong gian moi cua tap so lieu % (n): f = V(:,1:n); % Chuyen doi tap so lieu ban dau va tinh ma tran he so hoi qui: Yj = Y0*f; F = inv(Yj'*Yj)*Yj'*X0; Fj=f*F % Nhap ma tran bien phu thuoc cua k mau can dinh phan va tinh nong do mau % theo cong thuc:X=Y*Fj % NEU MUON KIEM TRA DO CHINH XAC CUA PHUONG PHAP % Nhap ma tran do hap thu quang cua mau kiem tra:Yktra %Tinh nong do mau kiem tra theo PCR: Xktra=Yktra*Fj; %Tinh sai so giua nong do chuan voi nong do xac dinh duoc tu PLS: Saiso=(X0ktra-Xktra)*100./X0ktra ; % TINH NONG DO CUA CHAT TRONG MAU BAT KI. %Nhap ma tran do hap thu quang cua mau thuc: Y X=Y*Fj; - Lưu lại M-file vừa thực hiện được: PCR.m - Gọi hàm M-file vừa viết được trong cửa sổ COMMAND WINDOW : >> PCR - Kích chuột vào giá trị Saiso, X trong WORKSPACE thu được các dữ liệu mong muốn Thí dụ: Hỗn hợp cần phân tích có 2 cấu tử, tiến hành đo 10 dung dịch chuẩn tại 7

bước sóng. Có ma trận nồng độ X(10x2) và ma trận độ hấp thụ quang A(10x10) - Chọn số cấu tử chính tương ứng với 5 bước sóng:n=5 - Nhập ma trận nồng độ X0(10x2)-10 hàng và 2 cột 2

0.6

6

0.6

10

0.6

14

0.6

18

0.6

2

1.2

6

1.2

10

1.2

14

1.2

18

1.2

- Nhập ma trận độ hấp thụ quang Y0(10x7)-10 hàng và 7 cột : 0.24

0.238 0.236 0.234 0.233 0.231 0.229

0.495 0.495 0.494 0.493 0.492 0.491 0.49 0.739 0.739 0.739 0.739 0.738 0.738 0.737 0.985 0.986 0.987 0.987 0.988 0.988 0.988 1.233 1.235 1.236 1.237 1.239 1.24

1.24

0.337 0.333 0.329 0.326 0.322 0.319 0.315 0.583 0.581 0.578 0.575 0.572 0.569 0.566 0.835 0.833 0.831 0.829 0.827 0.824 0.822 1.093 1.091 1.09

1.089 1.087 1.085 1.083

1.354 1.353 1.352 1.351 1.35

1.349 1.348

Nhập ma trận nồng độ mẫu kiểm tra C0ktra(2x2) : 2

0.3

6

0.9

Nhập ma trận độ hấp thụ quang của mẫu kiểm tra Yktra(2x7) : 0.183 0.182 0.182 0.181 0.18

0.18

0.179

0.536 0.534 0.532 0.531 0.529 0.527 0.525 Các giá trị thu được : Tín hiệu đầu vào được chuyển sang một không gian mới Yj(10x5), chỉ gồm 5PC -0.62026

-0.0083112 0.00038958 0.00050616 -0.00026107

-1.304

-0.0023328 -0.0005136 0.00021144 0.00016906

-1.9537

0.0018731

-0.00028062 -0.00040274 0.00037744

-2.6113

0.0074336

-0.00023488 0.00014322 -0.00019212

-3.2732

0.012422

0.00016797 0.0004811

-0.86217

-0.017519

0.00043465 -8.6769e-006 0.00031891

-1.521

-0.012517

-0.000608

-2.1926

-0.0075151 -0.00021534 -4.6651e-005 -0.00044805

-2.8793

-0.0032415 2.4096e-005 -0.00066219 -0.00023808

-3.5744

0.0012363

0.00014178

0.00033177 0.00012166

0.00055748 -6.7066e-005 0.00012579

Ma trận nồng độ mẫu kiểm tra tính từ phương trình hồi quy Cktra(2x2) : 2.0518

0.29404

6.1337

0.84443

Saiso : -2.5897

1.986

-2.2285

6.1747

2. Hồi quy đa biến phi tuyến tính 2.1. Phương pháp mạng noron nhân tạo Mạng nơron nhân tạo (ANN) là một hệ mô phỏng xử lý thông tin, được nghiên cứu từ hệ thống thần kinh của sinh vật, trong đó một mô hình toán học được tạo ra

giống như bộ não để xử lý thông tin. ANN là công cụ phân tích số liệu dựa trên mô hình tính toán để giải quyết những vấn đề phức tạp. ANN gồm những đơn vị xử lý số liệu dầy đặc liên quan mật thiết với nhau. Mỗi đơn vị được nối với đơn vị bên cạnh bằng lực (weight). Việc xem xét được kết hợp bằng cách chuẩn hoá những lực này để tạo ra mạng có kết quả thích hợp. Trong đó các nơron truyền tải dữ liệu bằng cách tính hay dự đoán đầu ra (output) dự trên các dữ liệu đầu vào (input), trọng lượng (weight) và độ lệch (bias). Phương pháp này rất thích hợp để mô hình hoá hệ phi tuyến tính. Mô hình một nơron nhân tạo

-

Giả sử có N dữ liệu đầu vào (inputs),

-

Nơron sẽ có N trọng số (weights) tương ứng với N đường truyền inputs. Nơron sẽ lấy input thứ nhất, nhân với trọng số trên đường input thứ nhất, lấy input thứ hai nhân với trọng số của đường input thứ hai v.v..., rồi lấy tổng của tất cả các kết quả thu được.

-

Đầu ra là một hàm của tổng tất cả kết quả thu được đó.

1 Mạng nơron bao gồm vôu1số các v1nơron được liên kết, truyền thông với nhau X0 g1 trong mạng. yo 1 2

X1 . . . XN

Lớp nhập

. . . K

. . . M

yk

[V]

[W] Lớp ẩn

Lớp xuất

X0, X1,…Xn: các thông tin đầu vào, Y0, …Yk các thông tin đầu ra Trong mỗi noron đều có các hàm số giới hạn dùng để điều chỉnh sai số sao cho dữ liệu đầu ra phù hợp theo yêu cầu. Các hàm giới hạn thường dùng:

Với mỗi mô hình tính toán, ta phải xác định các thuật toán học để tự động xác định các giá trị tham số tối ưu cho mô hình trên cơ sở bộ số liệu cho trước ANN là một khái niệm tương đối mới trong quá trình xử lý số liệu, giải quyết các bài toán khó mà con người nhiều khi không giải được. Các mô hình mạng noron chính: Mạng lan truyền thẳng một lớp – perceptron

-

neuron neuron neuron neuron

Mạng lan truyền thẳng đa lớp - multi layer perceptron-MLP

-

X0

u1

1

v1 g1

2

X1

. . . M

. . .

XN Líp vµo

[W] líp Èn

1

yo

. . . K

yk

[V] líp ra

-

Mạng lan truyền ngược – RBF

-

Tùy thuộc vào đặc điểm của tập dữ liệu để lựa chọn mô hình mạng nơron cho phù hợp. Trong hóa phân tích, dữ liệu đầu vào là tín hiệu đo tại những điều kiện khác nhau, dữ liệu đầu ra là giá trị nồng độ các cấu tử, vì vậy chúng ta thường sử dụng mạng lan truyền thẳng đa lớp (MLP). Thí dụ: xác định đồng thời 2 cấu tử trong hỗn hợp bằng phương pháp trắc quang, khi đó ta xây dựng 55 dung dịch chuẩn dùng làm mẫu học với các nồng độ thay đổi bao gốm cả trong khoảng tuyến tính và ngoài khoảng tuyến tính. Đồng thời xây dựng bộ số liệu kiểm tra với 20 mẫu khác nhau với nồng độ nằm trong khoảng đã dùng làm mẫu học. Các số liệu và lựa chọn ban đầu: * Bộ số liệu học: - Lớp nhập xlearn[nxm]: là ma trận độ hấp thụ quang của mẫu chuẩn trên toàn dải phổ (từ λ = 400 -600nm) trong đó n=55 là số mẫu học, m =101 là số bước sóng tiến hành ghi phổ. - Lớp xuất dlearn[nxp]: là ma trận nồng độ dung dịch mẫu chuẩn biểu diển trên bảng 5, với p =2 là số cấu tử cần xác định đồng thời. * Bộ số liệu kiểm tra: - Lớp nhập xtest[qxm]: là ma trận độ hấp thụ quang của mẫu kiểm tra trên toàn dải phổ với q = 32 là số mẫu kiểm tra. - Lớp xuất dtest[qxp]: là ma trận nồng độ dung dịch kiểm tra được biểu diễn: . Như vậy ta có mạng nơron với 101 đầu vào và 2 đầu ra. * Hàm truyền của nơron lớp ẩn: là hàm chuẩn hoá ‘logsig’ ‘purelin’ ‘logsig’

* Hàm truyền của nơron đầu ra: là tuyến tính ‘ purelin’ Trong quá trình tính toán đồ thị và xem xét cụ thể các bước học ta nhận thấy: - Giá trị của mỗi bước học là 100.000 thì sẽ cho sai số tương đối bình phương trung bình ( MSE) nhỏ. Giả sử đặt trước MSE là 10-3 %, tức là anpha định trước (α) = 10-5 Trong quá trình thực hiện bài toán ta sử dụng các hàm như sau: - Tạo hàm, thiết lập một mạng nơron mới và luyện tập cho mạng có cấu trúc như sau: net = newff(PR, [S1 S2 …Sn1], {TF1 TF2…TFn1}, BTF, BTF, PF) Trong đó: PR = [min(x); max(x) ] [S1 S2 …Sn1] là số nơron lớp ẩn và lớp xuất, ứng với bài toán này ta có: [nhidden 2] {TF1 TF2 …TFn1} là các hàm học của mỗi lớp mạng, chúng ta có thể tham khảo thêm trong toolbox của Matlab. Sim(net, x, d, ntimes): hàm mô phỏng đầu ra theo các giá trị đầu vào. Train(net, x, d, ntimes): hàm học của bài toán. Các hàm này đều là hàm chuẩn, ta có thể dùng ngay và lấy dễ dàng từ toolbox của Matlab. Thuật toán mạng nơron nhân tạo trong phần mềm MATLAB -

Khởi động phần mềm MATLAB

-

Nhập các ma trận dữ liệu trong cửa sổ WORKSPACE

+ Nhập ma trận nồng độ mẫu học dlearn(mxk) của m dung dịch chuẩn chứa k cấu tử (m hàng, k cột) + Nhập ma trận tín hiệu phân tích của mẫu học xlearn(mxn) (n là số tín hiệu đo) + Nhập ma trận nồng độ mẫu kiểm tra dtest(m’xk) của m’ dung dịch chuẩn chứa k cấu tử (m’ hàng, k cột) + Nhập ma trận tín hiệu phân tích của mẫu kiểm tra xtest(m’xn) - Lưu các dữ liệu vừa nhập vào thành 1 file trong Matlab :ANN.mat

- Mở một M-file trong cửa sổ EDITOR và viết các câu lệnh tại đó: % Phuong phap mang noron nhan tao - ANN % Nhap so lieu dau vao tu file da co san load ANN.mat; % Khai bao kich thuoc cua ma tran so lieu hoc [N,S]=size(xlearn); [K,R]=size(dlearn); % Tuy theo he cau tu va du lieu thu duoc de thiet lap mo hinh mang noron phu % hop % Lop nhap co 51 noron % Lop an co 2 lop, moi lop 100 noron % Lop xuat co 2 noron, tuong ung voi 2 cau tu can khao sat % Lua chon cac ham truyen: logsig, purelin % Ham hoc lua chon la TRAINCGF net = newff(minmax(xlearn),[51 100 100 2],{'logsig' 'purelin' 'logsig' 'purelin'},'traincgf'); % Thiet lap cac thong so cho qua trinh hoc cua mang: % Sai so qua trinh hoc net.trainParam.goal=0.00001; % So buoc hoc net.trainParam.epochs = 30000; net = train(net,xlearn,dlearn); % Tinh toan nong do mau kiem tra dua vao mang noron da hinh thanh ytest = sim(net,xtest) ; %Tinh sai so giua nong do mau kiem tra dtest voi nong do xac dinh duoc tu % mang noron nhan tao ytest: Saiso=(dtest - ytest)*100./dtest ; -

Lưu lại M-file vừa thực hiện được mang tên: ANN.m - Gọi hàm M-file vừa viết được trong cửa sổ COMMAND WINDOW: >> ANN - Kích chuột vào giá trị Saiso, ytest trong WORKSPACE thu được các dữ liệu mong muốn. Thí dụ: Tiến hành xác định đồng thời Fe(II) và Fe(III) trong dung dịch tại 110 bước sóng, với 55 mẫu học và 22 mẫu kiểm tra. STT 1 2 3 4 5 6

Fe2+ (ppm)

Fe3+ (ppm)

STT 31 32 33 34 35 36

Fe2+ (ppm)

Fe3+ (ppm)

7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55

2.2. Phương pháp hồi quy cấu tử chính kết hợp với mạng noron nhân tạo(PC-ANN) Giống như phương pháp hồi quy cấu tử chính PCR, trước khi sử dụng ANN, các số liệu về biến phụ thuộc trong phân tích đường chuẩn được thực hiện theo phương pháp PCA để tìm các giá trị riêng score và tải trọng loading. Trong mô hình này các giá trị riêng (score) khi thực hiện PCA với tập số liệu đường chuẩn được dùng làm lớp nhập. Phương pháp PC-ANN được xây dựng dựa trên việc sử dụng giá trị khác của các PC. Lớp ẩn chứa các nơron với hàm sigmoid và lớp xuất với hàm tuyến tính linear. Thuật toán lan truyền ngược được áp dụng cho mạng PC-ANN đa lớp feed-forward. Các biến của PC-ANN được tối ưu sao cho đạt được sai số nhỏ nhất khi so sánh với nồng độ biết trước. Các dung dịch dùng đẻ xây dựng mô hình theo phương pháp đường chuẩn cần tránh có tương quan nồng độ vì sẽ gây ra tính xen phủ (overfitting) trong mô hình.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF