Chào mừng đến với BIS Đăng nhập | Đăng ký | Trợ giúp
trong Tìm kiếm

Mô hình hồi qui

Bài cuối 08-29-2012 09:23 PM của chucnv. 2 trả lời.
Trang 1 trong số 1 (3 nội dung)
Sắp xếp bài viết: Trước Tiếp theo
  • 02-27-2011 10:15 PM

    • chucnv
    • 10 thành viên năng nổ nhất
    • Tham gia 12-05-2008
    • Điểm 28,320

    Mô hình hồi qui

    Mô hình hồi qui (Regression Model)

    Nguyễn Văn Chức – chucnv@ud.edu.vn

    1. Giới thiệu về mô hình hồi qui

    Giả sử rằng có dữ liệu về dân số (đơn vị tính là trăm ngàn) của một thành phố trong 20 năm (theo điều tra dân số với khoảng cách 5 năm) như bảng 1. Bạn muốn dự đoán dân số của thành phố đó trong năm 2005. Câu hỏi đặt ra là làm sao để dự đoán dân số đó ?. Có rất nhiều cách dự đoán tương lai dựa vào dữ liệu lịch sử, trong phần này giới thiệu một phương pháp rất phổ biến để dự đoán được gọi mô hình hồi qui (Regression Model).

    Table 1. Dữ liệu cho phân tích hồi qui


    Từ hình trên, ta thấy rằng 5 điểm dường như có mối quan hệ tuyến tính (Linear Relationship). Có nghĩa là chúng ta có thể mô hình mối quan hệ tuyến tính này bằng một đường thẳng (straight line). Bạn có thể đoán rằng một đường thẳng đó đi qua tất cả các điểm, tuy nhiên không nhất thiết là đường thẳng đó phải đi qua tất cả các điểm của dữ liệu nhưng nó phải là mô hình tốt nhất mà chúng ta sử dụng để mô tả dữ liệu. Vấn đề ở đây là tìm ra một mô hình (đường thẳng) tốt nhất để mô tả 5 điểm dữ liệu đã cho.

    Hình sau đây đề xuất một số mô hình có thể dùng để mô tả 5 điểm dữ liệu đã cho:

    ·        Đường màu xanh đậm (Blue line): P=0.16*Year-314.7

    ·        Đường màu đỏ (Red line): P=0.136*Year-267.2

    ·        Đường màu xanh lá cây (Green line): P=0.188*Year-370.58

    Nếu ta tìm được mô hình tốt nhất để mô tả dữ liệu thì chúng ta có thể sử dụng mô hình đó dự đoán dân số của năm 2005. Vấn đề đặt ra là trong 3 mô hình trên thì mô hình nào là tốt nhất để mô tả 5 điểm dữ liệu đã cho. Để xác định mô hình nào tốt nhất, ta cần đưa ra điều kiện để đánh giá mô hình tốt nhất. Chẳn hạn, bạn có thể đề xuất tiêu chuẩn để đánh giá mô hình như sau:

    ·        Mô hình tốt nhất nên đi qua hầu hết các điểm dữ liệu

    ·        Mô hình tốt nhất nên đi qua điểm đầu tiên của dữ liệu (như Blue Line và Red Line)

    ·        Mô hình tốt nhất nên ở giữa tất cả các điểm dữ liệu (như Red Line)

    Chúng ta có thể đặt ra nhiều tiêu chí, nhưng vấn đề là làm sao chúng ta biết tiêu chí nào là tốt nhất (best). Vì vậy chúng ta cần một điều kiện khách quan hơn là điều kiện được đưa ra bởi chủ quan. Điều kiện khách quan cần được đo lường (Measurable). Chúng ta có thể đo lường lỗi (Error, mistake) giữa kết quả của mô hình (giá trị dự đoán) và dữ liệu thực tế đã có. Hình dưới đây cho biết cách đo lường lỗi. Khi dữ liệu thực tế ở trên mô hình, chúng ta nói đó là lỗ dương (Positive Error), ngược lại ta có lỗi âm (Negative Error)

    Các bạn có thể nói rằng chúng ta tính tổng tất cả các lỗi và mô hình tốt nhất là mô hình sinh ra lỗi nhỏ nhất. Điều này nghe có vẻ hợp lý nhưng nếu bạn tính tổng các lỗi sinh ra bổi mô hình thì có thể tổng này bằng 0 (vì các lỗi có thể âm hoặc dương). Làm sao để giải quyết vấn đề này?

    Để giải quyết vấn đề này, các nhà khoa học về toán học, thống kê học đã chỉ ra rằng mô hình tốt nhất là mô hình có tổng bình phương các lỗi (Sum Square Error - SSE ) nhỏ nhất. Khi tính tổng bình phương lỗi thì không quan tâm đến lỗi dương hay lỗi âm.

    Bây giờ chúng ta đo lường tổng bình phương lỗi giữa 3 đường đề nghị. Ta thấy rằng đường màu đỏ (red line) có tổng bình phương lỗi nhỏ nhất (SSE =0.09) trong 3 đường.

     


    Về mặt toán học,  mô hình hồi qui tuyến tính được mô tả như sau:

    Ta ký hiệu  là trung bình của y

     là ước lượng của ,

    Phương trình hồi qui tuyến tính:

      Trong đó:

    Slope (độ dốc) được tính bởi công thức

    Intercept (hệ số chặn), được tính bởi công thức :

    Về mặt hình học, độ dốc (Slope hay Gradient)và hệ số chặn (intercept) của đường thẳng được minh họa như sau:

    Slope (Gradient)
     

    Intercept: Giá trị của Y khi x bằng 0
     

    Đối với dữ liệu về dân số trong ví dụ trên, ta có mô hình tốt nhất (best line) để dự đoán dân số trong các năm tiếp theo là: Population = 0.136*Year – 267.2

    Bây giờ ta có thể sử dụng mô hình này để dự đoán dân số cho năm 2005 là

    Population(2005)= 0.136*2005-267.2 = 5.48 (đơn vị tính là trăm ngàn người).

    Có rất nhiều chỉ số có thể được sử dụng để đánh giá sự phù hợp (fitness) của mô hình  hồi qui. Sau đây là các chỉ số thường dùng để đánh giá mô hình:

    ·        R-squared

    ·        Adjusted R-squared

    ·        Standard Error

    ·        F statistics

    ·        t statistics

    R-squared:  

    SSE (Sum of Square Error):

    SST(Sum of Square Total):

    Adjusted R -Square:

    Trong đó

     MSE (Mean Square Error):

    MST (Mean Square Total):

     n: tổng số mẫu

    Quan hệ giữa R-squared  và adjusted R-squared :

    Trong đó, q là số hệ số (coefficent) trong mô hình. Thông thường R-squared  hoặc adjusted R-squared >0.8 thì mô hình dự đoán tuyến tính được xem là tốt. Nếu R-squared  <0.5 thì ta nên sử dụng mô hình khác (không tuyến tính) vì mô hình tuyến tính không phù hợp để dự đoán

    Sai số chuẩn SE(Standard Error) :

    2. Sử dụng MS Excel để phân tích hồi qui tuyến tính

    Excel xây dựng 2 hàm SLOPE (để tính độ dốc) và INTERCEPT để tính hệ số chặn.

    Giả sử ta có dữ liệu về dân số (đơn vị tính: trăm ngàn người) như sau và ta cần dự đoán dân số cho năm 2005 như sau:

    Hệ số độ dốc Slope được tính bằng công thức sau :

     =SLOPE(B3:B7,A3:A7), kết quả: 0.136.

    Hệ số chặn intercept được tính như sau:

     =INTERCEPT(B3:B7,A3:A7), kết quả: -267.20.

    Phương trình hồi qui : Population = Year*0.136 – 267.2

    Để dự đoán dân số 2005, ta thay Year =2005 ta có

    Population(2005) = 2005*0.136-267.20 = 5.48.

    3. Sử dụng Data Analysis Add-Ins for Linear Regression trong Excel

    MS Excel có công cụ phân tích số dữ liệu rất hữu ích, trong đó có phân tích hồi qui. Đây là module add – ins, để sử dụng Menu này nếu máy bạn chưa cài thì vào menu Tools – Add Ins – check Analysis Tool pack  rồi bấm OK.  Vào lai Menu Tool, menu Data Analysis  nằm phía dưới cùng.

    Để sử dụng Regression từ Data Analysis:

    1. Click menu Tools – Data Analysis, chọn regression và bấm OK

    1.                             Xuất hiện Regression dialog, điền các vùng dữ liệu cho biến phụ thuộc Y(population) và biến độc lập X (year) và bấm OK

    3. Kết quả của phân tích hồi qui bằng Data Analysis

    Đầu tiên, chúng ta cần kiểm tra các hệ số Slope và Intercept trong bảng kết quả, slope = 0.136, intercept = -267.2   nên mô hình hồi qui ta có là:

    Population = 0.136*Year – 267.2

    Tiếp theo, cần kiểm tra mô hình hồi qui có thỏa mãn tất cả 3 điều kiện sau hay không

    1.     The R square > 0.80

    2.     The significant F (from ANOVA) <0.05

    3.     Giá trị tuyệt đối của t-statistics phải lớn hơn  1.96  với =0.05 và lớn hơn 1.645 với =0.10

    Ta thấy rằng mô hình hồi qui thỏa cả 3 điều kiện trên nên ta có thể sử dụng mô hình này để dự đoán dân số cho năm 2005.

    Population = 0.136*Year – 267.2= 0.136*2005 – 267.2 = 5.48 (trăm ngàn người)

    • Điểm chủ đề: 35
  • 08-29-2012 02:55 PM trả lời

    • tungnt
    • 200 thành viên năng nổ nhất
    • Tham gia 08-29-2012
    • Điểm 155

    Re: Mô hình hồi qui

    Anh Chức giới thiệu thêm giúp mô hình hồi quy không tham số hoặc với những bài toán có số chiều cực lớn đến hàng ngàn ( Non-parametric regression techniques,  Regression problem for high dimensional data).

    Cảm ơn anh!
     
    Anyone who stops learning is old, whether at twenty or eighty.
    • Điểm chủ đề: 35
  • 08-29-2012 09:23 PM trả lời

    • chucnv
    • 10 thành viên năng nổ nhất
    • Tham gia 12-05-2008
    • Điểm 28,320

    Re: Mô hình hồi qui

    Chào anh,
    Mình không tìm hiểu nhiều về các mô hình hồi qui. Nghiên cứu mô hình hồi qui phi tham số trên dữ liệu nhiều chiều khá phức tạp và thú vị. Với dữ liệu nhiều chiều (High Dimensions) mình chỉ tìm hiểu một số thuật toán nhằm biểu diễn dữ liệu nhiều chiều sao cho dễ hiểu (tìm cách làm giảm số chiều của dữ liệu).
    Nếu anh có bài viết nào về vấn đề này thì chia sẻ cho diễn đàn tham khảo với.
    Cảm ơn anh,
    Chúc anh thành công.
     
    • Điểm chủ đề: 20
Trang 1 trong số 1 (3 nội dung)
Powered by Community Server (Commercial Edition), by Telligent Systems