II.1 Mô hình lôgit
4. Bộ công cụ hỗ trợ xây dựng mô hình dự báo logit
Có nhiều bộ công cụ hỗ trợ xây dựng mô hình dự báo nói chung và mô hình logit nói riêng. Ví dụ nhƣ là: WEKA, SPSS, SAS… Trong giới hạn luận văn này, tác giả xin đi sâu vào bộ công cụ SAS:
4.1. Bộ công cụ SAS
SAS là viết tắt của “Static Analysis System”. Đƣợc phát âm là “sass”. Hệ thống này đƣợc phát triển bởi Trung tâm thống kê trƣờng đại học North Carolina State vào những năm 1960. Năm 1976, viên nghiên cứu SAS đƣợc hình thành và trở thành một công ty riêng. Giống nhƣ là S-PLUS cũng trở nên rất phổ biến trong các trƣờng đại học cũng nhƣ là trong cộng đồng các tổ chức nghiên cứu.
Ban đầu, SAS đƣợc xây dựng với mục tiêu quản lý các thực nghiệm trong lĩnh vực nông nghiệp. Và sau đó dựa trên nhu cầu thực tế và khả năng mở rộng của hệ thống, SAS đã đƣợc phát triển để sử dụng rộng rãi hơn trong lĩnh vực xác suất thống kê. Tới thời điểm hiện tại, hệ thống SAS đƣợc sử dụng nhiều nhất trong lĩnh vực này.
4.1.1. Các thành phần cơ bản của hệ thống SAS
Hệ thống SAS gồm 3 thành phần cơ bản:
4.1.1.1. Các công cụ quản lý dữ liệu
SAS tổ chức dữ liệu thành các biểu mẫu chữ nhật hoặc là các bảng dữ liệu. Cấu trúc này có tên là tập dữ liệu SAS. Hình 2.3 chỉ ra một cấu trúc dữ liệu của tập dữ liệu SAS. Trong hình mô tả dữ liệu của các thành viên trong một câu lạc bộ thể hình trong khoảng thời gian 16 tuần. Dữ liệu cho mỗi thành viên bao gồm
một mã số thành viên, họ và tên, tên nhóm tham gia, và cân nặng (theo đơn vị Pound) tại thời điểm bắt đầu và kết thúc chƣơng trình tập luyện.
Hình 2.3: cấu trúc dữ liệu của tập dữ liệu SAS
Trong tập dữ liệu SAS, mỗi dòng thể hiển thông tin về một thực thể riêng và đƣợc gọi là một observation. Mỗi cột thể hiện cùng loại thông tin và đƣợc gọi là một biến. Mỗi một mảnh thông tin đƣợc gọi là giá trị dữ liệu. Trong một tập dữ liệu SAS, một observation chứa tất cả các giá trị dữ liệu cho một thực thể; một biến chứa cùng loại dữ liệu cho tất cả các thực thể.
Để xây dựng một tập dữ liệu SAS trên hệ thống SAS, chúng ta có thể viết một chƣơng trình bằng cách sử dụng các câu lệnh trong ngôn ngữ riêng của SAS. Và đoạn chƣơng trình tạo dữ liệu thƣờng bắt đầu bằng câu lệnh DATA và đặc biệt là tạo một tập dữ liệu SAS hoặc một báo cáo thì đƣợc gọi là một bƣớc dữ liệu (DATA step).
4.1.1.2. Ngôn ngữ xây dựng chƣơng trình xử lý dữ liệu
Ngôn ngữ dùng trong các chƣơng trình xử lý dữ liệu của SAS do viện SAS xây dựng cùng với hệ thống SAS. Nó có đầy đủ các thành phần của một ngôn ngữ lập trình xử lý dữ liệu bao gồm: các câu lệnh, các biểu thức, các hàm, các lời gọi hàm, các tùy chọn, các câu lệnh định dạng dữ liệu, các định dạng dữ liệu phi cấu trúc và các thành phần đƣợc chia sẻ từ các ngôn ngữ lập trình khác. Tuy nhiên, cách mà chúng ta sử dụng các thành phần của ngôn ngữ SAS phụ thuộc vào các ràng buộc cụ thể của ngôn ngữ lập trình. Các luật khi sử dụng ngôn ngữ lập trình SAS bao gồm:
- Các câu lệnh của SAS đƣợc kết thúc bởi dấu “;”.
- Các câu lệnh SAS có thể đƣợc viết bằng cả chữ hoa hoạc chữ thƣờng. - Trên một dòng có thể viết một câu lệnh hoặc là nhiều câu lệnh.
- Các từ có thể đƣợc ngăn cách nhau bởi dấu cách hoặc các ký tự đặc biệt (ví dụ nhƣ dấu “=”, “-” trong các biểu thức toán học).
Các luật khi đặt tên
Các luật này áp dụng cho việc đặt tên các tập dữ liệu SAS, các biến và các thành phần khách:
- Một tên trong SAS bao gồm 32 ký tự.
- Kí tự đầu tiên phải là một ký tự chữ cái hoặc là dấu “_”.
- Các xâu phải là các ký tự chữ cái, các chữ số, hoặc là các dấu “_”. - Các khoảng trống không đƣợc đƣa vào tên.
Các luật đặc biệt cho các tên biến
Các luật này chỉ áp dụng cho các tên biến, SAS ghi nhớ sự kết hợp giữa các ký tự viết hoa và viết thƣờng sử dụng để tạo tên biến. Nhìn từ bên trong hệ thống, ký tự là hoa thƣờng không có vấn đề gì. Ví dụ “CAT”, “Cat”, “cat” tất cả đều thể hiện cùng một biến. Nhƣng đối với các mục đích trình bày, SAS ghi nhớ kiểu chữ hoa hay thƣờng của mỗi ký tự và sử dụng nó để thể hiện tên biến khi in ra.
4.1.1.3. Các công cụ phân tích dữ liệu và xây dựng báo cáo
Ngôn ngữ lập trình SAS rất mạnh mẽ và năng động. Bạn có thể dùng nó lập trình lên bất kỳ chƣơng trình phân tích hoặc tạo báo cáo nào đó. SAS cũng đơn giản hóa việc lập trình bằng việc sử dụng các đơn vị chƣơng trình đƣợc xây dựng sẵn đƣợc gọi là các thủ tục SAS. Các thủ tục SAS sử dụng các giá trị dữ liệu (trƣờng dữ liệu) để tạo ra các chƣơng trình báo cáo mà yêu cầu nỗ lực tối thiểu của ngƣời sử dụng.
Ví dụ, chƣơng trình SAS sau tạo ra một báo cáo hiển thị giá trị của các biến trong tập dữ liệu SAS WEIGHT_CLUB. Đơn vị cân năng đƣợc biểu diễn bởi POUND.
Options linesize = 80 pagesize=60 pageno=1 nodate;
Proc print data = weight_club; Title „health club data‟; Run;
Thủ tục này, đƣợc biết đến nhƣ là thủ tục PRINT, hiển thị các biến trong một tập mẫu, biểu mẫu đã đƣợc dựng sẵn. Kết quả của thủ tục đƣợc hiển thị nhƣ sau:
Bảng 3.1: kết quả của thủ tục sprint
Để sinh ra một bảng dữ liệu bao gồm cân nặng thời điểm đầu, thời điểm cuối, số POUND giảm cho mỗi nhóm, sử dụng tùy chọn TABULATE.
Options tabulate data = weight_club; Class team;
var StartWeight EndWeight Loss;
table team, mean*(StartWeight EndWeight Loss); title 'Mean Starting Weight, Ending Weight,'; title2 'and Weight Loss';
run;
Kết quả của chƣơng trình là một bảng:
Bảng 3.2: kết quả của thủ tục sprint sử dụng tùy chọn TABULATE
Một phần chƣơng trình trong SAS bắt đầu với một câu lệnh PROC và kết thúc với câu lệnh RUN (hoặc là kết thúc bởi PROC khác hoặc câu lệnh DATA) đƣợc gọi là một bƣớc PROC (PROC step). Các thành phần của bƣớc PROC bao gồm:
Một câu lệnh PROC, nó bao gồm từ PROC, tên thủ tục mà bạn muốn sử dụng, và tên của tập dữ liệu SAS có chứa các giá trị dữ liệu.
Các câu lệnh mở rộng đƣa thêm các thông tin đến cho SAS về cái mà chƣơng trình muốn thực hiện, ví du các câu lệnh nhƣ: CLASS, VAR, TABLE và TITLE.
Một câu lệnh RUN, nó chỉ ra rằng nhóm lệnh phía trƣớc nó đã sẵn sàng để chạy.
4.1.2. Mô hình logit trong hệ thống SAS
Hệ thống SAS có rất nhiều thủ tục xây dựng sẵn dựa trên các mô hình phân tích dữ liệu của xác suất thống kê. Trong đó, thủ tục logistic là một thủ tục cài đặt dựa trên mô hình logit mà luận văn đã trình bày ở trên. Thủ tục logit này làm cho các mô hình hồi quy logit phù hợp đối với các tập dữ liệu phản hồi dạng nhị phân hoặc tuần tự dựa trên phƣơng pháp tối ƣu xác suất điều kiện. Ƣớc lƣợng của tối ƣu xác suất điều kiện đƣợc tiến hành với cả giải thuật tính hạng Fisher hoặc là giải thuật Newton-Raphson. Bạn có thể chỉ ra giá trị bắt đầu cho các ƣớc lƣợng tham biến. Hàm liên kết logit trong các mô hình hồi quy logit có thể đƣợc thay thế bằng hàm probit hoặc là hàm bù log-log.
Thủ tục logit cung cấp bốn phƣơng pháp lựa chọn biến đổi: Lựa chọn phía trƣớc, loại trừ phía sau, lựa chọn bậc thang, và lựa chọn tập con tốt nhất. Lựa chọn tập con tốt nhất là dựa trên thống kê tính hạng của xác suất điều kiện. Phƣơng pháp này khai báo một số lƣợng cụ thể của các mô hình tốt nhất chứa một, hai, ba biến…, cho đến một mô hình đơn chứa tất cả các biến diễn giải.
Ƣớc lƣợng của Tỷ số odds đƣợc đƣa ra cùng với các ƣớc lƣợng tham biến. Bạn cũng có thể chỉ rõ sự thay đổi trong các biến diễn giải đối với ƣớc lƣợng Tỷ số odds nào đƣợc mong đợi. Các khoảng cách đảm bảo đối với các tham biến hồi quy và các Tỷ số odds có thể đƣợc tính toán dựa trên đƣờng biểu diễn của hàm xác suất điều kiện hoặc là dựa trên tiệm cận thông thƣờng của các ƣớc lƣợng tham biến.
Thủ tục logistic cho phép bạn chỉ định các dữ liệu phân mục (đƣợc biết đến nhƣ là các biến CLASS) nhƣ là các biến diễn giải. Nó cũng cho phép chỉ ra các thành phần tƣơng tác theo cùng cách làm với thủ tục GLM.
Thủ tục logistic cho phép cả sự tham số hóa xếp hạng đầy đủ cũng nhƣ là tham số hóa xếp hạng không đầy đủ. Sự tham số hóa xếp hạng đầy đủ đề xuất bốn phƣơng pháp mã hóa: effect, tham chiếu, đa thức, đa thức trực giao. Phƣơng pháp mã hóa effect là phƣơng pháp đã đƣợc sử dụng trong thủ tục CATMOD. Sự tham số hóa không đầy đủ giống nhƣ là phƣơng pháp đƣợc sử dụng trong các thủ tục GLM và GENMOD.
Thủ tục logistic có thêm một số lựa chọn để điều khiển cách để thay đổi các hiệu ứng (cả các biến hoặc là các sự tƣơng tác) trong và ngoài của một mô hình với rất nhiều chiến lƣợc xây dựng mô hình nhƣ là lựa chọn về phía trƣớc, loại trừ phía sau, hoặc là lựa chọn bậc thang. Khi không có các thành phần tƣơng tác, một hiệu ứng có thể đƣa vào hoặc lấy ra một mô hình trong một bƣớc đơn dựa trên giá trị P của tính hạng hoặc thống kê Wald. Khi có các thành phần tƣơng tác, tiến trình lựa chọn cũng phụ thuộc vào việc bạn muốn duy trì hệ thống phân cấp của mô hình hay không. Những lựa chọn bổ xung này cho phép bạn chỉ rõ hệ thống phân cấp của mô hình đƣợc duy trì hay không, hệ thống phân cấp của mô hình đƣợc áp dụng nhƣ thế nào, và có thể là một hiệu ứng đơn hoặc là đa hiệu ứng đƣợc đƣa vào trong một bƣớc đơn.
Cũng giống nhƣ nhiều thủ tục khách trong SAS cho phép việc khai báo các biến CLASS, thủ tục logistic cung cấp câu lệnh CONTRAST cho việc chỉ ra các giả thuyết kiểm tra tính bất định của các tham biến mô hình. Câu lệnh CONSTRAST cũng cung cấp ƣớc lƣợng của các dòng riêng lẻ của các thành phần trái ngƣợc, nó là tiện ích cụ thể cho việc tính toán Tỷ số odds đối với những cấp độ khác nhau của các biến CLASS.
Ngoài ra, các thành phần của thủ tục logistic cho phép bạn: Điều khiển thứ tự của các cấp độ phản hồi
Tính toán một đơn vị R2 suy rộng làm cho mô hình phù hợp
Phân lớp lại các quan sát phản hồi dựa theo các xác suất phản hổi đã đƣợc dựa báo của chúng
Các giả thuyết kiểm chứng tuyến tính về các tham biến hồi quy
Tạo ra một tập dữ liệu cho việc sản sinh ra một cung nhận đƣợc từ đặc tính thao tác đối với mỗi sự phù hợp mô hình
Tạo ra một tập dữ liệu chứa các xác suất điều kiện phản hồi đƣợc ƣớc lƣợng, các dƣ thừa, các dự đoán có ảnh hƣởng.
Thủ tục logistic đƣợc sử dụng giống nhƣ các thủ tục khác trong hệ thống SAS. Để chứng minh sự tƣơng tự này, giả sử rằng biến phụ thuộc là biến y có kiểu nhị phân hoặc là kiểu thứ tự, và X1 và X2 là 2 biến độc lập. Để phù hợp với một mô hình hồi quy logistic, bạn có thể sử dụng câu lệnh MODEL:
proc logistic; model y=x1 x2; run;
PROC LOGISTIC. Thủ tục cũng cho phép nhập dữ liệu phản hồi nhị phân mà đã đƣợc phân nhóm:
proc logistic; model r/n=x1 x2; run;
Ở đây, n thể hiện số lƣợng của các thử nghiệm và r thể hiện số lƣợng các sự kiện. Ví dụ dƣới đây chỉ ra việc sử dụng thủ tục PROC LOGISTIC nhƣ thế nào. Dữ liệu đƣợc lấy bởi Cox và Snell (vào năm 1989), bao gồm số lƣợng, r, của các thỏi vàng chƣa đƣợc tán, dựa trên n thử nghiệm, cho một số kết hợp giữa số lần đốt nóng và số lần ngâm. Sự diễn giải dƣới đây chỉ ra việc thủ tục LOGISTIC làm cho mô hình logit nhị phân phù hợp với dữ liệu gom nhóm:
data ingots;
input Heat Soak r n @@; datalines; 7 1.0 0 10 14 1.0 0 31 27 1.0 1 56 51 1.0 3 13 7 1.7 0 17 14 1.7 0 43 27 1.7 4 44 51 1.7 0 1 7 2.2 0 7 14 2.2 2 33 27 2.2 0 21 51 2.2 0 1 7 2.8 0 12 14 2.8 0 31 27 2.8 1 22 51 4.0 0 1 7 4.0 0 9 14 4.0 0 19 27 4.0 1 16 ;
proc logistic data=ingots; model r/n=Heat Soak; run;
Kết quả của phép phân tích này đƣợc chỉ ra ở bảng 3.3:
Bảng 3.3: kết quả của phép phân tích trong ví dụ về sử dụng logistic trong phân tích luyện kim
PROC LOGISTIC trƣớc tiên liệt kê các thông tin cơ bản về việc làm phù hợp của mô hình. Bao gồm tên của các tập dữ liệu vào, biến ( có thể là các biến)
độc lập đã sử dụng, số lƣợng quan sát đƣợc sử dụng, và hàm liên kết đƣợc sử dụng.
Bảng 3.4: hàm liên kết logistic sử dụng trong phân tích luyện kim
Bảng “Response Profile” trên liệt kê các tập mục kết quả ( những trƣờng hợp nào EVENT và trƣờng hợp nào NO EVENT khi dữ liệu gom nhóm là dữ liêu vào), Thứ tự các giá trị của chúng, và tổng số lần suất hiện đối với dữ liệu kết quả.
Bảng 3.5: Bảng tiêu chuẩn AIC phân tích luyện kim
Bảng trên chứa tiêu chuẩn AIC (Akaike Information Criterion), tiêu chuẩn SC (Schwarz Criterion), và âm hai lần của logarit xác suất điều kiện (-2 Log L)
đối với việc chặn mô hình và làm phù hợp mô hình. Các tiêu chuẩn AIC và SC có thể đƣợc sử dụng để so sánh các mô hình khác nhau, và những mô hình nào có giá trị của các chỉ số này thấp hơn đƣợc ƣa chuộng hơn. Kết quả của kiểm thử tỷ số xác suất điều kiện và kiểm thử tính hạng độ hiệu quả đối với việc kiểm thử kết hợp với sự quan trọng của các biến độc lập (ngâm và đốt nóng) đƣợc tổng hợp vào trong bảng “Giả thuyết kiểm thử Global Null: BETA = 0”.
Bảng 3.6: Bảng thống kê xac suất bác bỏ phân tích luyện kim
Bảng “Analysis of Maximum Likelikhood Estimates” trên liệt kê các ƣớc lƣợng tham số, các chuẩn lỗi của chúng, và kết quả của kiểm thử Wald đối với từng tham số riêng lẻ. Tỷ số odds đối với mỗi biến độ nghiêng, ƣớc lƣợng dựa trên số mũ của các tham số ƣơng lƣợng tƣơng ứng, đƣợc chỉ ra trong “các ƣớc lƣợng Tỷ số odds”, cùng với 95% các khoảng cách tin cậy Wald.
Sử dụng các ƣớc lƣợng tham số, chúng ta có thể tính logit đƣợc ƣớc lƣợng của p nhƣ là
-5.5592 + 0.082*Heat + 0.0568*Soak
Nếu Heat = 7 và Soak = 1, khi đó log( )µP 4.9284. Sử dụng ƣớc lƣợng logit
này, bạn có thể tính đƣợc µP nhƣ sau: µ 4.9284 1 0.0072 (1 ) P e
Công thức này đƣa ra xác suất đƣợc dự báo của sự kiện (thỏi vàng chƣa sẵn sàng để tán) đối với Heat = 7 và Soak =1. Nhớ rằng PROC LOGISTIC có thể
tính ra các con số thống kê này cho bạn; sử dụng câu lệnh OUTPUT với lựa chọn P.
Bảng 3.6: Bảng mô tả tính bao phủ mô hình logistic trong phân tích luyện kim
Sau cùng, bảng “Association of Predicted Probabilities and Observed Responses” chứa 4 chỉ số của sự kết hợp đối với việc truy cập khả năng dự báo của một mô hình. Chúng dựa trên số lƣợng các cặp quan sát với các giá trị phản hồi khác nhau, số lƣợng các cặp thích hợp, và số lƣợng các cặp không thích hợp, cũng đƣợc hiển thị.
Cú pháp sử dụng thủ tục logit trong các chƣơng trình:
PROC LOGISTIC < options >;
BY variables ;
CLASS variable <(v-options)> <variable <(v-options)>... > < / v-options >;
CONTRAST ’label’ effect values <,... effect values>< =options >;