R Hồi quy đơn giản, nhiều tuyến tính và từng bước (có ví dụ)

Mục lục:

Anonim

Trong hướng dẫn này, bạn sẽ học

  • Hồi quy tuyến tính cơ bản
  • Hồi quy nhiều tuyến tính
  • Các biến liên tục
  • Hồi quy các yếu tố
  • Hồi quy từng bước
  • Máy học
  • Học tập có giám sát
  • Học tập không giám sát

Hồi quy tuyến tính cơ bản

Hồi quy tuyến tính trả lời một câu hỏi đơn giản: Bạn có thể đo lường mối quan hệ chính xác giữa một biến mục tiêu và một tập hợp các yếu tố dự báo không?

Mô hình xác suất đơn giản nhất là mô hình đường thẳng:

Ở đâu

  • y = Biến phụ thuộc
  • x = Biến độc lập
  • = thành phần lỗi ngẫu nhiên
  • = đánh chặn
  • = Hệ số của x

Hãy xem xét cốt truyện sau:

Phương trình là giao điểm. Nếu x bằng 0 thì y sẽ bằng hệ số 4,77. là hệ số góc của đường thẳng. Nó cho biết tỷ lệ y thay đổi khi x thay đổi.

Để ước tính các giá trị tối ưu của , bạn sử dụng một phương pháp được gọi là Bình phương Ít nhất Thông thường (OLS) . Phương pháp này cố gắng tìm các tham số giảm thiểu tổng sai số bình phương, đó là khoảng cách theo chiều dọc giữa các giá trị y dự đoán và các giá trị y thực tế. Sự khác biệt được gọi là thuật ngữ lỗi .

Trước khi ước tính mô hình, bạn có thể xác định liệu mối quan hệ tuyến tính giữa y và x có hợp lý hay không bằng cách vẽ biểu đồ phân tán.

Scatterplot

Chúng tôi sẽ sử dụng một tập dữ liệu rất đơn giản để giải thích khái niệm hồi quy tuyến tính đơn giản. Chúng tôi sẽ nhập Chiều cao và trọng lượng trung bình cho Phụ nữ Mỹ. Tập dữ liệu chứa 15 quan sát. Bạn muốn đo lường liệu Heights có tương quan thuận với trọng lượng hay không.

library(ggplot2)path <- 'https://raw.githubusercontent.com/guru99-edu/R-Programming/master/women.csv'df <-read.csv(path)ggplot(df,aes(x=height, y = weight))+geom_point()

Đầu ra:

Biểu đồ phân tán gợi ý xu hướng chung cho y tăng khi x tăng. Trong bước tiếp theo, bạn sẽ đo lường mức độ tăng thêm cho mỗi lần bổ sung.

Ước tính Bình phương Ít nhất

Trong một hồi quy OLS đơn giản, việc tính toán đơn giản. Mục đích không phải là hiển thị dẫn xuất trong hướng dẫn này. Bạn sẽ chỉ viết công thức.

Bạn muốn ước tính:

Mục tiêu của hồi quy OLS là tối thiểu hóa phương trình sau:

Ở đâu

là giá trị dự đoán.

Giải pháp cho

Lưu ý rằng giá trị trung bình của x

Giải pháp cho

Trong R, bạn có thể sử dụng hàm cov () và var () để ước tính

beta <- cov(df$height, df$weight) / var (df$height)beta

Đầu ra:

##[1] 3.45
alpha <- mean(df$weight) - beta * mean(df$height)alpha

Đầu ra:

## [1] -87.51667

Hệ số beta ngụ ý rằng đối với mỗi chiều cao bổ sung, trọng lượng tăng thêm 3,45.

Việc ước lượng phương trình tuyến tính đơn giản theo cách thủ công không phải là lý tưởng. R cung cấp một hàm phù hợp để ước lượng các tham số này. Bạn sẽ thấy chức năng này ngay sau đây. Trước đó, chúng tôi sẽ giới thiệu cách tính toán bằng tay một mô hình hồi quy tuyến tính đơn giản. Trong hành trình của nhà khoa học dữ liệu, bạn sẽ hầu như không hoặc không bao giờ ước tính được một mô hình tuyến tính đơn giản. Trong hầu hết các tình huống, các tác vụ hồi quy được thực hiện trên rất nhiều công cụ ước lượng.

Hồi quy nhiều tuyến tính

Các ứng dụng thực tế hơn của phân tích hồi quy sử dụng các mô hình phức tạp hơn mô hình đường thẳng đơn giản. Mô hình xác suất bao gồm nhiều hơn một biến độc lập được gọi là mô hình hồi quy nhiều biến . Hình thức chung của mô hình này là:

Trong ký hiệu ma trận, bạn có thể viết lại mô hình:

Biến phụ thuộc y bây giờ là một hàm của k biến độc lập. Giá trị của hệ số .

Chúng tôi giới thiệu ngắn gọn giả định mà chúng tôi đã đưa ra về lỗi ngẫu nhiên của OLS:

  • Có nghĩa là bằng 0
  • Phương sai bằng
  • Phân phối bình thường
  • Các lỗi ngẫu nhiên là độc lập (theo nghĩa xác suất)

Bạn cần giải quyết vectơ của hệ số hồi quy để giảm thiểu tổng sai số bình phương giữa giá trị y được dự đoán và thực tế.

Giải pháp dạng đóng là:

với:

  • chỉ ra sự chuyển vị của ma trận X
  • chỉ ra ma trận khả nghịch

Chúng tôi sử dụng bộ dữ liệu mtcars. Bạn đã quen thuộc với tập dữ liệu. Mục tiêu của chúng tôi là dự đoán số dặm trên mỗi gallon trên một tập hợp các tính năng.

Các biến liên tục

Hiện tại, bạn sẽ chỉ sử dụng các biến liên tục và bỏ các tính năng phân loại sang một bên. Biến am là biến nhị phân lấy giá trị 1 nếu xe số sàn và 0 đối với xe số tự động; vs cũng là một biến nhị phân.

library(dplyr)df <- mtcars % > %select(-c(am, vs, cyl, gear, carb))glimpse(df)

Đầu ra:

## Observations: 32## Variables: 6## $ mpg  21.0, 21.0, 22.8, 21.4, 18.7, 18.1, 14.3, 24.4, 22.8, 19… .## $ disp  160.0, 160.0, 108.0, 258.0, 360.0, 225.0, 360.0, 146.7, 1… ## $ hp  110, 110, 93, 110, 175, 105, 245, 62, 95, 123, 123, 180,… ## $ drat  3.90, 3.90, 3.85, 3.08, 3.15, 2.76, 3.21, 3.69, 3.92, 3.9… ## $ wt  2.620, 2.875, 2.320, 3.215, 3.440, 3.460, 3.570, 3.190, 3… ## $ qsec  16.46, 17.02, 18.61, 19.44, 17.02, 20.22, 15.84, 20.00, 2… 

Bạn có thể sử dụng hàm lm () để tính toán các tham số. Cú pháp cơ bản của hàm này là:

lm(formula, data, subset)Arguments:-formula: The equation you want to estimate-data: The dataset used-subset: Estimate the model on a subset of the dataset

Hãy nhớ một phương trình có dạng sau

trong R

  • Ký hiệu = được thay thế bằng ~
  • Mỗi x được thay thế bằng tên biến
  • Nếu bạn muốn bỏ hằng số, hãy thêm -1 vào cuối công thức

Thí dụ:

Bạn muốn ước tính cân nặng của các cá nhân dựa trên chiều cao và doanh thu của họ. Phương trình là

Phương trình trong R được viết như sau:

y ~ X1 + X2 +… + Xn # Với hệ số chặn

Vì vậy, ví dụ của chúng tôi:

  • Cân nặng ~ chiều cao + doanh thu

Mục tiêu của bạn là ước tính số dặm trên mỗi gallon dựa trên một tập hợp các biến. Phương trình để ước lượng là:

Bạn sẽ ước tính hồi quy tuyến tính đầu tiên của mình và lưu trữ kết quả trong đối tượng phù hợp.

model <- mpg~.disp + hp + drat + wtfit <- lm(model, df)fit

Giải thích mã

  • mô hình <- mpg ~ . disp + hp + drat + wt: Lưu trữ mô hình để ước tính
  • lm (model, df): Ước tính mô hình với khung dữ liệu df
#### Call:## lm(formula = model, data = df)#### Coefficients:## (Intercept) disp hp drat wt## 16.53357 0.00872 -0.02060 2.01577 -4.38546## qsec## 0.64015

Đầu ra không cung cấp đủ thông tin về chất lượng của sự phù hợp. Bạn có thể truy cập thêm thông tin chi tiết như ý nghĩa của các hệ số, bậc tự do và hình dạng của các phần dư bằng hàm tóm tắt ().

summary(fit)

Đầu ra:

## return the p-value and coefficient#### Call:## lm(formula = model, data = df)#### Residuals:## Min 1Q Median 3Q Max## -3.5404 -1.6701 -0.4264 1.1320 5.4996#### Coefficients:## Estimate Std. Error t value Pr(>|t|)## (Intercept) 16.53357 10.96423 1.508 0.14362## disp 0.00872 0.01119 0.779 0.44281## hp -0.02060 0.01528 -1.348 0.18936## drat 2.01578 1.30946 1.539 0.13579## wt -4.38546 1.24343 -3.527 0.00158 **## qsec 0.64015 0.45934 1.394 0.17523## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 2.558 on 26 degrees of freedom## Multiple R-squared: 0.8489, Adjusted R-squared: 0.8199## F-statistic: 29.22 on 5 and 26 DF, p-value: 6.892e-10

Suy luận từ kết quả bảng trên

  • Bảng trên chứng minh rằng có một mối quan hệ âm giữa wt và số dặm và mối quan hệ dương với drat.
  • Chỉ biến wt có tác động thống kê đến mpg. Hãy nhớ rằng, để kiểm tra một giả thuyết trong thống kê, chúng tôi sử dụng:
    • H0: Không có tác động thống kê
    • H3: Công cụ dự đoán có tác động có ý nghĩa đến y
    • Nếu giá trị p thấp hơn 0,05, điều đó cho thấy biến có ý nghĩa thống kê
  • Bình phương R đã điều chỉnh: Phương sai được giải thích bởi mô hình. Trong mô hình của bạn, mô hình đã giải thích 82 phần trăm phương sai của y. R bình phương luôn nằm trong khoảng từ 0 đến 1. Càng cao càng tốt

Bạn có thể chạy kiểm tra ANOVA để ước tính ảnh hưởng của từng tính năng đối với các phương sai của hàm anova ().

anova(fit)

Đầu ra:

## Analysis of Variance Table#### Response: mpg## Df Sum Sq Mean Sq F value Pr(>F)## disp 1 808.89 808.89 123.6185 2.23e-11 ***## hp 1 33.67 33.67 5.1449 0.031854 *## drat 1 30.15 30.15 4.6073 0.041340 *## wt 1 70.51 70.51 10.7754 0.002933 **## qsec 1 12.71 12.71 1.9422 0.175233## Residuals 26 170.13 6.54## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Một cách thông thường hơn để ước tính hiệu suất của mô hình là hiển thị phần dư so với các biện pháp khác nhau.

Bạn có thể sử dụng hàm plot () để hiển thị bốn đồ thị:

- Phần dư so với giá trị được trang bị

- Cốt truyện QQ bình thường: Phần tư lý thuyết so với phần dư chuẩn hóa

- Tỷ lệ-Vị trí: Các giá trị đã lắp so với Căn bậc hai của các phần dư chuẩn hóa

- Thặng dư so với Đòn bẩy: Đòn bẩy so với Thặng dư chuẩn hóa

Bạn thêm mã par (mfrow = c (2,2)) trước ô (khớp). Nếu bạn không thêm dòng mã này, R sẽ nhắc bạn nhấn lệnh enter để hiển thị đồ thị tiếp theo.

par(mfrow=(2,2))

Giải thích mã

  • (mfrow = c (2,2)): trả về một cửa sổ có bốn đồ thị cạnh nhau.
  • 2 đầu tiên thêm số hàng
  • 2 thứ hai thêm số cột.
  • Nếu bạn viết (mfrow = c (3,2)): bạn sẽ tạo một cửa sổ 3 hàng 2 cột
plot(fit)

Đầu ra:

Công thức lm () trả về một danh sách chứa nhiều thông tin hữu ích. Bạn có thể truy cập chúng bằng đối tượng phù hợp mà bạn đã tạo, theo sau là dấu $ và thông tin bạn muốn trích xuất.

- hệ số: `phù hợp với hệ số $`

- phần dư: `phù hợp với phần dư $`

- giá trị vừa vặn: `vừa vặn với giá trị vừa vặn.

Hồi quy các yếu tố

Trong ước lượng mô hình cuối cùng, bạn chỉ hồi quy mpg trên các biến liên tục. Việc thêm các biến nhân tố vào mô hình rất đơn giản. Bạn thêm biến am vào mô hình của mình. Điều quan trọng là phải chắc chắn rằng biến là một cấp nhân tố và không liên tục.

df <- mtcars % > %mutate(cyl = factor(cyl),vs = factor(vs),am = factor(am),gear = factor(gear),carb = factor(carb))summary(lm(model, df))

Đầu ra:

#### Call:## lm(formula = model, data = df)#### Residuals:## Min 1Q Median 3Q Max## -3.5087 -1.3584 -0.0948 0.7745 4.6251#### Coefficients:## Estimate Std. Error t value Pr(>|t|)## (Intercept) 23.87913 20.06582 1.190 0.2525## cyl6 -2.64870 3.04089 -0.871 0.3975## cyl8 -0.33616 7.15954 -0.047 0.9632## disp 0.03555 0.03190 1.114 0.2827## hp -0.07051 0.03943 -1.788 0.0939 .## drat 1.18283 2.48348 0.476 0.6407## wt -4.52978 2.53875 -1.784 0.0946 .## qsec 0.36784 0.93540 0.393 0.6997## vs1 1.93085 2.87126 0.672 0.5115## am1 1.21212 3.21355 0.377 0.7113## gear4 1.11435 3.79952 0.293 0.7733## gear5 2.52840 3.73636 0.677 0.5089## carb2 -0.97935 2.31797 -0.423 0.6787## carb3 2.99964 4.29355 0.699 0.4955## carb4 1.09142 4.44962 0.245 0.8096## carb6 4.47757 6.38406 0.701 0.4938## carb8 7.25041 8.36057 0.867 0.3995## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 2.833 on 15 degrees of freedom## Multiple R-squared: 0.8931, Adjusted R-squared: 0.779## F-statistic: 7.83 on 16 and 15 DF, p-value: 0.000124

R sử dụng mức yếu tố đầu tiên làm nhóm cơ sở. Bạn cần so sánh các hệ số của nhóm khác với nhóm cơ sở.

Hồi quy từng bước

Phần cuối cùng của hướng dẫn này đề cập đến thuật toán hồi quy từng bước . Mục đích của thuật toán này là thêm và loại bỏ các ứng cử viên tiềm năng trong các mô hình và giữ lại những người có tác động đáng kể đến biến phụ thuộc. Thuật toán này có ý nghĩa khi tập dữ liệu chứa một danh sách lớn các yếu tố dự đoán. Bạn không cần phải thêm và xóa các biến độc lập theo cách thủ công. Hồi quy từng bước được xây dựng để chọn ra những ứng cử viên tốt nhất phù hợp với mô hình.

Hãy xem trong thực tế nó hoạt động như thế nào. Bạn sử dụng tập dữ liệu mtcars với các biến liên tục chỉ để minh họa sư phạm. Trước khi bạn bắt đầu phân tích, tốt hơn hết là bạn nên thiết lập các biến thể giữa dữ liệu bằng ma trận tương quan. Thư viện GGally là một phần mở rộng của ggplot2.

Thư viện bao gồm các chức năng khác nhau để hiển thị thống kê tóm tắt như tương quan và phân phối của tất cả các biến trong ma trận. Chúng tôi sẽ sử dụng hàm ggscatmat, nhưng bạn có thể tham khảo họa tiết để biết thêm thông tin về thư viện GGally.

Cú pháp cơ bản cho ggscatmat () là:

ggscatmat(df, columns = 1:ncol(df), corMethod = "pearson")arguments:-df: A matrix of continuous variables-columns: Pick up the columns to use in the function. By default, all columns are used-corMethod: Define the function to compute the correlation between variable. By default, the algorithm uses the Pearson formula

Bạn hiển thị mối tương quan cho tất cả các biến của mình và quyết định biến nào sẽ là ứng cử viên tốt nhất cho bước đầu tiên của hồi quy từng bước. Có một số mối tương quan chặt chẽ giữa các biến của bạn và biến phụ thuộc, mpg.

library(GGally)df <- mtcars % > %select(-c(am, vs, cyl, gear, carb))ggscatmat(df, columns = 1: ncol(df))

Đầu ra:

Hồi quy từng bước

Lựa chọn biến là một phần quan trọng để phù hợp với một mô hình. Hồi quy từng bước sẽ thực hiện quá trình tìm kiếm tự động. Để ước tính có bao nhiêu lựa chọn có thể có trong tập dữ liệu, bạn tính với k là số lượng các yếu tố dự đoán. Số lượng khả năng lớn hơn với số lượng các biến độc lập. Đó là lý do tại sao bạn cần phải có một tìm kiếm tự động.

Bạn cần cài đặt gói olsrr từ CRAN. Gói này chưa có sẵn trong Anaconda. Do đó, bạn cài đặt nó trực tiếp từ dòng lệnh:

install.packages("olsrr")

Bạn có thể vẽ tất cả các tập hợp con của các khả năng với các tiêu chí phù hợp (tức là R-square, R-square điều chỉnh, tiêu chí Bayesian). Mô hình có tiêu chí AIC thấp nhất sẽ là mô hình cuối cùng.

library(olsrr)model <- mpg~.fit <- lm(model, df)test <- ols_all_subset(fit)plot(test)

Giải thích mã

  • mpg ~ .: Xây dựng mô hình để ước tính
  • lm (model, df): Chạy mô hình OLS
  • ols_all_subset (fit): Xây dựng biểu đồ với thông tin thống kê có liên quan
  • plot (test): Vẽ biểu đồ

Đầu ra:

Mô hình hồi quy tuyến tính sử dụng kiểm định t để ước tính tác động thống kê của một biến độc lập lên biến phụ thuộc. Các nhà nghiên cứu đặt ngưỡng tối đa ở mức 10 phần trăm, với các giá trị thấp hơn cho thấy một liên kết thống kê mạnh hơn. Chiến lược hồi quy từng bước được xây dựng xung quanh bài kiểm tra này để thêm và loại bỏ các ứng viên tiềm năng. Thuật toán hoạt động như sau:

  • Bước 1: Hồi quy từng dự đoán về y riêng biệt. Cụ thể, hồi quy x_1 trên y, x_2 trên y thành x_n. Lưu trữ giá trị p và giữ cho bộ hồi quy có giá trị p thấp hơn một ngưỡng đã xác định (0,1 theo mặc định). Các yếu tố dự đoán có mức ý nghĩa thấp hơn ngưỡng sẽ được thêm vào mô hình cuối cùng. Nếu không có biến nào có giá trị p thấp hơn ngưỡng nhập, thì thuật toán dừng và bạn có mô hình cuối cùng chỉ với một hằng số.
  • Bước 2: Sử dụng công cụ dự đoán có giá trị p thấp nhất và thêm riêng một biến. Bạn hồi quy một hằng số, công cụ dự đoán tốt nhất cho bước một và một biến thứ ba. Bạn thêm vào mô hình từng bước, các yếu tố dự đoán mới có giá trị thấp hơn ngưỡng nhập. Nếu không có biến nào có giá trị p thấp hơn 0,1, thì thuật toán sẽ dừng và bạn có mô hình cuối cùng chỉ với một công cụ dự đoán. Bạn hồi quy mô hình từng bước để kiểm tra tầm quan trọng của các yếu tố dự đoán tốt nhất ở bước 1. Nếu nó cao hơn ngưỡng loại bỏ, bạn giữ nó trong mô hình từng bước. Nếu không, bạn loại trừ nó.
  • Bước 3: Bạn lặp lại bước 2 trên mô hình từng bước tốt nhất mới. Thuật toán thêm các yếu tố dự đoán vào mô hình từng bước dựa trên các giá trị đang nhập và loại trừ yếu tố dự đoán khỏi mô hình từng bước nếu nó không thỏa mãn ngưỡng loại trừ.
  • Thuật toán tiếp tục tiếp tục cho đến khi không có biến nào có thể được thêm vào hoặc loại trừ.

Bạn có thể thực hiện thuật toán với hàm ols_stepwise () từ gói olsrr.

ols_stepwise(fit, pent = 0.1, prem = 0.3, details = FALSE)

arguments:

-fit: Model to fit. Need to use `lm()`before to run `ols_stepwise()-pent: Threshold of the p-value used to enter a variable into the stepwise model. By default, 0.1-prem: Threshold of the p-value used to exclude a variable into the stepwise model. By default, 0.3-details: Print the details of each step

Trước đó, chúng tôi chỉ cho bạn các bước của thuật toán. Dưới đây là bảng với các biến phụ thuộc và độc lập:

Biến phụ thuộc

Biến độc lập

mpg

vứt bỏ

hp

drat

wt

qsec

Khởi đầu

Để bắt đầu, thuật toán bắt đầu bằng cách chạy mô hình trên từng biến độc lập riêng biệt. Bảng hiển thị giá trị p cho mỗi mô hình.

## [[1]]## (Intercept) disp## 3.576586e-21 9.380327e-10#### [[2]]## (Intercept) hp## 6.642736e-18 1.787835e-07#### [[3]]## (Intercept) drat## 0.1796390847 0.0000177624#### [[4]]## (Intercept) wt## 8.241799e-19 1.293959e-10#### [[5]## (Intercept) qsec## 0.61385436 0.01708199

Để nhập mô hình, thuật toán giữ biến có giá trị p thấp nhất. Từ kết quả trên, nó là

Bước 1

Trong bước đầu tiên, thuật toán chạy mpg trên wt và các biến khác một cách độc lập.

## [[1]]## (Intercept) wt disp## 4.910746e-16 7.430725e-03 6.361981e-02#### [[2]]## (Intercept) wt hp## 2.565459e-20 1.119647e-06 1.451229e-03#### [[3]]## (Intercept) wt drat## 2.737824e-04 1.589075e-06 3.308544e-01#### [[4]]## (Intercept) wt qsec## 7.650466e-04 2.518948e-11 1.499883e-03

Mỗi biến là một ứng cử viên tiềm năng để vào mô hình cuối cùng. Tuy nhiên, thuật toán chỉ giữ lại biến có giá trị p thấp hơn. Hóa ra hp có giá trị p thấp hơn qsec. Do đó, hp đi vào mô hình cuối cùng

Bước 2

Thuật toán lặp lại bước đầu tiên nhưng lần này với hai biến độc lập trong mô hình cuối cùng.

## [[1]]## (Intercept) wt hp disp## 1.161936e-16 1.330991e-03 1.097103e-02 9.285070e-01#### [[2]]## (Intercept) wt hp drat## 5.133678e-05 3.642961e-04 1.178415e-03 1.987554e-01#### [[3]]## (Intercept) wt hp qsec## 2.784556e-03 3.217222e-06 2.441762e-01 2.546284e-01

Không có biến nào trong mô hình cuối cùng có giá trị p đủ thấp. Thuật toán dừng ở đây; chúng tôi có mô hình cuối cùng:

#### Call:## lm(formula = mpg ~ wt + hp, data = df)#### Residuals:## Min 1Q Median 3Q Max## -3.941 -1.600 -0.182 1.050 5.854#### Coefficients:## Estimate Std. Error t value Pr(>|t|)## (Intercept) 37.22727 1.59879 23.285 < 2e-16 ***## wt -3.87783 0.63273 -6.129 1.12e-06 ***## hp -0.03177 0.00903 -3.519 0.00145 **## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 2.593 on 29 degrees of freedom## Multiple R-squared: 0.8268, Adjusted R-squared: 0.8148## F-statistic: 69.21 on 2 and 29 DF, p-value: 9.109e-12 

Bạn có thể sử dụng hàm ols_stepwise () để so sánh kết quả.

stp_s <-ols_stepwise(fit, details=TRUE)

Đầu ra:

Thuật toán tìm ra giải pháp sau 2 bước và trả về kết quả giống như chúng ta đã có trước đó.

Cuối cùng, bạn có thể nói rằng các mô hình được giải thích bằng hai biến và một hệ số chặn. Dặm trên một gallon có tương quan nghịch với Tổng mã lực và Trọng lượng

## You are selecting variables based on p value… ## 1 variable(s) added… .## Variable Selection Procedure## Dependent Variable: mpg#### Stepwise Selection: Step 1#### Variable wt Entered#### Model Summary## --------------------------------------------------------------## R 0.868 RMSE 3.046## R-Squared 0.753 Coef. Var 15.161## Adj. R-Squared 0.745 MSE 9.277## Pred R-Squared 0.709 MAE 2.341## --------------------------------------------------------------## RMSE: Root Mean Square Error## MSE: Mean Square Error## MAE: Mean Absolute Error## ANOVA## --------------------------------------------------------------------## Sum of## Squares DF Mean Square F Sig.## --------------------------------------------------------------------## Regression 847.725 1 847.725 91.375 0.0000## Residual 278.322 30 9.277## Total 1126.047 31## --------------------------------------------------------------------#### Parameter Estimates## ----------------------------------------------------------------------------------------## model Beta Std. Error Std. Beta t Sig lower upper## ----------------------------------------------------------------------------------------## (Intercept) 37.285 1.878 19.858 0.000 33.450 41.120## wt -5.344 0.559 -0.868 -9.559 0.000 -6.486 -4.203## ----------------------------------------------------------------------------------------## 1 variable(s) added… ## Stepwise Selection: Step 2#### Variable hp Entered#### Model Summary## --------------------------------------------------------------## R 0.909 RMSE 2.593## R-Squared 0.827 Coef. Var 12.909## Adj. R-Squared 0.815 MSE 6.726## Pred R-Squared 0.781 MAE 1.901## --------------------------------------------------------------## RMSE: Root Mean Square Error## MSE: Mean Square Error## MAE: Mean Absolute Error## ANOVA## --------------------------------------------------------------------## Sum of## Squares DF Mean Square F Sig.## --------------------------------------------------------------------## Regression 930.999 2 465.500 69.211 0.0000## Residual 195.048 29 6.726## Total 1126.047 31## --------------------------------------------------------------------#### Parameter Estimates## ----------------------------------------------------------------------------------------## model Beta Std. Error Std. Beta t Sig lower upper## ----------------------------------------------------------------------------------------## (Intercept) 37.227 1.599 23.285 0.000 33.957 40.497## wt -3.878 0.633 -0.630 -6.129 0.000 -5.172 -2.584## hp -0.032 0.009 -0.361 -3.519 0.001 -0.050 -0.013## ----------------------------------------------------------------------------------------## No more variables to be added or removed.

Máy học

Học máy đang trở nên phổ biến trong giới khoa học dữ liệu và được triển khai trong hàng trăm sản phẩm bạn sử dụng hàng ngày. Một trong những ứng dụng ML đầu tiên là bộ lọc thư rác .

Sau đây là các ứng dụng khác của Học máy-

  • Nhận dạng các thư rác không mong muốn trong email
  • Phân đoạn hành vi của khách hàng cho quảng cáo được nhắm mục tiêu
  • Giảm các giao dịch gian lận thẻ tín dụng
  • Tối ưu hóa việc sử dụng năng lượng trong nhà và tòa nhà văn phòng
  • Nhận dạng khuôn mặt

Học tập có giám sát

Trong học tập có giám sát , dữ liệu đào tạo bạn cung cấp cho thuật toán bao gồm một nhãn.

Phân loại có lẽ là kỹ thuật học có giám sát được sử dụng nhiều nhất. Một trong những nhiệm vụ phân loại đầu tiên mà các nhà nghiên cứu giải quyết là bộ lọc thư rác. Mục tiêu của nghiên cứu là dự đoán xem một email được phân loại là spam hay ham (email tốt). Máy, sau bước đào tạo, có thể phát hiện lớp email.

Hồi quy thường được sử dụng trong lĩnh vực học máy để dự đoán giá trị liên tục. Nhiệm vụ hồi quy có thể dự đoán giá trị của một biến phụ thuộc dựa trên một tập hợp các biến độc lập (còn được gọi là bộ dự báo hoặc bộ hồi quy). Ví dụ, hồi quy tuyến tính có thể dự đoán giá cổ phiếu, dự báo thời tiết, doanh số bán hàng, v.v.

Dưới đây là danh sách một số thuật toán học có giám sát cơ bản.

  • Hồi quy tuyến tính
  • Hồi quy logistic
  • Những người hàng xóm gần nhất
  • Máy vectơ hỗ trợ (SVM)
  • Cây quyết định và Rừng ngẫu nhiên
  • Mạng thần kinh

Học tập không giám sát

Trong học tập không có giám sát , dữ liệu đào tạo không được gắn nhãn. Hệ thống cố gắng tìm hiểu mà không có tài liệu tham khảo. Dưới đây là danh sách các thuật toán học không giám sát.

  • K-mean
  • Phân tích cụm phân cấp
  • Sự tối đa hóa kỳ vọng
  • Hình ảnh hóa và giảm kích thước
  • Phân tích thành phần chính
  • Kernel PCA
  • Nhúng cục bộ-tuyến tính

Tóm lược

Hồi quy bình phương nhỏ nhất thông thường có thể được tóm tắt trong bảng dưới đây:

Thư viện

Mục tiêu

Chức năng

Tranh luận

căn cứ

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

lm ()

công thức, dữ liệu

căn cứ

Tóm tắt mô hình

tóm tắt ()

Phù hợp

căn cứ

Trừ các hệ số

lm () $ hệ số

căn cứ

Loại bỏ phần dư

lm () $ dư

căn cứ

Trừ giá trị được trang bị

lm () $ fit.values

olsrr

Chạy hồi quy từng bước

ols_stepwise ()

vừa vặn, pent = 0,1, Prem = 0,3, chi tiết = FALSE

Lưu ý : Hãy nhớ biến đổi biến phân loại trong nhân tố trước đó để phù hợp với mô hình.