Vì vậy, làm thế nào để bạn tính được β? Trực giác đằng sau hồi quy tuyến tính là bạn muốn tìm thấy những đường mà cực tiểu khoảng cách giữa các điểm và đường thẳng.
Nhiều đường trông giống gần đúng, nhưng mục tiêu của bạn là tìm ra một đường tối ưu. Tối ưu có nhiều nghĩa khác nhau, nhưng chúng ta hãy bắt đầu với tối ưu với nghĩa là đường thẳng, trung bình, là đóng kín (closest) với tất cả các điểm. Nhưng “đóng kín” có nghĩa gì ở đây?
|
Hình 3.4. Đường đóng đến tất cả các điểm
Hãy nhìn vào hình 3.4, hồi quy tuyến tính nhằm tìm kiếm đường mà cực tiểu hóa tổng các bình phương của khoảng cách thẳng đứng giữa xấp xĩ hoặc dự đoán yis hoặc quan sát yis. Bạn làm điều này bởi vì bạn muốn giảm thiểu các lỗi dựđoán của bạn. Phương pháp này được gọi là ước lượng bình phương tối thiểu (least squares estimation).
Để tìm đường này, bạn sẽ xác định "tổng bình phương còn lại - residual sum of squares - (RSS) “, ký hiệu , ta được:
( )2
Ở đây, i được lấy trên các điểm dữ liệu khác nhau. Nó là tổng bình phương của tất cả các khoảng cách thẳng đứng giữa các điểm quan sát được và bất kỳ đường thẳng cho trước. Lưu ý đây là một chức năng của β và bạn muốn tối ưu hóa đối với β để tìm đường tối ưu.
Để cực tiểu hóa (y- ) phân biệt nó liên quan đến với β và thiết lập nó bằng không, sau đó giải quyết cho β. Điều này dẫn đến:
Ở đây biểu tượng nhỏ "mũ" trên đầu của β là để chỉ ra rằng đó là ước lượng cho β. Bạn không biết giá trị thực của β; tất cả những gì bạn có là dữ liệu quan sát, mà plug vào dự đoán để có được một ước tính.
Để thực sự phù hợp cho điều này, để có được βs, tất cả những điều là một đường ở mã R, ở đây bạn đã có một cột của y và một cột của x:
model <- lm(y x)
Vì vậy, cho các ví dụ, ở đây vài hàng đầu tiên của dữ liệu là:
x y
7 276
3 43
4 82
6 136
10 417
9 269
Mã R cho điều này có thể :
> model <- lm (y~x)
> model
Call:
lm(formula = y ~ x)
Coefficients:
(Intercept) x
-32.08 45.92
> coefs <- coef(model)
> plot(x, y, pch=20,col="red", xlab="Number new friends",
ylab="Time spent (seconds)")
> abline(coefs[1],coefs[2])
|
Hình 3.5. Bên trái là đường thích hợp. Chúng ta có thể thấy rằng đối với bất kỳ giá trị cố định, giả sử 5 thì sẽ cho giá trị y khác nhau. Nghĩa là với một người có 5 người bạn mới, chúng ta hiển thị thời gian chúng trãi qua ở bên phải.
Nhưng đó là vào bạn, các nhà khoa học dữ liệu, cho dù bạn nghĩ rằng bạn muốn thực sự sử dụng mô hình tuyến tính này để mô tả mối quan hệ hoặc dự đoán kết quả mới. Nếu x mới nhận giá trị 5, nghĩa là người dùng có năm người bạn mới, làm thế nào bạn tự tin giá trị đầu ra -32,08 + 45,92 * 5 = 195,7 giây?
Để có được câu hỏi này của sự tự tin, bạn cần mở rộng mô hình của bạn. Bạn biết có sự thay đổi giữa thời gian dành cho trang web của người dân với 5 người bạn mới, có nghĩa là bạn chắc chắn sẽ không làm cho tuyên bố rằng tất cả mọi người với 5 người bạn mới được đảm bảo để dành 195,7 giây trên trang web. Vì vậy, mô hình cho đến nay là mô hình xu hướng, chưa có mô hình biến.
Mở rộng bình phương nhỏ nhất (least squares)
Bây giờ bạn có một mô hình hồi quy tuyến tính đơn giản (một đầu ra, một yếu tố dự báo) sử dụng phương pháp ước lượng bình phương tối thiểu để ước tính dự toán βs của bạn, bạn có thể xây dựng dựa trên mô hình đó trong ba cách cơ bản, được mô tả trong những phần tiếp theo:
1. Thêm vào giả định mô hình về các lỗi
2. Bổ sung thêm trong đó các dự đoán
3. Việc chuyển đổi các dự đoán
Thêm vào mô hình giả định về các lỗi
Nếu bạn sử dụng mô hình của bạn để dự đoán y, cho một giá trị của x, dự đoán của bạn là xác định và không nắm bắt được biến thay đổi trong các dữ liệu quan sát được. Xem trên phía bên phải của hình 3.5, đối với một giá trị cố định x = 5, có sự biến đổi trong thời gian trên trang web. Bạn muốn thu được biến đổi này trong mô hình của bạn, vì vậy cần bạn mở rộng mô hình của bạn để:
Ở đây, mới hạn được gọi là nhiễu (noisy), là những thứ mà bạn chưa tính được bởi các mối quan hệ bạn đã tìm ra cho đến nay. Nó cũng được gọi là sai số hạn (error term), ε đại diện cho các lỗi thực tế, sự khác biệt giữa các quan sát và đường hồi quy thực, là thứ bạn sẽ không bao giờ biết và chỉ có thể ước tính với βs của bạn.
Người ta thường thực hiện cho các mô hình giả định với nhiễu, được phân phối thông thường, được ký hiệu là:
· Lưu ý rằng, đôi khi, đây không phải là một giả định hợp lý. Nếu bạn đang đối phó với một phân phối fat-tailed, và nếu mô hình tuyến tính của bạn được chọn chỉ là một phần nhỏ của giá trị biến y, thì những sai số tới hạn có khả năng cũng fat-tailed. Đây là tình trạng phổ biến nhất trong mô hình tài chính.
Đó không phải là để nói rằng chúng ta không sử dụng hồi quy tuyến tính trong mô hình. Chúng tôi chỉ không đính kèm giả định "noise is normal" cho nó.
Với giả định trước đây về sự phân bố của nhiễu, mô hình này cho rằng, đối với bất kỳ giá trị nào của x, phân phối có điều kiện của y được cho bởi x là:
Vì vậy, với ví dụ trên, trong số các thiết lập của người có 5 người bạn mới trong tuần này, số lượng thời gian họ trên trang web có phân phối chuẩn với trung bình: * và một phương sai , và bạn đi để ước tính các thông số của bạn , , từ dữ liệu.
Làm thế nào để bạn có lựa chọn phù hợp với mô hình này? Làm thế nào để bạn có được các thông số , , từ dữ liệu ?
· Thực tế, chỉ ra rằng không có vấn đề như thế nào εs được phân phối, phương pháp ước lượng bình phương tối thiểu, bạn đã sẵn có ước lượng tối ưu cho βs bởi vì chúng có các thuộc tính không thiên vị (unbiased) và được ước lượng bởi phương sai tối thiểu. Nếu bạn muốn biết thêm về các thuộc tính và thấy một bằng chứng cho điều này, chúng tôi giới thiệu bạn đến bất kỳ cuốn sách tốt về suy luận thống kê (chẳng hạn, cuốn sách “Statistical Inference” của các tác giả Casella vàBerger).
Vì vậy, những gì bạn có thể làm đối với dữ liệu quan sát để ước lượng sai sót của phương sai? Bây giờ bạn có đường ước tính, bạn có thể thấy, làm thế nào để cách xa các điểm dữ liệu quan sát được từ đường chính nó, và bạn có thể điều chỉnh những khác biệt này, còn được gọi là lỗi quan sát (observed errors) hoặc phần dư (residuals), hoặc ước tính của các lỗi thực tế εs.
Định nghĩa với i= 1, 2,…, n
Sau đó, ước tính phương sai của ϵ với công thức :
· Tại sao chúng ta chia cho n-2? Một câu hỏi tự nhiên. Chia cho n-2, chứ không phải là n, quá trình này được gọi là một ước lượng không thiên vị (unbiased estimator). 2 ở đây, tương ứng với số lượng tham số mô hình. Ở đây một lần nữa, cuốn sách của Casella và Berger là một nguồn tài nguyên tuyệt vời cho vấn đề này.
Điều này được gọi là sai số bình phương trung bình (mean squared error) và chiếm bao nhiêu giá trị dự đoán thay đổi từ quan sát. Sai số bình phương trung bình là một số lượng hữu ích cho bất kỳ vấn đề dự đoán nào. Trong hồi quy nói riêng, nó cũng là một ước lượng cho phương sai của bạn, nhưng nó có thể không phải luôn luôn được sử dụng hoặc giải thích theo cách đó. Nó xuất hiện trong các chỉ số đánh giá ở phần sau.
Đánh giá metrics
Chúng tôi hỏi trước đó, bạn có tự tin bạn sẽ có trong những ước tính và mô hình của bạn. Bạn có cặp giá trị đầu ra của hàm R, giúp bạn tự tin nhận được giá trị dự đoán: p và R-squared. Trở lại với mô hình của chúng tôi trong R, nếu chúng ta gõ vào summar(model), đó là tên chúng tôi đã cung cấp cho mô hình này, đầu ra sẽ là:
summary (model) Call:
lm(formula = y ~ x)
Residuals:
Min 1Q Median 3Q Max
-121.17 -52.63 -9.72 41.54 356.27
Coefficients:
Estimate Std. Error t value Pr(>|t|) (Intercept) -32.083 16.623 -1.93 0.0565 .
x 45.918 2.141 21.45 <2e-16 ***
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 77.47 on 98 degrees of freedom Multiple R-squared: 0.8244, Adjusted R-squared: 0.8226 F-statistic:460 on 1 and 98 DF, p-value: < 2.2e-16
R-squared
Điều này có thể được giải thích như là tỷ lệ của phương sai bằng mô hình của chúng tôi. Lưu ý rằng sai số bình phương trung bình, là lỗi ở đó được chia cho tổng số lỗi, đó là tỷ lệ phương sai không giải thích được bằng mô hình của chúng tôi và chúng tôi tính toán trừ đi 1.
p-values
Nhìn vào các đầu ra, các ước số βs trong cột đánh dấu Estimate. Để xem các giá trị p, nhìn vào Pr> t. Chúng tôi có thể giải thích các giá trị trong cột này như sau: Chúng tôi đang làm cho một giả thuyết rằng βs là zero. Đối với bất kỳ β xác định, các giá trị p nhận được xác suất quan sát các dữ liệu mà chúng tôi quan sát, thu thập và kiểm tra số liệu thống kê mà chúng tôi thu được theo giả thuyết null. Điều này có nghĩa rằng nếu chúng ta có một giá trị p thấp, thì nó là rất khó để quan sát một thống kê kiểm tra như vậy theo giả thuyết, và hệ số là rất có khả năng là khác không.
Cross-validation
Một cách tiếp cận khác để đánh giá các mô hình như sau. Chia dữ liệu của chúng ta lên thành một tập huấn luyện và một bộ kiểm tra: 80% trong việc đào tạo và 20% trong các thử nghiệm. Lựa chọn với những mô hình trên tập huấn luyện, sau đó nhìn vào sai số bình phương trung bình trên tập kiểm tra và so sánh nó với trên tập huấn luyện. Hãy thực hiện so sánh này trên cỡ mẫu là tốt. Nếu sai số bình phương trung bình này là xấp xỉ như nhau, thì mô hình của chúng tôi khái quát tốt và chúng tôi không có nguy cơ overfitting. Hãy xem hình 3.6 để hiểu những gì có thể trông giống như vậy. Cách tiếp cận này là rất được khuyến khích.
|
Hình 3.6. So sánh lỗi bình phương trung bình trong huấn luyện và kiểm thử, lấy từ một slide của giáo sư Nando de Freitas
Các mô hình khác với các điều kiện lỗi
Các sai số bình phương trung bình là một ví dụ về những gì được gọi là hàm mất mát (loss function). Đây là một trong những tiêu chuẩn để sử dụng trong hồi quy tuyến tính bởi vì nó mang lại cho chúng ta một biện pháp khá tốt của đo lường chặt chẽ ở sự phù hợp. Nó được bổ sung bằng để mô tả các thuộc tính mà εs được phân phối thông thường, chúng ta có thể dựa vào các nguyên tắc khả năng tối đa. Có những hàm mất mát khác như một dựa trên giá trị tuyệt đối chứ không phải là bình phương. Nó cũng có thể xây dựng các chức năng bị mất tùy chỉnh cụ thể cho vấn đề hay bối cảnh cụ thể của bạn, nhưng bây giờ.
Thêm dự đoán khác (Adding other predictors)
Những gì chúng ta trình bày ở trên, chỉ hồi quy tuyến tính đơn giản mà một kết quả hay biến phụ thuộc và một yếu tố dự báo. Nhưng chúng ta có thể mở rộng mô hình này bằng cách xây dựng trong dự đoán khác, được gọi là hồi quy tuyến tính đa biến (multiple linear regression):
Tất cả các môn toán mà chúng tôi đã làm trước khi nắm giữ bởi vì chúng tôi đã thể hiện nó trong ký hiệu ma trận, vì vậy nó đã được khái quát hóa để cung cấp cho các ước lượng thích hợp cho β. Trong ví dụ, chúng tôi đã đưa ra thời gian dành cho các trang web dự đoán, các chỉ báo khác có thể là tuổi tác và giới tính của người sử dụng, ví dụ.
Chúng ta sẽ khám phá lựa chọn tính năng hơn trong Chương 7, có nghĩa là việc chỉ ra các yếu tố dự báo bổ sung mà bạn muốn đưa vào mô hình của bạn. Mã R sẽ chỉ là:
model <- lm(y ~ x_1 + x_2 + x_3)
Hoặc để thêm vào trong tương tác giữa các biến:
model <- lm(y ~ x_1 + x_2 + x_3 + x2_*x_3)
Một vấn đề chính ở đây là làm cho các điểm phân tán của y đối với từng dự đoán cũng như giữa các yếu tố dự báo, và biểu đồ của y|x cho các giá trị khác nhau của từng dự đoán để giúp xây dựng trực giác. Như với hồi quy tuyến tính đơn giản, bạn có thể sử dụng cùng một phương pháp để đánh giá mô hình của bạn như đã mô tả: nhìn vào R2, giá trị p và sử dụng tập huấn luyện và tập kiểm thử.
Các phép biến đổi (Transformations)
Trở lại với một giá trị x và giá trị dự đoán y, tại sao chúng ta giả định một mối quan hệ tuyến tính? Thay vào đó, có thể, một mô hình tốt hơn sẽ là một mối quan hệ đa thức như thế này:
Quan hệ này, không phải là hồi quy tuyến tính? Thời gian qua, chúng tôi đã kiểm tra, đa thức không tuyến tính. Để nghĩ về nó như là tuyến tính, chúng ta chuyển đổi hoặc tạo ra các biến mới, ví dụ, z = x2 và xây dựng một mô hình hồi quy dựa trên z. Những biến đổi thông thường khác thường gặp là để có những bản ghi hoặc chọn một ngưỡng và biến nó thành một yếu tố dự báo nhị phân để thay thế.
Nếu bạn nhìn vào biểu đồ của thời gian so với số lượng bạn bè, hình dạng trông hơi cong. Bạn có khả năng có thể khám phá điều này hơn nữa bằng việc xây dựng một mô hình và kiểm tra để xem liệu điều này mang lại một sự cải tiến đáng kể nào không.
Những gì bạn đang phải đối mặt ở đây, mặc dù, là một trong những thách thức lớn nhất đối với một mô hình mẫu: bạn không bao giờ biết được sự thật. Có thể là các mô hình thực sự là bậc hai, nhưng bạn đang giả định tuyến tính hoặc ngược lại. Bạn làm tốt nhất những gì bạn làm để đánh giá các mô hình như đã thảo luận trước đó, nhưng bạn sẽ không bao giờ thực sự biết nếu bạn đang đúng. Ngày càng có nhiều dữ liệu đôi khi có thể giúp đỡ trong vấn đề này là tốt.
» Tin mới nhất:
» Các tin khác: