Hướng dẫn what is regression plot in python? - âm mưu hồi quy trong python là gì?

Nhiều bộ dữ liệu chứa nhiều biến định lượng và mục tiêu của phân tích thường là liên hệ các biến đó với nhau. Trước đây chúng tôi đã thảo luận về các chức năng có thể thực hiện điều này bằng cách hiển thị phân phối chung của hai biến. Tuy nhiên, có thể rất hữu ích để sử dụng các mô hình thống kê để ước tính mối quan hệ đơn giản giữa hai bộ quan sát ồn ào. Các chức năng được thảo luận trong chương này sẽ làm như vậy thông qua khung chung của hồi quy tuyến tính.previously discussed functions that can accomplish this by showing the joint distribution of two variables. It can be very helpful, though, to use statistical models to estimate a simple relationship between two noisy sets of observations. The functions discussed in this chapter will do so through the common framework of linear regression.

Theo tinh thần của Tukey, các sơ đồ hồi quy ở Seaborn chủ yếu nhằm thêm một hướng dẫn trực quan giúp nhấn mạnh các mẫu trong bộ dữ liệu trong các phân tích dữ liệu khám phá. Điều đó có nghĩa là Seaborn không phải là một gói để phân tích thống kê. Để có được các biện pháp định lượng liên quan đến sự phù hợp của các mô hình hồi quy, bạn nên sử dụng StatSmodels. Tuy nhiên, mục tiêu của Seaborn là làm cho việc khám phá một bộ dữ liệu thông qua trực quan hóa nhanh chóng và dễ dàng, vì làm như vậy là (nếu không nhiều) quan trọng hơn là khám phá một bộ dữ liệu thông qua các bảng thống kê.

Chức năng vẽ mô hình hồi quy tuyến tính#

Hai hàm có thể được sử dụng để trực quan hóa độ phù hợp tuyến tính là

sns.lmplot(x="size", y="tip", data=tips);
3 và
sns.lmplot(x="size", y="tip", data=tips);
4.

Trong lệnh gọi đơn giản nhất, cả hai chức năng đều có một biểu đồ phân tán gồm hai biến,

sns.lmplot(x="size", y="tip", data=tips);
5 và
sns.lmplot(x="size", y="tip", data=tips);
6, sau đó phù hợp với mô hình hồi quy
sns.lmplot(x="size", y="tip", data=tips);
7 và vẽ đường hồi quy kết quả và khoảng tin cậy 95% cho hồi quy đó:

tips = sns.load_dataset("tips")
sns.regplot(x="total_bill", y="tip", data=tips);

Hướng dẫn what is regression plot in python? - âm mưu hồi quy trong python là gì?

sns.lmplot(x="total_bill", y="tip", data=tips);

Hướng dẫn what is regression plot in python? - âm mưu hồi quy trong python là gì?

Các chức năng này vẽ các ô tương tự, nhưng: func: regplot` là hàm cấp trục và

sns.lmplot(x="size", y="tip", data=tips);
4 là hàm cấp hình. Ngoài ra,
sns.lmplot(x="size", y="tip", data=tips);
3 chấp nhận các biến
sns.lmplot(x="size", y="tip", data=tips);
5 và
sns.lmplot(x="size", y="tip", data=tips);
6 trong nhiều định dạng bao gồm các mảng numpy đơn giản, các đối tượng
sns.lmplot(x="size", y="tip", data=tips, x_jitter=.05);
2 hoặc làm tham chiếu đến các biến trong một đối tượng
sns.lmplot(x="size", y="tip", data=tips, x_jitter=.05);
3 được chuyển đến
sns.lmplot(x="size", y="tip", data=tips, x_jitter=.05);
4. Ngược lại,
sns.lmplot(x="size", y="tip", data=tips);
4 có
sns.lmplot(x="size", y="tip", data=tips, x_jitter=.05);
4 dưới dạng tham số cần thiết và các biến
sns.lmplot(x="size", y="tip", data=tips);
5 và
sns.lmplot(x="size", y="tip", data=tips);
6 phải được chỉ định là chuỗi. Cuối cùng, chỉ
sns.lmplot(x="size", y="tip", data=tips);
4 có
sns.lmplot(x="size", y="tip", data=tips, x_estimator=np.mean);
0 dưới dạng tham số.axes-level function, and
sns.lmplot(x="size", y="tip", data=tips);
4 is a figure-level function. Additionally,
sns.lmplot(x="size", y="tip", data=tips);
3 accepts the
sns.lmplot(x="size", y="tip", data=tips);
5 and
sns.lmplot(x="size", y="tip", data=tips);
6 variables in a variety of formats including simple numpy arrays,
sns.lmplot(x="size", y="tip", data=tips, x_jitter=.05);
2 objects, or as references to variables in a
sns.lmplot(x="size", y="tip", data=tips, x_jitter=.05);
3 object passed to
sns.lmplot(x="size", y="tip", data=tips, x_jitter=.05);
4. In contrast,
sns.lmplot(x="size", y="tip", data=tips);
4 has
sns.lmplot(x="size", y="tip", data=tips, x_jitter=.05);
4 as a required parameter and the
sns.lmplot(x="size", y="tip", data=tips);
5 and
sns.lmplot(x="size", y="tip", data=tips);
6 variables must be specified as strings. Finally, only
sns.lmplot(x="size", y="tip", data=tips);
4 has
sns.lmplot(x="size", y="tip", data=tips, x_estimator=np.mean);
0 as a parameter.

Tuy nhiên, chức năng cốt lõi là tương tự, vì vậy hướng dẫn này sẽ tập trung vào

sns.lmplot(x="size", y="tip", data=tips);
4:.

Tuy nhiên, nó có thể phù hợp với hồi quy tuyến tính khi một trong các biến có các giá trị riêng biệt, tuy nhiên, biểu đồ phân tán đơn giản được tạo ra bởi loại dữ liệu này thường không tối ưu:

sns.lmplot(x="size", y="tip", data=tips);

Hướng dẫn what is regression plot in python? - âm mưu hồi quy trong python là gì?

Một tùy chọn là thêm một số nhiễu ngẫu nhiên (Jitter Jitter) vào các giá trị riêng biệt để làm cho việc phân phối các giá trị đó rõ ràng hơn. Lưu ý rằng jitter chỉ được áp dụng cho dữ liệu phân tán và không ảnh hưởng đến dòng hồi quy phù hợp với chính nó:

sns.lmplot(x="size", y="tip", data=tips, x_jitter=.05);

Hướng dẫn what is regression plot in python? - âm mưu hồi quy trong python là gì?

Một lựa chọn thứ hai là sụp đổ các quan sát trong mỗi thùng riêng biệt để vẽ ước tính xu hướng trung tâm cùng với khoảng tin cậy:

sns.lmplot(x="size", y="tip", data=tips, x_estimator=np.mean);

Hướng dẫn what is regression plot in python? - âm mưu hồi quy trong python là gì?

Phù hợp với các loại mô hình khác nhau#

Mô hình hồi quy tuyến tính đơn giản được sử dụng ở trên rất đơn giản để phù hợp, tuy nhiên, nó không phù hợp với một số loại bộ dữ liệu. Bộ dữ liệu bộ tứ ANSCOMBE, cho thấy một vài ví dụ trong đó hồi quy tuyến tính đơn giản cung cấp một ước tính giống hệt nhau về mối quan hệ trong đó kiểm tra trực quan đơn giản cho thấy rõ sự khác biệt. Ví dụ, trong trường hợp đầu tiên, hồi quy tuyến tính là một mô hình tốt:

anscombe = sns.load_dataset("anscombe")

sns.lmplot(x="x", y="y", data=anscombe.query("dataset == 'I'"),
           ci=None, scatter_kws={"s": 80});

Hướng dẫn what is regression plot in python? - âm mưu hồi quy trong python là gì?

Mối quan hệ tuyến tính trong bộ dữ liệu thứ hai là như nhau, nhưng cốt truyện cho thấy rõ rằng đây không phải là một mô hình tốt:

sns.lmplot(x="x", y="y", data=anscombe.query("dataset == 'II'"),
           ci=None, scatter_kws={"s": 80});

Hướng dẫn what is regression plot in python? - âm mưu hồi quy trong python là gì?

Với sự hiện diện của các loại mối quan hệ bậc cao này,

sns.lmplot(x="size", y="tip", data=tips);
4 và
sns.lmplot(x="size", y="tip", data=tips);
3 có thể phù hợp với mô hình hồi quy đa thức để khám phá các loại xu hướng phi tuyến đơn giản trong bộ dữ liệu:

sns.lmplot(x="x", y="y", data=anscombe.query("dataset == 'II'"),
           order=2, ci=None, scatter_kws={"s": 80});

Hướng dẫn what is regression plot in python? - âm mưu hồi quy trong python là gì?

Một vấn đề khác được đặt ra bởi các quan sát ngoại lệ của người Hồi giáo đi chệch hướng vì một số lý do khác ngoài mối quan hệ chính đang được nghiên cứu:

sns.lmplot(x="x", y="y", data=anscombe.query("dataset == 'III'"),
           ci=None, scatter_kws={"s": 80});

Hướng dẫn what is regression plot in python? - âm mưu hồi quy trong python là gì?

Với sự hiện diện của các ngoại lệ, có thể hữu ích để phù hợp với hồi quy mạnh mẽ, sử dụng chức năng mất mát khác để giảm cân tương đối lớn:

sns.lmplot(x="total_bill", y="tip", data=tips);
0

Hướng dẫn what is regression plot in python? - âm mưu hồi quy trong python là gì?

Khi biến

sns.lmplot(x="size", y="tip", data=tips);
6 là nhị phân, hồi quy tuyến tính đơn giản cũng hoạt động, nhưng cung cấp các dự đoán không thể tin được:

sns.lmplot(x="total_bill", y="tip", data=tips);
1

Hướng dẫn what is regression plot in python? - âm mưu hồi quy trong python là gì?

Giải pháp trong trường hợp này là phù hợp với hồi quy logistic, sao cho đường hồi quy cho thấy xác suất ước tính là

sns.lmplot(x="size", y="tip", data=tips, x_estimator=np.mean);
5 cho một giá trị nhất định là
sns.lmplot(x="size", y="tip", data=tips);
5:

sns.lmplot(x="total_bill", y="tip", data=tips);
2

Hướng dẫn what is regression plot in python? - âm mưu hồi quy trong python là gì?

Lưu ý rằng ước tính hồi quy logistic là tính toán chuyên sâu hơn đáng kể (điều này cũng đúng với hồi quy mạnh mẽ). Vì khoảng tin cậy xung quanh đường hồi quy được tính toán bằng quy trình bootstrap, bạn có thể muốn tắt điều này để lặp lại nhanh hơn (sử dụng

sns.lmplot(x="size", y="tip", data=tips, x_estimator=np.mean);
7).

Một cách tiếp cận hoàn toàn khác là phù hợp với hồi quy không tham số bằng cách sử dụng mức thấp hơn. Cách tiếp cận này có ít giả định nhất, mặc dù nó rất chuyên sâu về mặt tính toán và do đó, các khoảng tin cậy hiện không được tính toán:

sns.lmplot(x="total_bill", y="tip", data=tips);
3

Hướng dẫn what is regression plot in python? - âm mưu hồi quy trong python là gì?

Hàm

sns.lmplot(x="size", y="tip", data=tips, x_estimator=np.mean);
8 có thể là một công cụ hữu ích để kiểm tra xem mô hình hồi quy đơn giản có phù hợp với tập dữ liệu hay không. Nó phù hợp và loại bỏ một hồi quy tuyến tính đơn giản và sau đó vẽ các giá trị còn lại cho mỗi lần quan sát. Lý tưởng nhất, các giá trị này nên được phân tán ngẫu nhiên xung quanh
sns.lmplot(x="size", y="tip", data=tips, x_estimator=np.mean);
9:

sns.lmplot(x="total_bill", y="tip", data=tips);
4

Hướng dẫn what is regression plot in python? - âm mưu hồi quy trong python là gì?

Nếu có cấu trúc trong phần dư, nó cho thấy hồi quy tuyến tính đơn giản là không phù hợp:

sns.lmplot(x="total_bill", y="tip", data=tips);
5

Hướng dẫn what is regression plot in python? - âm mưu hồi quy trong python là gì?

Điều hòa trên các biến khác#

Các ô trên cho thấy nhiều cách để khám phá mối quan hệ giữa một cặp biến. Tuy nhiên, thông thường, một câu hỏi thú vị hơn là mối quan hệ giữa hai biến này thay đổi như một hàm của biến thứ ba? Đây là nơi mà sự khác biệt chính giữa

sns.lmplot(x="size", y="tip", data=tips);
3 và
sns.lmplot(x="size", y="tip", data=tips);
4 xuất hiện. Mặc dù
sns.lmplot(x="size", y="tip", data=tips);
3 luôn hiển thị một mối quan hệ duy nhất,
sns.lmplot(x="size", y="tip", data=tips);
4 kết hợp
sns.lmplot(x="size", y="tip", data=tips);
3 với
anscombe = sns.load_dataset("anscombe")
5 để hiển thị nhiều sự phù hợp bằng cách sử dụng ánh xạ
sns.lmplot(x="size", y="tip", data=tips, x_estimator=np.mean);
0 hoặc mặt.

Cách tốt nhất để phân tách mối quan hệ là vẽ cả hai cấp độ trên cùng một trục và sử dụng màu sắc để phân biệt chúng:

sns.lmplot(x="total_bill", y="tip", data=tips);
6

Hướng dẫn what is regression plot in python? - âm mưu hồi quy trong python là gì?

Không giống như

anscombe = sns.load_dataset("anscombe")
7, nó không thể lập bản đồ một biến riêng biệt cho các thuộc tính kiểu của biểu đồ phân tán, nhưng bạn có thể dự phòng biến
sns.lmplot(x="size", y="tip", data=tips, x_estimator=np.mean);
0 với hình dạng điểm đánh dấu:

sns.lmplot(x="total_bill", y="tip", data=tips);
7

Hướng dẫn what is regression plot in python? - âm mưu hồi quy trong python là gì?

Để thêm một biến khác, bạn có thể vẽ nhiều khía cạnh trên mạng với từng cấp độ của biến xuất hiện trong các hàng hoặc cột của lưới:

sns.lmplot(x="total_bill", y="tip", data=tips);
8

Hướng dẫn what is regression plot in python? - âm mưu hồi quy trong python là gì?

sns.lmplot(x="total_bill", y="tip", data=tips);
9

Hướng dẫn what is regression plot in python? - âm mưu hồi quy trong python là gì?

Vẽ một hồi quy trong các bối cảnh khác#

Một vài chức năng Seaborn khác sử dụng

sns.lmplot(x="size", y="tip", data=tips);
3 trong bối cảnh của một cốt truyện lớn hơn, phức tạp hơn. Đầu tiên là hàm
sns.lmplot(x="x", y="y", data=anscombe.query("dataset == 'I'"),
           ci=None, scatter_kws={"s": 80});
0 mà chúng tôi đã giới thiệu trong hướng dẫn phân phối. Ngoài các kiểu cốt truyện đã được thảo luận trước đây,
sns.lmplot(x="x", y="y", data=anscombe.query("dataset == 'I'"),
           ci=None, scatter_kws={"s": 80});
0 có thể sử dụng
sns.lmplot(x="size", y="tip", data=tips);
3 để hiển thị hồi quy tuyến tính phù hợp với các trục chung bằng cách vượt qua
sns.lmplot(x="x", y="y", data=anscombe.query("dataset == 'I'"),
           ci=None, scatter_kws={"s": 80});
3:distributions tutorial. In addition to the plot styles previously discussed,
sns.lmplot(x="x", y="y", data=anscombe.query("dataset == 'I'"),
           ci=None, scatter_kws={"s": 80});
0 can use
sns.lmplot(x="size", y="tip", data=tips);
3 to show the linear regression fit on the joint axes by passing
sns.lmplot(x="x", y="y", data=anscombe.query("dataset == 'I'"),
           ci=None, scatter_kws={"s": 80});
3:

sns.lmplot(x="size", y="tip", data=tips);
0

Hướng dẫn what is regression plot in python? - âm mưu hồi quy trong python là gì?

Sử dụng hàm

sns.lmplot(x="x", y="y", data=anscombe.query("dataset == 'I'"),
           ci=None, scatter_kws={"s": 80});
4 với
sns.lmplot(x="x", y="y", data=anscombe.query("dataset == 'I'"),
           ci=None, scatter_kws={"s": 80});
3 kết hợp
sns.lmplot(x="size", y="tip", data=tips);
3 và
sns.lmplot(x="x", y="y", data=anscombe.query("dataset == 'I'"),
           ci=None, scatter_kws={"s": 80});
7 để hiển thị mối quan hệ tuyến tính giữa các biến trong bộ dữ liệu. Hãy quan tâm để lưu ý làm thế nào điều này khác với
sns.lmplot(x="size", y="tip", data=tips);
4. Trong hình dưới đây, hai trục don don cho thấy mối quan hệ giống nhau được điều hòa trên hai cấp độ của biến thứ ba; Thay vào đó,
sns.lmplot(x="x", y="y", data=anscombe.query("dataset == 'I'"),
           ci=None, scatter_kws={"s": 80});
9 được sử dụng để hiển thị nhiều mối quan hệ giữa các cặp khác nhau của các biến trong bộ dữ liệu:

sns.lmplot(x="size", y="tip", data=tips);
1

Hướng dẫn what is regression plot in python? - âm mưu hồi quy trong python là gì?

Điều hòa trên một biến phân loại bổ sung được tích hợp vào cả hai hàm này bằng tham số

sns.lmplot(x="size", y="tip", data=tips, x_estimator=np.mean);
0:

sns.lmplot(x="size", y="tip", data=tips);
2

Hướng dẫn what is regression plot in python? - âm mưu hồi quy trong python là gì?

Sơ đồ hồi quy là gì?

Các sơ đồ hồi quy như tên cho thấy tạo ra một dòng hồi quy giữa 2 tham số và giúp hình dung các mối quan hệ tuyến tính của chúng. Bài viết này đề cập đến các loại lô trong Seaborn và cho thấy những cách có thể thích nghi để thay đổi kích thước, khía cạnh, tỷ lệ, v.v. của các lô như vậy.creates a regression line between 2 parameters and helps to visualize their linear relationships. This article deals with those kinds of plots in seaborn and shows the ways that can be adapted to change the size, aspect, ratio etc. of such plots.

Biểu đồ hồi quy được sử dụng để làm gì?

Hồi quy là một kỹ thuật tham số được sử dụng để dự đoán biến liên tục (phụ thuộc) được cung cấp một tập hợp các biến độc lập.Đó là tham số trong tự nhiên vì nó đưa ra các giả định nhất định (được thảo luận tiếp theo) dựa trên tập dữ liệu.to predict continuous (dependent) variable given a set of independent variables. It is parametric in nature because it makes certain assumptions (discussed next) based on the data set.

Làm thế nào để bạn vẽ kết quả hồi quy trong Python?

Tạo mô hình hồi quy tuyến tính trong StatSmodels yêu cầu các bước sau:..
Nhập thư viện StatSmodels ..
Xác định ma trận y và x.....
Thêm một cột không đổi vào ma trận X ..
Gọi OLS () để xác định mô hình ..
Gọi FIT () để thực sự ước tính các tham số mô hình bằng cách sử dụng tập dữ liệu (phù hợp với dòng).
Hiển thị kết quả ..

Hồi quy có nghĩa là gì trong Python?

Thuật ngữ hồi quy được sử dụng khi bạn cố gắng tìm mối quan hệ giữa các biến.Trong học máy và trong mô hình thống kê, mối quan hệ đó được sử dụng để dự đoán kết quả của các sự kiện trong tương lai.used when you try to find the relationship between variables. In Machine Learning, and in statistical modeling, that relationship is used to predict the outcome of future events.