Cách hồi quy tuyến tính hoạt động

Hồi quy trung cấp với R

Richie Cotton

Data Evangelist at DataCamp

Biểu đồ hồi quy tuyến tính đơn chuẩn

Biểu đồ phân tán với đường xu hướng hồi quy tuyến tính.

Hồi quy trung cấp với R

Trực quan hóa phần dư

Biểu đồ phân tán với đường xu hướng hồi quy tuyến tính, kèm các đoạn thẳng từ điểm đến đường xu hướng, biểu diễn phần dư.

Hồi quy trung cấp với R

Chỉ số cho mức độ khớp tốt nhất

Ý tưởng đơn giản nhất (không hiệu quả)

  • Cộng tất cả phần dư.
  • Một số phần dư âm.

Ý tưởng đơn giản tiếp theo (hiệu quả)

  • Bình phương từng phần dư rồi cộng lại.
  • Gọi là tổng bình phương.
Hồi quy trung cấp với R

Ngoặt sang tối ưu hóa số

Biểu đồ đường của một phương trình bậc hai

xy_data <- tibble(
  x = seq(-4, 5, 0.1),
  y = x ^ 2 - x + 10
)

ggplot(xy_data, aes(x, y)) + 
  geom_line()

line-quad.png

Hồi quy trung cấp với R

Dùng giải tích để giải phương trình

$y = x ^ 2 - x + 10$

$\frac{\partial y}{\partial x} = 2 x - 1$

$0 = 2 x - 1$

$x = 0.5$

$y = 0.5 ^ 2 - 0.5 + 10 = 9.75$

  • Không phải phương trình nào cũng giải được như vậy.
  • Hãy để R tính giúp.

nghiệm của đường thẳng và hàm bậc hai

Hồi quy trung cấp với R

optim()

calc_quadratic <- function(x) {
  x ^ 2 - x + 10
}
optim(par = 3, fn = calc_quadratic)
$par
[1] 0.4998047

$value
[1] 9.75

$counts
function gradient 
      30       NA 

$convergence
[1] 0

$message
NULL
Hồi quy trung cấp với R

Tinh chỉnh nhẹ

calc_quadratic <- function(coeffs) {
  x <- coeffs[1]
  x ^ 2 - x + 10
}
optim(par = c(x = 3), fn = calc_quadratic)
$par
        x 
0.4998047 

$value
[1] 9.75

$counts
function gradient 
      30       NA 

$convergence
[1] 0

$message
NULL
Hồi quy trung cấp với R

Thuật toán hồi quy tuyến tính

  1. Định nghĩa hàm tính chỉ số tổng bình phương.
  2. Gọi optim() để tìm hệ số làm nhỏ nhất hàm đó.
calc_sum_of_squares <- function(coeffs) {

intercept <- coeffs[1] slope <- coeffs[2]
# More calculation!
}
optim(
  par = ???,
  fn = ???
)
Hồi quy trung cấp với R

Hãy luyện tập!

Hồi quy trung cấp với R

Preparing Video For Download...