MathLabs

Xác suất và Thống kê

Hồi quy

Mô hình hóa mối quan hệ giữa các biến để dự đoán một biến từ các biến còn lại.

Trực giácDự đoán một biến từ một biến khác

Giả sử bạn vẽ số giờ một nhóm học sinh ôn tập so với điểm thi họ đạt được. Các điểm không nằm gọn trên một đường thẳng hoàn hảo, nhưng chúng rõ ràng có xu hướng đi lên: ôn nhiều giờ hơn thường đi kèm điểm cao hơn. Hồi quy là công cụ biến đám mây điểm trôi dạt này thành một đường (hoặc một đường cong) khớp tốt nhất, để tóm tắt xu hướng và dự đoán điểm cho một số giờ ôn tập mới.

Đám điểm rải rác có xu hướng đi lên, với một đường thẳng khớp tốt nhất đi xuyên qua chúng, thể hiện hệ số góc và tung độ gốc của hồi quy tuyến tính đơn.
Hồi quy tuyến tính bình phương tối thiểu: đường thẳng màu cam cực tiểu hóa tổng bình phương các phần dư thẳng đứng (đoạn nét đứt) tới các điểm dữ liệu.

Đại họcMô hình hồi quy tuyến tính đơn

Định nghĩa: Hồi quy tuyến tính đơn

Cho dữ liệu theo cặp (x1,y1),…,(xn,yn)(x_1,y_1),\dots,(x_n,y_n), mô hình hồi quy tuyến tính đơn giả định yy phụ thuộc vào xx qua một đường thẳng cộng với nhiễu ngẫu nhiên: y=β0+β1x+ϵy=\beta_0+\beta_1x+\epsilon, trong đó β0\beta_0 là tung độ gốc, β1\beta_1 là hệ số góc, và ϵ\epsilon là số hạng sai số ngẫu nhiên có kỳ vọng 0, hấp thụ mọi thứ mà đường thẳng không nắm bắt được.

y=β0+β1x+ϵy=\beta_0+\beta_1x+\epsilon

Tung độ gốc β0\beta_0 và hệ số góc β1\beta_1 là các tham số tổng thể chưa biết: những con số cố định mà ta không bao giờ quan sát trực tiếp. Điều ta có là một mẫu gồm nn điểm dữ liệu, từ đó tính ra các ước lượng β^0\hat\beta_0 và β^1\hat\beta_1. Đường khớp y^=β^0+β^1x\hat y=\hat\beta_0+\hat\beta_1x là dự đoán tốt nhất của ta về đường thật, và với mỗi điểm dữ liệu, phần dư ei=yi−y^ie_i=y_i-\hat y_i đo mức đường khớp lệch khỏi quan sát đó.

β^1=∑i=1n(xi−xˉ)(yi−yˉ)∑i=1n(xi−xˉ)2,β^0=yˉ−β^1xˉ\hat\beta_1=\dfrac{\sum_{i=1}^n (x_i-\bar x)(y_i-\bar y)}{\sum_{i=1}^n (x_i-\bar x)^2},\qquad \hat\beta_0=\bar y-\hat\beta_1\bar x

Trong mọi đường thẳng y=b0+b1xy=b_0+b_1x, lựa chọn cực tiểu hóa tổng bình phương phần dư ∑i=1n(yi−b0−b1xi)2\sum_{i=1}^n (y_i-b_0-b_1x_i)^2 là b1=β^1=SxySxxb_1=\hat\beta_1=\dfrac{S_{xy}}{S_{xx}} và b0=β^0=yˉ−β^1xˉb_0=\hat\beta_0=\bar y-\hat\beta_1\bar x, trong đó Sxy=∑i=1n(xi−xˉ)(yi−yˉ)S_{xy}=\sum_{i=1}^n(x_i-\bar x)(y_i-\bar y) và Sxx=∑i=1n(xi−xˉ)2S_{xx}=\sum_{i=1}^n(x_i-\bar x)^2.

Vì sao đúng?

Tổng bình phương phần dư là một hàm trơn (bậc hai, lồi) theo b0b_0 và b1b_1, nên cực tiểu của nó nằm chính xác ở nơi cả hai đạo hàm riêng triệt tiêu — cùng ý tưởng như tìm đáy một cái bát bằng cách cho độ dốc bằng 0 theo mọi hướng.

Chứng minh

Đặt Q(b0,b1)=∑i=1n(yi−b0−b1xi)2Q(b_0,b_1)=\sum_{i=1}^n (y_i-b_0-b_1x_i)^2. Lấy đạo hàm riêng theo b0b_0 và cho bằng 0: ∂Q∂b0=−2∑i=1n(yi−b0−b1xi)=0\dfrac{\partial Q}{\partial b_0}=-2\sum_{i=1}^n(y_i-b_0-b_1x_i)=0, rút gọn thành phương trình chuẩn thứ nhất ∑i=1nyi=nb0+b1∑i=1nxi\sum_{i=1}^n y_i = nb_0+b_1\sum_{i=1}^n x_i, tức b0=yˉ−b1xˉb_0=\bar y-b_1\bar x.

Lấy đạo hàm riêng theo b1b_1 và cho bằng 0: ∂Q∂b1=−2∑i=1nxi(yi−b0−b1xi)=0\dfrac{\partial Q}{\partial b_1}=-2\sum_{i=1}^n x_i(y_i-b_0-b_1x_i)=0, phương trình chuẩn thứ hai ∑i=1nxiyi=b0∑i=1nxi+b1∑i=1nxi2\sum_{i=1}^n x_iy_i = b_0\sum_{i=1}^n x_i+b_1\sum_{i=1}^n x_i^2.

Thay b0=yˉ−b1xˉb_0=\bar y-b_1\bar x từ phương trình đầu vào phương trình thứ hai: ∑i=1nxiyi=(yˉ−b1xˉ)nxˉ+b1∑i=1nxi2=nxˉyˉ+b1(∑i=1nxi2−nxˉ2)\sum_{i=1}^n x_iy_i = (\bar y-b_1\bar x)n\bar x+b_1\sum_{i=1}^n x_i^2 = n\bar x\bar y+b_1\left(\sum_{i=1}^n x_i^2-n\bar x^2\right). Sắp xếp lại để tách b1b_1: b1(∑i=1nxi2−nxˉ2)=∑i=1nxiyi−nxˉyˉb_1\left(\sum_{i=1}^n x_i^2-n\bar x^2\right)=\sum_{i=1}^n x_iy_i-n\bar x\bar y.

Khai triển đại số trực tiếp cho thấy ∑i=1nxi2−nxˉ2=∑i=1n(xi−xˉ)2=Sxx\sum_{i=1}^n x_i^2-n\bar x^2=\sum_{i=1}^n(x_i-\bar x)^2=S_{xx} và ∑i=1nxiyi−nxˉyˉ=∑i=1n(xi−xˉ)(yi−yˉ)=Sxy\sum_{i=1}^n x_iy_i-n\bar x\bar y=\sum_{i=1}^n(x_i-\bar x)(y_i-\bar y)=S_{xy}, nên b1=Sxy/Sxxb_1=S_{xy}/S_{xx}. Thay ngược lại cho b0=yˉ−b1xˉb_0=\bar y-b_1\bar x. Vì QQ là tổng bình phương dạng toàn phương tăng không giới hạn khi ∣b0∣,∣b1∣→∞|b_0|,|b_1|\to\infty, điểm dừng duy nhất này chính là cực tiểu toàn cục.

Đại họcĐộ khớp mô hình: hệ số xác định

R2=1−SSESSTR^2=1-\dfrac{SSE}{SST}

Định nghĩa: Các tổng bình phương và R2R^2

Phân rã tổng biến động của yy thành ba tổng bình phương: SST=∑i=1n(yi−yˉ)2SST=\sum_{i=1}^n(y_i-\bar y)^2 (tổng), SSR=∑i=1n(y^i−yˉ)2SSR=\sum_{i=1}^n(\hat y_i-\bar y)^2 (được hồi quy giải thích), và SSE=∑i=1n(yi−y^i)2SSE=\sum_{i=1}^n(y_i-\hat y_i)^2 (còn lại là phần dư). Hệ số xác định R2=SSR/SST=1−SSE/SSTR^2=SSR/SST=1-SSE/SST là tỉ lệ biến động của yy mà đường thẳng giải thích được.

Trong hồi quy tuyến tính đơn, SST=SSR+SSESST=SSR+SSE, nên 0≤R2≤10\le R^2\le 1; hơn nữa R2R^2 bằng bình phương hệ số tương quan mẫu rr giữa xx và yy: R2=r2R^2=r^2.

Vì sao đúng?

Phần dư từ khớp bình phương tối thiểu luôn không tương quan với giá trị khớp, vì các phương trình chuẩn xác định β^0,β^1\hat\beta_0,\hat\beta_1 chính là điều kiện buộc điều này xảy ra. Tính trực giao đó chính là thứ khiến tổng biến động tách gọn thành phần "được giải thích" và phần "còn lại" mà không có số hạng chéo.

Chứng minh

Hai phương trình chuẩn từ định lý bình phương tối thiểu ở trên cho ∑i=1nei=0\sum_{i=1}^n e_i=0 và ∑i=1nxiei=0\sum_{i=1}^n x_ie_i=0, với ei=yi−y^ie_i=y_i-\hat y_i. Vì y^i=β^0+β^1xi\hat y_i=\hat\beta_0+\hat\beta_1x_i là tổ hợp tuyến tính của 11 và xix_i, hai phương trình chuẩn kết hợp cho ∑i=1neiy^i=β^0∑i=1nei+β^1∑i=1nxiei=0\sum_{i=1}^n e_i\hat y_i=\hat\beta_0\sum_{i=1}^n e_i+\hat\beta_1\sum_{i=1}^n x_ie_i=0. Kết hợp với ∑ei=0\sum e_i=0, ta được ∑i=1nei(y^i−yˉ)=∑eiy^i−yˉ∑ei=0\sum_{i=1}^n e_i(\hat y_i-\bar y)=\sum e_i\hat y_i-\bar y\sum e_i=0.

Bây giờ khai triển SST=∑i=1n(yi−yˉ)2=∑i=1n((yi−y^i)+(y^i−yˉ))2=∑ei2+2∑ei(y^i−yˉ)+∑(y^i−yˉ)2SST=\sum_{i=1}^n(y_i-\bar y)^2=\sum_{i=1}^n\big((y_i-\hat y_i)+(\hat y_i-\bar y)\big)^2=\sum e_i^2+2\sum e_i(\hat y_i-\bar y)+\sum(\hat y_i-\bar y)^2. Số hạng chéo triệt tiêu do tính trực giao vừa chứng minh, còn lại SST=SSE+SSRSST=SSE+SSR.

Vì SSE=∑ei2≥0SSE=\sum e_i^2\ge0 và SSR=∑(y^i−yˉ)2≥0SSR=\sum(\hat y_i-\bar y)^2\ge0, chia SST=SSR+SSESST=SSR+SSE cho SST>0SST>0 cho R2=SSR/SST∈[0,1]R^2=SSR/SST\in[0,1].

Cuối cùng, y^i−yˉ=β^1(xi−xˉ)\hat y_i-\bar y=\hat\beta_1(x_i-\bar x) (vì y^i=β^0+β^1xi\hat y_i=\hat\beta_0+\hat\beta_1x_i và yˉ=β^0+β^1xˉ\bar y=\hat\beta_0+\hat\beta_1\bar x), nên SSR=β^12SxxSSR=\hat\beta_1^2S_{xx}. Thay β^1=Sxy/Sxx\hat\beta_1=S_{xy}/S_{xx} cho SSR=Sxy2/SxxSSR=S_{xy}^2/S_{xx}, và vì SST=Syy=∑(yi−yˉ)2SST=S_{yy}=\sum(y_i-\bar y)^2, R2=Sxy2SxxSyy=(SxySxxSyy)2=r2R^2=\dfrac{S_{xy}^2}{S_{xx}S_{yy}}=\left(\dfrac{S_{xy}}{\sqrt{S_{xx}S_{yy}}}\right)^2=r^2, bình phương hệ số tương quan mẫu.

Ví dụ: Khớp đường thẳng với năm điểm dữ liệu

Một tập dữ liệu nhỏ có x=(1,2,3,4,5)x=(1,2,3,4,5) và y=(2,4,5,4,5)y=(2,4,5,4,5). Tìm đường bình phương tối thiểu và tính R2R^2.

Lời giải

Các trung bình là xˉ=3\bar x=3 và yˉ=4\bar y=4. Các độ lệch (xi−xˉ,yi−yˉ)(x_i-\bar x, y_i-\bar y) là (−2,−2),(−1,0),(0,1),(1,0),(2,1)(-2,-2),(-1,0),(0,1),(1,0),(2,1), nên Sxy=4+0+0+0+2=6S_{xy}=4+0+0+0+2=6 và Sxx=4+1+0+1+4=10S_{xx}=4+1+0+1+4=10.

Điều này cho β^1=Sxy/Sxx=6/10=0.6\hat\beta_1=S_{xy}/S_{xx}=6/10=0.6 và β^0=yˉ−β^1xˉ=4−0.6×3=2.2\hat\beta_0=\bar y-\hat\beta_1\bar x=4-0.6\times3=2.2, nên đường khớp là y^=0.6x+2.2\hat y=0.6x+2.2.

Với R2R^2: SST=∑(yi−yˉ)2=4+0+1+0+1=6SST=\sum(y_i-\bar y)^2=4+0+1+0+1=6, và SSR=β^12Sxx=0.36×10=3.6SSR=\hat\beta_1^2S_{xx}=0.36\times10=3.6, nên R2=SSR/SST=3.6/6=0.6R^2=SSR/SST=3.6/6=0.6 — đường thẳng giải thích được 60% biến động của yy.

Đại họcKiểm tra mô hình: phân tích phần dư

Khớp một đường thẳng thì dễ; tin tưởng nó lại đòi hỏi kiểm tra xem các giả thiết của mô hình có thực sự đúng không. Vẽ phần dư ei=yi−y^ie_i=y_i-\hat y_i theo xix_i (hoặc theo y^i\hat y_i) là chẩn đoán chuẩn: nếu mô hình tuyến tính phù hợp, đồ thị phần dư này phải trông giống một đám rải rác ngẫu nhiên, không cấu trúc, quanh 0, với độ trải rộng gần như không đổi.

Đọc đồ thị phần dư
Mẫu hình trong đồ thị phần dưĐiều nó gợi ý
Rải rác ngẫu nhiên quanh 0, độ trải đềuMô hình tuyến tính và giả thiết phương sai không đổi có vẻ hợp lý
Hình phễu/quạt (độ trải tăng theo xx)Phương sai không đồng nhất: giả thiết phương sai không đổi bị vi phạm
Mẫu cong (hình chữ U hoặc cung)Quan hệ thật là phi tuyến; đường thẳng sai hình dạng

Đại họcỨng dụng thực tiễn và ví dụ minh họa

Hồi quy là một trong những công cụ được dùng rộng rãi nhất trong khoa học ứng dụng: nhà kinh tế dùng nó để ước lượng mức độ một cổ phiếu biến động cùng thị trường chung, nhà sinh học dùng nó để liên hệ kích thước cơ thể động vật với tốc độ trao đổi chất, kỹ sư dùng nó để hiệu chuẩn thiết bị so với một chuẩn đã biết, và nhà dịch tễ học dùng nó để liên hệ liều thuốc với phản ứng đo được. Trong mọi trường hợp, cùng hai câu hỏi luôn xuất hiện: mô hình khớp tốt đến đâu (R2R^2), và đồ thị phần dư có lộ ra vấn đề ẩn nào không?

Ví dụ: Dự báo doanh số kem theo nhiệt độ

Một cửa hàng ghi lại nhiệt độ hằng ngày xx (°C) và doanh số kem yy (đơn vị) trong năm ngày: x=(20,25,30,35,40)x=(20,25,30,35,40), y=(30,45,55,65,80)y=(30,45,55,65,80). Khớp một đường hồi quy và dùng nó để dự báo doanh số tại x=32x=32°C.

Lời giải

Các trung bình là xˉ=30\bar x=30, yˉ=55\bar y=55. Độ lệch cho Sxy=(−10)(−25)+(−5)(−10)+0+5×10+10×25=250+50+0+50+250=600S_{xy}=(-10)(-25)+(-5)(-10)+0+5\times10+10\times25=250+50+0+50+250=600 và Sxx=100+25+0+25+100=250S_{xx}=100+25+0+25+100=250, nên β^1=600/250=2.4\hat\beta_1=600/250=2.4 và β^0=55−2.4×30=−17\hat\beta_0=55-2.4\times30=-17: đường khớp là y^=2.4x−17\hat y=2.4x-17.

Tại x=32x=32: y^=2.4×32−17=76.8−17=59.8\hat y=2.4\times32-17=76.8-17=59.8, nên cửa hàng nên kỳ vọng khoảng 60 đơn vị bán được.

Kiểm tra độ khớp: SST=625+100+0+100+625=1450SST=625+100+0+100+625=1450 và SSR=β^12Sxx=5.76×250=1440SSR=\hat\beta_1^2S_{xx}=5.76\times250=1440, nên R2=1440/1450≈0.993R^2=1440/1450\approx0.993 — nhiệt độ giải thích khoảng 99,3% biến động doanh số ở đây, một độ khớp thực tế bất thường chặt.

Ví dụ: Một R2R^2 cao nhưng vẫn giấu vấn đề

Một kỹ sư hiệu chuẩn một cảm biến áp suất mới bằng cách khớp reading=β0+β1⋅true pressure\text{reading}=\beta_0+\beta_1\cdot\text{true pressure} so với một thiết bị chuẩn qua nhiều mức áp suất, và được R2=0.95R^2=0.95 — có vẻ xuất sắc. Nhưng khi vẽ phần dư theo áp suất thật, lộ ra một đường cong hình chữ U rõ rệt: phần dư dương ở áp suất thấp và cao, âm ở giữa. Điều này nghĩa là gì, và kỹ sư nên làm gì?

Lời giải

Một R2R^2 cao chỉ nói rằng đường thẳng bám theo xu hướng tổng thể tốt; nó không chứng thực quan hệ là tuyến tính. Mẫu hình phần dư hình chữ U có hệ thống chính xác là dấu hiệu "mẫu cong" trong bảng chẩn đoán ở trên: nghĩa là quan hệ thật giữa giá trị đo và áp suất có độ cong mà đường thẳng không nắm bắt được — cảm biến nhiều khả năng có phản ứng bậc hai (hoặc phi tuyến khác) thật sự.

Vì mẫu hình có hệ thống chứ không ngẫu nhiên, thêm dữ liệu ở cùng các mức áp suất sẽ không sửa được — chính mô hình bị sai dạng, không chỉ là nhiễu. Việc phần dư vừa mang thông tin (có mẫu hình rõ) vừa nhỏ về số lượng (cho R2R^2 cao) cho thấy vì sao chỉ dựa vào R2R^2 là sai lầm cho một ứng dụng hiệu chuẩn nơi mục tiêu chính là độ chính xác.

Cách sửa là đổi mô hình, không chỉ khớp lại đường thẳng: thêm số hạng bậc hai (khớp reading=β0+β1⋅pressure+β2⋅pressure2\text{reading}=\beta_0+\beta_1\cdot\text{pressure}+\beta_2\cdot\text{pressure}^2) hoặc áp dụng một phép biến đổi vật lý đã biết của phản ứng cảm biến, rồi kiểm tra lại rằng đồ thị phần dư mới trông giống nhiễu không cấu trúc trước khi tin vào hiệu chuẩn.

Cho Sxy=50S_{xy}=50 và Sxx=25S_{xx}=25 của một tập dữ liệu, β^1\hat\beta_1 bằng bao nhiêu?

Nếu R2=0.81R^2=0.81 cho một hồi quy, tỉ lệ biến động của yy chưa được giải thích bởi mô hình tuyến tính là bao nhiêu?

Một đồ thị phần dư có hình phễu rõ rệt, rộng dần khi xx tăng. Điều này cho biết gì?

Một mô hình bất động sản khớp price=β^0+β^1⋅sqft\text{price}=\hat\beta_0+\hat\beta_1\cdot\text{sqft} (giá tính bằng nghìn đô la) với β^0=20\hat\beta_0=20 và β^1=0.15\hat\beta_1=0.15. Mô hình dự đoán giá bao nhiêu cho một căn nhà 1500 sqft?