Tiền tài biết đủ, thân không nhục - Danh lợi không tham, đức mới cao - Đời không sóng gió, tâm không sáng - Đạo chẳng gian nan đạo chẳng thành

Thứ Năm, 16 tháng 2, 2012

NLREG - Giới Thiệu

Phần 1. Giới thiệu tổng quát về NLREG
1. Giới thiệu về Phân tích hồi quy
Mục tiêu của phân tích hồi qui là xác định giá trị các tham số của mô hình. Trong hồi quy tuyến tính, mô hình là một đường thẳng. Ví dụ, nếu chúng ta giả định giá trị giảm của một chiếc ô tô là số tiền cố định bị giảm đi sau mỗi năm kể từ lúc mua và mỗi dặm đường đã đi. Hàm tuyến tính như sau sẽ dự báo giá trị của nó (biến phụ thuộc phía bên trái của dấu bằng) phụ thuộc vào 2 biến độc lập Age và Miles:

Value = Price + Depage*Age + Depmiles*Miles

Ở đây: Value: là biến phụ thuộc, là giá trị của chiếc xe

                        Age : là số tuổi của chiếc xe kể từ lúc mua

                        Miles: là số dặm mà chiếc xe đã chạy.

                        Price : giá xe khi còn 0 tuổi, chưa bán

Các phân tích hồi qui được thực hiện bởi NLREG sẽ xác định các giá trị tốt nhất cho ba tham số:

Price : giá trị ước tính khi tuổi là 0 (tức là, khi chiếc xe được mới),

Depage: các khấu hao cho mỗi năm

Depmiles: các khấu hao cho mỗi dặm đã đi.  

Trong vấn đề ở ví dụ trên, bạn phải cung cấp một file dữ liệu chứa các giá trị biến phụ thuộc và độc lập do thu được từ khảo sát. Dữ liệu trong ví dụ này bao gồm nhiều hàng, mỗi hàng sẽ có ba số đại diện cho: Price, Age, Miles.

Số quan sát cung cấp càng nhiều, Giá trị ước tính của các tham số càng chính xác. Tập lệnh  để NLREG thực hiện hồi quy được thể hiện như sau:

Variables value,age,miles;                        //khai báo các biến

Parameters price,depage,depmiles;         //khai báo các tham số

Function value = price + depage*age + depmiles*miles;      

Data;                                                           //khai báo tập dữ liệu

(Giá trị dữ liệu điền ở đây)

 Một khi giá trị của các tham số được xác định, bạn có thể sử dụng hàm để dự đoán giá trị của một chiếc xe dựa trên biến Age và biến Miles đã cho trước. Ví dụ, nếu NLREG tính được 16.000 cho price, -1.000 cho depage, và -0,15 cho depmiles, vậy hàm dự báo theo 2 biến Age và Miles như sau:

value = 16000 - 1000*age - 0.15*miles

Nếu tồn tại độ phù hợp hoàn hảo giữa việc chọn hàm và các dữ liệu đầu vào, thì giá trị thực của mỗi chiếc xe trong tập tin dữ liệu của bạn sẽ bằng với giá trị dự đoán. Tuy nhiên, đây là trường hợp không thể xảy ra, mà trường hợp xảy ra là: luôn tồn tại sự khác biệt giữa giá trị thựcgiá trị dự đoán, điều này là do lỗi của các phép ước tính và sự khác biệt này được gọi là độ lệch  hay  phần dư.

 Mục tiêu của phân tích hồi qui là để xác định giá trị của tham số mà tổng bình phương phần dư bé nhất của tập dữ liệu quan sát.

2. Giới thiệu NLREG

NLREG là một chương trình phân tích hồi qui rất mạnh. Sử dụng nó, bạn có thể thực hồi quy hiện đa biến, hồi quy tuyến tính, hồi quy đa thức, hồi quy hàm mũ, hồi quy logistic, và hồi qui phi tuyến. Điều này có nghĩa là bạn chỉ định dạng hàm phù hợp cho dữ liệu, các hàm bạn chỉ định có thể bao gồm các điều kiện phi tuyến như tăng biến để tăng sức mạnh và cả những hàm trong thư viện như hàm log, hàm mũ, hàm sin… Đối với các phân tích phức tạp, NLREG cho phép bạn chỉ định những mô hình có phát biểu điều kiện (IF, ELSE), vòng lặp (FOR, DO, WHILE), biến công việc(work variables), và biến mảng.  

Trong ví dụ hồi quy phi tuyến, xét vấn đề khấu hao. Việc giảm giá trị của máy bay được áp dụng cho mỗi năm tuổi của nó. Giả sử giá trị của những chuyến bay ngang bằng với số tiền mỗi năm, một hàm tuyến tính đưa ra như sau:

value = p0 + p1*Age

Ở đây: p0 và  p1 là những tham số cần xác định. Tuy nhiên trong thực tế, máy bay (và cả ô tô) bị mất giá trị ở năm đầu nhiều hơn năm thứ 2 và nhiều hơn ở năm thứ 3… Nghĩa là hàm tuyến tính là một mô hình không chính xác trong tình huống này. Vì vậy để tốt hơn, hàm phi tuyến được kiến nghị như sau:

value = p0 + p1*exp(-p2*Age)

Phần nhiều các tiện ích trong NLREG xuất phát từ thực tế là bạn có thể nhập các hàm phức tạp bằng cách sử dụng các ký hiệu đại số . Ví dụ về các hàm có thể được xử lý bởi NLREG bao gồm:

Tuyến tính:        Y = p0 + p1*X

Bậc 2:     Y = p0 + p1*X + p2*X^2

Đa biến:  Y = p0 + p1*X + p2*Z + p3*X*Z

Hàm mũ:   Y = p0 + p1*exp(X)

Định chu kỳ (Periodic):      Y = p0 + p1*sin(p2*X)

Hàm Misc:          Y = p0 + p1*Y + p2*exp(Y) + p3*sin(Z)

Nói cách khác, hàm là một biểu thức tổng hợp liên quan đến một biến phụ thuộc với một hay nhiều biến độc lập, và một hoặc nhiều tham số có giá trị có thể ước tính.

            Lưu ý: Một số chương trình hồi quy khác yêu cầu thực hiện hồi quy phi tuyến, nhưng thực tế làm điều đó bằng cách chuyển đổi các giá trị của các biến sao cho hàm được chuyển đổi sang hình thức tuyến tính. Sau đó nó thực hiện hồi qui tuyến tính trên hàm tuyến tính vừa chuyển. Kỹ thuật này có một lỗ hổng lớn: nó sẽ xác định giá trị của tham số đó mà việc tối ưu phần dư bình phương cho hàm đã chuyển chứ không phải là hàm ban đầu. Điều này làm cho các giá trị ước tính của các tham số có thể không xử lý phù hợp tốt nhất với hàm ban đầu. NLREG sử dụng một kỹ thuật hồi quy phi tuyến thật sự. NLREG cũng có thể xử lý các hàm  mà hàm này không thể nào chuyển thành dạng tuyến tính được.

                                                                                                (Còn tiếp...........