Phương pháp pearson trong python là gì?

Là một nhà khoa học dữ liệu, đây là một lĩnh vực rất thú vị đối với tôi vì nó giúp khám phá các mối quan hệ phức tạp và chưa biết giữa các biến trong tập dữ liệu của bạn

Tôi sẽ đi thẳng vào cách chúng ta có thể làm điều này trong Python bằng Hệ số Pearson r

Python là một ngôn ngữ tuyệt vời để phân tích dữ liệu, chủ yếu là do hệ sinh thái tuyệt vời của các gói Python tập trung vào dữ liệu. Pandas là một trong những gói đó và giúp việc nhập và phân tích dữ liệu dễ dàng hơn nhiều

khung dữ liệu. Corr[] đã giải thích

Pandas

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sb
7 được sử dụng để tìm mối tương quan theo cặp của tất cả các cột trong khung dữ liệu

Mọi giá trị

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sb
8 sẽ tự động bị loại trừ

Mọi cột loại dữ liệu không phải là số trong khung dữ liệu sẽ bị bỏ qua

khung dữ liệu. thông số sửa lỗi.

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sb
9

SuicideRate = pd.read_csv["suicide-rates-overview-1985-to-2016.csv"]
0.
SuicideRate = pd.read_csv["suicide-rates-overview-1985-to-2016.csv"]
0 hoặc có thể gọi được

  • lề. hệ số tương quan chuẩn — tìm hiểu thêm tại đây
  • kendall. Hệ số tương quan Kendall Tau
  • người cầm giáo. Tương quan xếp hạng Spearman

SuicideRate = pd.read_csv["suicide-rates-overview-1985-to-2016.csv"]
1. int, tùy chọn

  • Số lượng quan sát tối thiểu cần thiết cho mỗi cặp cột để có kết quả hợp lệ. Điều này hiện chỉ khả dụng cho tương quan Pearson và Spearman
Hãy thực tế

bởi vì chúng ta học bằng cách làm

Đầu tiên chúng tôi nhập các gói mà chúng tôi cần

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sb

Bây giờ chúng ta cần một số dữ liệu. Đối với điều này, tôi đã chọn một bộ dữ liệu đơn giản nhưng thú vị mà tôi tìm thấy trên Kaggle. Bạn có thể đọc và tải về tại đây

Hãy đọc dữ liệu và đặt nó vào một khung dữ liệu

SuicideRate = pd.read_csv["suicide-rates-overview-1985-to-2016.csv"]

Nếu bạn muốn xem qua dữ liệu trên Python và xem dữ liệu nào có trong đó

SuicideRate.head[]

Khung dữ liệu. head[] Tính toán tương quan Pearson

Chúng tôi sẽ sử dụng

SuicideRate = pd.read_csv["suicide-rates-overview-1985-to-2016.csv"]
2 cho
SuicideRate = pd.read_csv["suicide-rates-overview-1985-to-2016.csv"]
3r vì chúng tôi muốn tính hệ số tương quan Pearson. Sau đó, chúng tôi sẽ in nó ra

pearsoncorr = SuicideRate.corr[method='pearson']pearsoncorr

Khung dữ liệu. Corr[method=’pearson’]

Điều này là tốt để có, nhưng có một số lượng lớn các biến trong dữ liệu sẽ nhanh chóng khiến điều này tốn nhiều thời gian hơn để giải thích

Đây là lý do tôi nhập gói seaborn trong pandas

________số 8

Mô tả nhanh - Seaborn là một thư viện python để trực quan hóa dữ liệu. Nó được xây dựng dựa trên matplotlib và tích hợp chặt chẽ với cấu trúc dữ liệu pandas

Để làm cho điều này trông đẹp mắt và dễ diễn giải hơn, hãy thêm điều này sau khi tính toán hệ số tương quan Pearson

sb.heatmap[pearsoncorr, 
xticklabels=pearsoncorr.columns,
yticklabels=pearsoncorr.columns,
cmap='RdBu_r',
annot=True,
linewidth=0.5]
Kết quả và diễn giải

Bản đồ nhiệt cho hành lang Pearson

Hệ số gần bằng 1 có nghĩa là có mối tương quan thuận rất mạnh giữa hai biến. Trong trường hợp của chúng tôi, màu hạt dẻ cho thấy mối tương quan rất mạnh. Đường chéo là mối tương quan của các biến với chính chúng - vì vậy chúng rõ ràng sẽ là 1

Nhìn vào điều này chúng ta có thể nhanh chóng thấy rằng

  • Chỉ số phát triển con người [HDI] có tương quan chặt chẽ với GDP bình quân đầu người
  • Dân số cũng có mối tương quan chặt chẽ với số vụ tự tử. Đây là loại những gì chúng tôi mong đợi phải không?
Phần kết luận

Các biến tương quan sẽ tiết kiệm thời gian của bất kỳ ninja dữ liệu nào trước khi đi sâu vào thực hiện bất kỳ loại phân tích nào trên dữ liệu. Trong tâm trí của tôi, nó giống như tia X vào dữ liệu hơn. Thực hiện loại tương quan này trong bất kỳ dự án nào là chìa khóa - bạn có thể tìm thấy điều gì đó hữu ích hoặc có thể không tìm thấy gì cả, dù bằng cách nào thì bạn cũng đã học được điều gì đó về dữ liệu

x = [11, 2, 7, 4, 15, 6, 10, 8, 9, 1, 11, 5, 13, 6, 15]

y = [2, 5, 17, 6, 10, 8, 13, 4, 6, 9, 11, 2, 5, 4, 7]

# để trả về ba phần tư trên

lêson_hệ số = np. corrcoef[x, y]

print["Hệ số lê của đầu vào x và y là. \n" ,pearsons_hệ số]

Tất cả chúng ta đã nghe từ "tương quan" trước đây. Mặc dù chúng tôi có thể không chắc ý nghĩa chính xác của nó, nhưng chúng tôi biết rằng đó là một loại chỉ báo về mức độ mạnh mẽ của hai biến có liên quan với nhau. Và bạn biết những gì?

Bản thân mối tương quan là một kỹ thuật toán học để kiểm tra mối quan hệ giữa hai biến định lượng, ví dụ như giá của một chiếc ô tô và kích thước động cơ của nó

các loại tương quan

Vậy có những loại tương quan nào?

SuicideRate = pd.read_csv["suicide-rates-overview-1985-to-2016.csv"]
0

Tương quan dương chỉ ra rằng hai biến sẽ di chuyển theo cùng một hướng. Nói cách khác, nếu một biến tăng thì biến kia cũng tăng và nếu một biến giảm thì biến kia giảm tương ứng. Một mối tương quan tích cực có thể được minh họa như sau

tương quan dương. Hình ảnh được tạo bởi tác giả

Mối tương quan âm là mối quan hệ giữa hai biến trong đó sự gia tăng của một biến dẫn đến sự giảm của biến kia. Một ví dụ điển hình về mối tương quan tiêu cực là lượng oxy đến độ cao. Với sự gia tăng độ cao, nồng độ oxy trong không khí sẽ giảm [một vấn đề phổ biến đối với những người leo núi khắc nghiệt]. Một mối tương quan tiêu cực trông như thế này

tương quan âm. Hình ảnh được tạo bởi tác giả

Và cuối cùng nhưng không kém phần quan trọng, hình thức thứ ba. Không liên quan. Trong trường hợp này, các ô dữ liệu hoàn toàn ngẫu nhiên và không cho thấy bất kỳ dấu hiệu tương quan nào. Không có mối tương quan nào có thể được minh họa như thế này

Không liên quan. Hình ảnh được tạo bởi tác giả

các dạng tương quan

Bây giờ, mối tương quan có nhiều dạng khác nhau. Nó có thể là tuyến tính, phi tuyến tính hoặc đơn điệu. Hãy để chúng tôi vẽ thêm một số biểu đồ để minh họa sự khác biệt

SuicideRate = pd.read_csv["suicide-rates-overview-1985-to-2016.csv"]
1

Mối tương quan tuyến tính là một xu hướng trong dữ liệu mà cả hai biến thay đổi với tốc độ không đổi. Ví dụ: giả sử một đại lý ô tô muốn ước tính tác động của mức tiêu thụ nhiên liệu đối với giá ô tô. Họ thấy rằng cứ mỗi lít nhiên liệu tiêu thụ thêm thì giá ô tô giảm $1000. Điều này mô tả mối quan hệ tuyến tính giữa mức tiêu thụ nhiên liệu và giá ô tô trong đó giá ô tô bị ảnh hưởng bởi mức tiêu thụ nhiên liệu với tỷ lệ không đổi là $1000. Một mối tương quan tuyến tính có thể được xác định bởi một đường thẳng

Tương quan tuyến tính. Hình ảnh được tạo bởi tác giả

Một mối tương quan là phi tuyến tính khi hai biến không thay đổi với tốc độ không đổi. Kết quả là, mối quan hệ giữa các biến không biểu thị dưới dạng đường thẳng mà gây ra một dạng hơi cong trong dữ liệu. Biểu đồ sau đây minh họa điều đó có thể trông như thế nào

Tương quan phi tuyến tính. Hình ảnh được tạo bởi tác giả

Tương tự như mối quan hệ tuyến tính, cả hai biến trong mối quan hệ đơn điệu sẽ di chuyển theo cùng một hướng. Tuy nhiên, các biến không nhất thiết phải di chuyển với tốc độ không đổi. Biểu đồ tiếp theo cho thấy hành vi này trong đó cả hai biến đang tăng đồng thời nhưng không cùng tốc độ

Tương quan phi tuyến tính đơn điệu. Hình ảnh được tạo bởi tác giả. Hệ số tương quan của Pearson

Vẽ biểu đồ dữ liệu và mối quan hệ của nó giúp chúng tôi xác định loại tương quan nào chúng ta đang đối mặt và nó có dạng nào. Tuy nhiên, nó không cho chúng ta biết mối tương quan mà chúng ta đang xem xét thực sự mạnh đến mức nào. Để định lượng mối quan hệ giữa hai biến, chúng ta cần tính hệ số tương quan

Hệ số tương quan là một thước đo thống kê định lượng mối quan hệ giữa hai biến. Giá trị của hệ số nằm trong khoảng -1. 0 và 1. 0 trong khi một số tính toán lớn hơn 1. 0 chỉ ra một lỗi trong chức năng. Hệ số -1. 0 cho thấy một mối tương quan tiêu cực hoàn hảo và 1. 0 tương quan dương hoàn hảo. Hệ số 0. Mặt khác, 0 có nghĩa là không có mối quan hệ giữa hai biến

Có nhiều cách khác nhau để tính hệ số tương quan của hai biến. Cái phổ biến nhất là cái gọi là hệ số tương quan Pearson [r]. Đây là một thử nghiệm để đo lường sức mạnh của mối quan hệ tuyến tính giữa hai biến phân phối bình thường. Nếu dữ liệu không được phân phối bình thường, có thể sử dụng kiểm định Kendall và Spearman

Vì [r] nằm trong khoảng từ -1. 0 và 1. 0, việc giải thích nó có thể trở nên khó khăn khi tiến gần đến 0. Có nhiều quy tắc ngón tay cái về cách diễn giải các giá trị khác nhau của [r] nhưng có lẽ quy tắc phổ biến nhất được xuất bản năm 2003 bởi Dennis E. Hinkle và các đồng tác giả của ông trong phần giới thiệu về thống kê ứng dụng cho khoa học hành vi. Nó được thiết kế để dạy học sinh và cung cấp quy tắc ngón tay cái để giải thích kích thước của hệ số tương quan

Hinkle DE, Wiersma W, Jurs SG. Thống kê ứng dụng cho khoa học hành vi. tái bản lần thứ 5. Boston. Mifflin Houghton;

Bằng cách đo giá trị [r], chúng tôi đã định lượng được mức độ mạnh mẽ của mối quan hệ giữa hai biến. Nhưng điều đó chỉ cho chúng ta biết một nửa câu chuyện phải không? . Vì vậy, mặc dù chúng tôi biết mối tương quan trông như thế nào trong mẫu của mình, nhưng chúng tôi không thể chắc chắn liệu mối tương quan mà chúng tôi đã định lượng có đại diện cho toàn bộ dân số hay không. Do đó, bây giờ chúng tôi sẽ tiến hành một thử nghiệm ý nghĩa thống kê có thể cho chúng tôi biết liệu quan sát của chúng tôi có thể được mong đợi là đúng trong toàn bộ dân số hay không. Hãy để chúng tôi thiết lập thử nghiệm của chúng tôi từng bước

Bước 1. Xây dựng một giả thuyết

Trong kiểm định giả thuyết, chúng ta luôn phải hình thành hai giả thuyết. Một cái được gọi là giả thuyết vô hiệu trong khi cái còn lại được gọi là giả thuyết thay thế. Họ thường nêu kết quả ngược lại

Giả thuyết vô hiệu [Ho] là giả thuyết mà chúng ta đang cố gắng bác bỏ. Trong trường hợp của chúng tôi, đó là giả thuyết rằng không có mối tương quan tuyến tính đáng kể giữa hai biến trong dân số nhất định

Giả thuyết thay thế [Ha] là giả thuyết mà chúng tôi cố gắng cung cấp bằng chứng cho. Trong ví dụ này, chúng tôi sẽ cố gắng chứng minh rằng có một mối tương quan tuyến tính trong dân số

Bước 2. Tiến hành kiểm tra T

Không đi sâu vào toán học nặng nề, T-Test [còn gọi là Student’s T-Test] cho phép chúng ta kiểm tra một giả định trên toàn bộ dân số. Trong trường hợp của chúng tôi, nó sẽ giúp chúng tôi tìm hiểu xem liệu mối tương quan mà chúng tôi đã quan sát được trong mẫu của mình có thể được tái tạo trong toàn bộ dân số hay không

T-Test sẽ cung cấp cho chúng tôi một số [t] mà chúng tôi lần lượt phải giải thích. [t] càng cao, khả năng tương quan lặp lại trong tổng thể càng cao. Nhưng tại sao lại như vậy?

Nói một cách đơn giản, T-Test tính toán xem hai nhóm khác nhau bao nhiêu. Trong trường hợp của chúng tôi, chúng tôi sử dụng T-test để so sánh một nhóm không có mối tương quan và một nhóm có mối quan hệ đã được chứng minh. Nếu mối tương quan mà chúng ta đã quan sát xảy ra do trùng hợp ngẫu nhiên, [t] sẽ bằng khoảng 0, cho thấy hai quần thể giống nhau

Tuy nhiên, nếu hai nhóm có sự khác biệt đáng kể, giá trị t sẽ cao hơn nhiều và nằm ở hai cực của tổng thể. Điều này chỉ ra rằng mối tương quan mà chúng ta quan sát được không phải là do trùng hợp ngẫu nhiên và không thể tìm thấy trong một quần thể không có mối tương quan

SuicideRate = pd.read_csv["suicide-rates-overview-1985-to-2016.csv"]
2

Dân số minh họa của Ho không có mối tương quan giả định. Hình vuông màu đỏ biểu thị giao điểm với Ha và giá trị [t] >3. 2, chỉ ra rằng có sự khác biệt đáng kể giữa hai nhóm. Hình ảnh được tạo bởi tác giả

Bước 3. Giải thích giá trị p

Vì [t] là một thống kê kiểm tra lý thuyết phụ thuộc vào dân số, chúng tôi không biết liệu giá trị t mà chúng tôi quan sát có cao hay không. Nói cách khác, một dân số có phạm vi từ 0 đến 1.000 sẽ có các giá trị t khác với dân số có phạm vi từ 0 đến 1. Để khắc phục vấn đề nhỏ này, mọi T-Test cũng tính toán cái gọi là giá trị p [p]

Giá trị p cho chúng ta thấy xác suất mà chúng ta có thể quan sát giá trị t này trong dân số của Ho. Bạn cũng có thể coi nó như một trò chơi phi tiêu. [p] càng cao, khả năng phi tiêu của bạn hạ cánh ở đâu đó gần 0 trong biểu đồ trên càng cao. [p] càng thấp, khả năng bạn đánh vào giữa càng thấp

Vì vậy, [p] càng thấp thì càng có nhiều khả năng giá trị t của chúng ta nằm ở một trong các cực trị và do đó “đủ cao” để chỉ ra sự khác biệt đáng kể giữa hai quần thể của chúng ta. Hay nói cách khác. [p] càng thấp thì khả năng mối tương quan quan sát được của chúng ta không xảy ra do trùng hợp càng cao

Bước 4. Quyết định về giả thuyết

Chúng ta hãy đến phần cuối cùng và xem xét câu hỏi cuối cùng — [p] cần thấp đến mức nào?

Một lần nữa, nó phụ thuộc vào. Nó phụ thuộc vào mức ý nghĩa [a] bạn đặt cho thử nghiệm của mình. Mức ý nghĩa là ngưỡng của bạn đối với giá trị p. Thông thường, [a] được đặt thành 0. 05 hoặc 5%, nghĩa là giá trị p lớn hơn giá trị đó sẽ dẫn đến việc chấp nhận giả thuyết khống. Hay nói cách khác. nếu bạn không chắc chắn 95% rằng hai nhóm có sự khác biệt đáng kể, thì bạn không thể bác bỏ giả thuyết không

Giả sử chúng tôi đã nhận được giá trị p là 0. 002 trong khi chúng tôi đặt [a] thành 0. 05. Trong trường hợp này [p] thấp hơn mức ý nghĩa của chúng tôi và chúng tôi có thể đi đến kết luận sau

Chúng ta có thể bác bỏ Ho để ủng hộ Ha vì chúng ta nhận thấy rằng mối tương quan mà chúng ta đã quan sát được trong mẫu của mình có thể được lặp lại trong một quần thể lớn hơn và không xảy ra một cách ngẫu nhiên

Ví dụ Python

Nhưng bây giờ lý thuyết đã đủ rồi - chúng ta hãy xem một ví dụ thực tế và cách thực hiện tất cả những điều đó với Python

Bạn cần gì?

Để làm việc thông qua hướng dẫn này, bạn sẽ cần phải có các thông số kỹ thuật sau

  • Một trình soạn thảo như VS Code hoặc Spyder
  • Trăn 3. 8. 3 hoặc cao hơn
  • Bộ dữ liệu ô tô từ UCI Machine Learning Depository

Chúng ta sẽ làm gì?

Trong hướng dẫn này, chúng ta sẽ xem xét Bộ dữ liệu ô tô được cung cấp bởi UCI Machine learning Depository. Đó là một bộ dữ liệu bao gồm dữ liệu kỹ thuật và giá cả cũng như thông tin bảo hiểm cho xe ô tô từ năm 1985. Tập dữ liệu là mã nguồn mở và thường được sử dụng để huấn luyện/kiểm tra các mô hình hồi quy

Chúng tôi sẽ thực hiện một số định dạng trên tập dữ liệu này để làm cho nó hoạt động với chúng tôi và sau đó khám phá mối tương quan của một số biến với giá biến

Bước 1. Nhập thư viện làm việc

Trước tiên, chúng tôi cần nhập các thư viện mà chúng tôi sẽ cần để thực hiện phân tích của mình. Nếu bạn chưa cài đặt chúng, vui lòng kiểm tra tài liệu tương ứng và làm như vậy trước khi thực thi đoạn mã dưới đây

SuicideRate = pd.read_csv["suicide-rates-overview-1985-to-2016.csv"]
3

Bước 2. Tải dữ liệu

Nếu bạn chưa thực hiện, vui lòng tải xuống “imports-85. dữ liệu” từ trang web UCI và lưu nó vào thư mục làm việc của bạn. Xin lưu ý rằng bạn phải thay đổi “. dữ liệu” thành “. csv” để thực thi đoạn mã sau

SuicideRate = pd.read_csv["suicide-rates-overview-1985-to-2016.csv"]
4

Khung dữ liệu. Hình ảnh được tạo bởi tác giả

Bước 3. Định dạng dữ liệu

Bạn có nhận thấy - tập dữ liệu của chúng tôi không có tiêu đề và cách một số giá trị hiển thị dấu chấm hỏi không?

Ở bước đầu tiên, chúng ta hãy thêm một số tên cột để chúng ta dễ hiểu tập dữ liệu và làm việc với nó hơn

SuicideRate = pd.read_csv["suicide-rates-overview-1985-to-2016.csv"]
5

Khung dữ liệu có tiêu đề. Hình ảnh được tạo bởi tác giả

Vì điều đó dường như hoạt động tốt, bây giờ chúng ta nên xem xét các dấu hỏi này trong cột tổn thất chuẩn hóa. Chúng tôi không thể sử dụng chúng để phân tích thêm, vì vậy chúng tôi sẽ thay thế chúng bằng các giá trị NaN. Lưu ý rằng chúng tôi sẽ gọi gấu trúc. chức năng thay thế trên toàn bộ khung dữ liệu chứ không chỉ trên một cột. Chúng tôi làm điều đó để đảm bảo rằng sau này chúng tôi sẽ không gặp phải một dấu chấm hỏi nào khác ở một nơi nào khác trong tập dữ liệu

SuicideRate = pd.read_csv["suicide-rates-overview-1985-to-2016.csv"]
6

Khung dữ liệu không có dấu hỏi. Hình ảnh được tạo bởi tác giả

Vì hiện tại chúng tôi không có tổng quan về nơi chúng tôi thiếu các giá trị, chúng tôi nên chạy phân tích nhanh để tìm ra các giá trị NaN. Chúng tôi có thể làm điều đó bằng cách kiểm tra khung dữ liệu cho các giá trị NaN trước và sau đó in ra phân tích của chúng tôi bằng vòng lặp for

SuicideRate = pd.read_csv["suicide-rates-overview-1985-to-2016.csv"]
7

Khung dữ liệu với kiểm tra boolean cho các giá trị bị thiếu. Hình ảnh được tạo bởi tác giả.
SuicideRate = pd.read_csv["suicide-rates-overview-1985-to-2016.csv"]
8

Các cột được phân tích đầu tiên của vòng lặp for. Hình ảnh được tạo bởi tác giả

Nếu bạn cuộn qua phần phân tích, bạn sẽ thấy rằng chúng tôi thiếu các giá trị [=True] trong các cột sau

  • tổn thất chuẩn hóa
  • số cửa
  • chán
  • Cú đánh
  • mã lực
  • đỉnh-rpm
  • giá bán

Vì chúng tôi cần một bộ dữ liệu hoạt động, chúng tôi phải tìm cách xử lý dữ liệu bị thiếu. Nói chung, có hai lựa chọn. Chúng tôi loại bỏ các cột hoặc hàng có dữ liệu bị thiếu hoặc chúng tôi thay thế dữ liệu bị thiếu

Vì tập dữ liệu của chúng tôi không đủ lớn nên chúng tôi có thể chỉ cần loại bỏ tất cả các hàng/cột có giá trị bị thiếu, chúng tôi sẽ thay thế các giá trị bị thiếu bằng phương tiện của dữ liệu còn lại

Ngoại lệ duy nhất sẽ là cột số cửa vì dữ liệu này không phải là số. Ở đây chúng tôi sẽ thay thế dữ liệu bị thiếu bằng biến thể phổ biến nhất. Trong trường hợp này, đó là “bốn”

SuicideRate = pd.read_csv["suicide-rates-overview-1985-to-2016.csv"]
9

Còn lại gì? . Kiểm tra các biểu mẫu dữ liệu. Chúng ta có thể làm điều đó một cách dễ dàng bằng cách thực thi đoạn mã sau

SuicideRate = pd.read_csv["suicide-rates-overview-1985-to-2016.csv"]
10

Các loại khung dữ liệu. Hình ảnh được tạo bởi tác giả

Như bạn có thể thấy một số cột vẫn có kiểu dữ liệu sai [e. g. đường kính nên có số nguyên]. Vì vậy, hãy để chúng tôi sửa nó một cách nhanh chóng

SuicideRate = pd.read_csv["suicide-rates-overview-1985-to-2016.csv"]
11

Còn nhiều điều chúng ta có thể làm về tiêu chuẩn hóa và chuẩn hóa dữ liệu nhưng chúng ta không cần điều đó cho hướng dẫn này, vì vậy chúng ta hãy tiếp tục

Bước 4. Khám phá dữ liệu

Hãy để chúng tôi nhanh chóng tóm tắt lại những gì chúng tôi muốn làm. Chúng tôi muốn tìm kiếm các biến có mối tương quan nào đó với giá xe ô tô, phải không?

Để làm điều đó, chúng tôi sẽ sử dụng thư viện seaborn và chức năng regplot của nó. Hàm này sẽ vẽ các điểm dữ liệu và đường hồi quy tuyến tính cho các biến đã chọn của chúng tôi trên biểu đồ 2D. Mặc dù điều này không giúp chúng tôi định lượng mối tương quan, nhưng nó giúp chúng tôi xác định loại và hình thức của mối quan hệ giữa hai biến

Nhưng không cần phải quảng cáo thêm, hãy bắt đầu và xem giá liên quan đến

Kích thước động cơ
Hãy xem biểu đồ bên dưới. Chúng ta có thể quan sát thấy rằng đường hồi quy tuyến tính phù hợp với dữ liệu được vẽ khá tốt. Chúng ta cũng có thể quan sát thấy rằng đường hồi quy có độ dốc hướng lên. Nhưng điều đó cho chúng ta biết điều gì khi xem xét loại và hình thức tương quan?

Mặc dù độ dốc tăng dần của đường hồi quy cho chúng ta thấy rằng chúng ta có thể mong đợi mối tương quan thuận giữa kích thước và giá động cơ, nhưng sự phù hợp tốt của đường hồi quy cho thấy các biến có mối tương quan tuyến tính

SuicideRate = pd.read_csv["suicide-rates-overview-1985-to-2016.csv"]
12

Biểu đồ hồi quy cho kích thước động cơ và giá cả. Hình ảnh được tạo bởi tác giả

Highway-mpg
Biểu đồ bên dưới cho chúng ta thấy biểu đồ hồi quy cho dặm đường cao tốc trên mỗi gallon [mpg] liên quan đến giá xe ô tô. Ở đây, chúng ta có thể quan sát thấy rằng đường hồi quy đang giảm dần, cho thấy mối tương quan tiêu cực. Tuy nhiên, chúng ta có thể thấy rằng đường hồi quy không bao gồm các giá trị ngoại lệ từ 0 đến 25 trên trục x. Điều này chỉ ra rằng hồi quy tuyến tính không phù hợp và gợi ý rằng dữ liệu có thể phi tuyến tính.

SuicideRate = pd.read_csv["suicide-rates-overview-1985-to-2016.csv"]
13

Biểu đồ hồi quy cho đường cao tốc-mpg và giá. Hình ảnh được tạo bởi tác giả

Vòng quay tối đa
Biểu đồ cho vòng quay tối đa và giá lại có vẻ khác. Ta thấy các điểm dữ liệu có độ biến động lớn và đường hồi quy gần như nằm ngang. Dựa trên quan sát đó, chúng ta không thể xác định được dạng tương quan nào mà chúng ta có thể mong đợi nhưng giả sử có một mối quan hệ tuyến tính, đường hồi quy gần như phẳng cho thấy rằng chúng ta có thể mong đợi một hệ số tương quan khoảng 0. Do đó, chúng tôi sẽ kết luận rằng không có mối tương quan giữa vòng quay tối đa và giá.

SuicideRate = pd.read_csv["suicide-rates-overview-1985-to-2016.csv"]
14

Biểu đồ hồi quy cho vòng tua máy cao nhất và giá. Hình ảnh được tạo bởi tác giả

Vì sẽ mất nhiều thời gian để xem xét từng cặp biến riêng lẻ, chúng ta có thể rút ngắn quy trình bằng cách sử dụng hàm corr[] của gấu trúc

SuicideRate = pd.read_csv["suicide-rates-overview-1985-to-2016.csv"]
15

Chức năng Corr[] của pandas. Hình ảnh được tạo bởi tác giả

Như bạn có thể thấy, hàm corr[] của gấu trúc tạo ra một ma trận tương quan với tất cả các biến có trong tập dữ liệu của chúng ta. Bạn có thể hỏi - tại sao chúng tôi không làm điều này ngay từ đầu?

Câu trả lời tương đối đơn giản. Mặc dù hàm corr[] tính toán theo mặc định các hệ số tương quan Pearson, nhưng nó không cung cấp cho bạn bất kỳ thông tin nào về dạng tương quan. Do đó, nó có thể phục vụ bạn như một điểm khởi đầu tuyệt vời để xác định các mối tương quan cao tiềm ẩn nhưng việc kiểm tra từng cặp biến sẽ vẫn cần thiết

Bước 5. Tính tương quan và giá trị [p]

Hãy để chúng tôi tóm tắt nhanh kết quả của phân tích trên trước khi chúng tôi tiếp tục

  • Chúng ta có thể mong đợi một mối tương quan tích cực, tuyến tính giữa kích thước động cơ và giá cả
  • Chúng tôi đã quan sát thấy mối tương quan nghịch giữa mpg đường cao tốc và giá dường như là phi tuyến tính
  • Chúng tôi cho rằng không có mối tương quan giữa vòng tua máy cao nhất và giá và chúng tôi không có thông tin đáng tin cậy về dạng tương quan

Do đó, chúng ta có thể kết luận rằng các biến đường cao tốc-mpg và đỉnh-rpm dường như không phù hợp để tiến hành phân tích sâu hơn với hệ số tương quan Pearson

Để xem xét kỹ hơn kích thước động cơ, chúng ta có thể tính toán hệ số tương quan Pearson cũng như giá trị p với sự trợ giúp của scipy. thư viện thống kê

SuicideRate = pd.read_csv["suicide-rates-overview-1985-to-2016.csv"]
16

In sao kê. Hình ảnh được tạo bởi tác giả

Kết quả là ta nhận được hệ số tương quan Pearson ~ 0. 87 và giá trị p gần bằng 0

Vì hệ số của chúng tôi là> 0. 7 nhưng

Chủ Đề