Hướng dẫn summary of linear regression in python - tóm tắt hồi quy tuyến tính trong python


Thường thì bạn có thể muốn trích xuất một bản tóm tắt của một mô hình hồi quy được tạo bằng cách sử dụng Scikit-learn trong Python.

Thật không may, Scikit-Learn không cung cấp nhiều chức năng tích hợp để phân tích bản tóm tắt của mô hình hồi quy vì nó thường chỉ được sử dụng cho mục đích dự đoán.

Vì vậy, nếu bạn quan tâm đến việc có được một bản tóm tắt về mô hình hồi quy trong Python, bạn có hai tùy chọn:

1. Sử dụng các chức năng hạn chế từ scikit-learn. Use limited functions from scikit-learn.

2. Sử dụng StatSmodels thay thế. Use statsmodels instead.

Các ví dụ sau đây cho thấy cách sử dụng từng phương thức trong thực tế với các gấu trúc sau đây:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'x1': [1, 2, 2, 4, 2, 1, 5, 4, 2, 4, 4],
                   'x2': [1, 3, 3, 5, 2, 2, 1, 1, 0, 3, 4],
                   'y': [76, 78, 85, 88, 72, 69, 94, 94, 88, 92, 90]})

#view first five rows of DataFrame
df.head()

       x1      x2	 y
0	1	1	76
1	2	3	78
2	2	3	85
3	4	5	88
4	2	2	72

Phương pháp 1: Nhận bản tóm tắt mô hình hồi quy từ Scikit-learn

Chúng ta có thể sử dụng mã sau để phù hợp với mô hình hồi quy tuyến tính nhiều bằng cách sử dụng Scikit-LEARN:

from sklearn.linear_model import LinearRegression

#initiate linear regression model
model = LinearRegression()

#define predictor and response variables
X, y = df[['x1', 'x2']], df.y

#fit regression model
model.fit(X, y)

Sau đó, chúng ta có thể sử dụng mã sau để trích xuất các hệ số hồi quy của mô hình cùng với giá trị R-Squared của mô hình:

#display regression coefficients and R-squared value of model
print(model.intercept_, model.coef_, model.score(X, y))

70.4828205704 [ 5.7945 -1.1576] 0.766742556527

Sử dụng đầu ra này, chúng ta có thể viết phương trình cho mô hình hồi quy được trang bị:

y = 70,48 + 5,79x1 - 1.16x2

Chúng ta cũng có thể thấy rằng giá trị R2 của mô hình là 76,67. & NBSP;

Điều này có nghĩa là & nbsp; 76,67% biến thể trong biến phản hồi có thể được giải thích bằng hai biến dự đoán trong mô hình.76.67% of the variation in the response variable can be explained by the two predictor variables in the model.

Mặc dù đầu ra này rất hữu ích, nhưng chúng tôi vẫn không biết tổng thể F-thống kê & nbsp; của mô hình, giá trị p của các hệ số hồi quy cá nhân và các số liệu hữu ích khác có thể giúp chúng tôi hiểu mô hình phù hợp với bộ dữ liệu này như thế nào.

Phương pháp 2: Nhận tóm tắt mô hình hồi quy từ StatSmodels

Nếu bạn quan tâm đến việc trích xuất bản tóm tắt mô hình hồi quy trong Python, thì bạn nên sử dụng gói StatSmodels.statsmodels package.

Mã sau đây cho thấy cách sử dụng gói này để phù hợp với cùng một mô hình hồi quy tuyến tính giống như ví dụ trước và trích xuất bản tóm tắt mô hình:

import statsmodels.api as sm

#define response variable
y = df['y']

#define predictor variables
x = df[['x1', 'x2']]

#add constant to predictor variables
x = sm.add_constant(x)

#fit linear regression model
model = sm.OLS(y, x).fit()

#view model summary
print(model.summary())

                            OLS Regression Results                            
==============================================================================
Dep. Variable:                      y   R-squared:                       0.767
Model:                            OLS   Adj. R-squared:                  0.708
Method:                 Least Squares   F-statistic:                     13.15
Date:                Fri, 01 Apr 2022   Prob (F-statistic):            0.00296
Time:                        11:10:16   Log-Likelihood:                -31.191
No. Observations:                  11   AIC:                             68.38
Df Residuals:                       8   BIC:                             69.57
Df Model:                           2                                         
Covariance Type:            nonrobust                                         
==============================================================================
                 coef    std err          t      P>|t|      [0.025      0.975]
------------------------------------------------------------------------------
const         70.4828      3.749     18.803      0.000      61.839      79.127
x1             5.7945      1.132      5.120      0.001       3.185       8.404
x2            -1.1576      1.065     -1.087      0.309      -3.613       1.298
==============================================================================
Omnibus:                        0.198   Durbin-Watson:                   1.240
Prob(Omnibus):                  0.906   Jarque-Bera (JB):                0.296
Skew:                          -0.242   Prob(JB):                        0.862
Kurtosis:                       2.359   Cond. No.                         10.7
==============================================================================

Lưu ý rằng các hệ số hồi quy và giá trị bình phương R phù hợp với các hệ số được tính toán bởi Scikit-learn, nhưng chúng tôi cũng cung cấp một tấn các số liệu hữu ích khác cho mô hình hồi quy.

Ví dụ: chúng ta có thể thấy các giá trị p cho từng biến dự đoán riêng lẻ:

  • Giá trị p cho x1 = .001
  • Giá trị P cho x2 = 0,309

Chúng ta cũng có thể thấy thống kê F tổng thể của mô hình, giá trị bình phương R được điều chỉnh, giá trị AIC của mô hình và nhiều hơn nữa.

Tài nguyên bổ sung

Các hướng dẫn sau đây giải thích cách thực hiện các hoạt động phổ biến khác trong Python:

Cách thực hiện hồi quy tuyến tính đơn giản trong Python Cách thực hiện hồi quy tuyến tính nhiều trong Python Cách tính AIC của các mô hình hồi quy trong Python
How to Perform Multiple Linear Regression in Python
How to Calculate AIC of Regression Models in Python

Tóm tắt hồi quy tuyến tính là gì?

Hồi quy tuyến tính là gì?Hồi quy tuyến tính là một mô hình thống kê phân tích mối quan hệ giữa một biến phản hồi (thường được gọi là y) và một hoặc nhiều biến và tương tác của chúng (thường được gọi là X hoặc các biến giải thích).a statistical model that analyzes the relationship between a response variable (often called y) and one or more variables and their interactions (often called x or explanatory variables).

Hồi quy tuyến tính trong Python là gì?

Hồi quy tuyến tính là một phương pháp thống kê để mô hình hóa mối quan hệ giữa một biến phụ thuộc với một tập hợp các biến độc lập nhất định.Lưu ý: Trong bài viết này, chúng tôi gọi các biến phụ thuộc là phản hồi và các biến độc lập là các tính năng để đơn giản.a statistical method for modeling relationships between a dependent variable with a given set of independent variables. Note: In this article, we refer to dependent variables as responses and independent variables as features for simplicity.

Làm thế nào để bạn tìm thấy bản tóm tắt của một mô hình trong Python?

Nếu bạn muốn trích xuất bản tóm tắt mô hình hồi quy trong Python, bạn nên sử dụng gói StatSmodels.use the statsmodels package.

Hồi quy tuyến tính giải thích với ví dụ là gì?

Hồi quy tuyến tính thường được sử dụng để phân tích và mô hình hóa dự đoán.Ví dụ, nó có thể được sử dụng để định lượng các tác động tương đối của tuổi, giới tính và chế độ ăn uống (các biến dự đoán) về chiều cao (biến kết quả).commonly used for predictive analysis and modeling. For example, it can be used to quantify the relative impacts of age, gender, and diet (the predictor variables) on height (the outcome variable).