Kurtosis trong Python là gì?

nhập gấu trúc dưới dạng pd

nhập numpy dưới dạng np

dataMatrix = [[65,75,74,73,95,76,62,100],

[101,102,103,107,157,160,191,192]];

khung dữ liệu = pd. Khung dữ liệu [dữ liệu = dataMatrix];

kurt = khung dữ liệu. kurt [trục = 1];

in["Dữ liệu. "];

in [khung dữ liệu];

print["Kurtosis. "];

in[kurt];

dataMatrix = [[70,90,90,100,120,120,100,121,125,115,112],

[58. 22,39. 33,-30. 44,36. 77,20. 80,-73. 95,-39. 99,91. 03,-138. 01,-20,Không có]];

khung dữ liệu = pd. Khung dữ liệu [dữ liệu = dataMatrix];

kurt = khung dữ liệu. kurt [trục = 1];

in["Dữ liệu. "];

in [khung dữ liệu];

print["Kurtosis. "];

in[kurt];

Công thức tuyệt vời trong thống kê là trung bình, phương sai, đối xứng và cực đại có thể được lập công thức bằng cách sử dụng một phương trình là phương trình của các khoảnh khắc

Phương trình của những khoảnh khắc được đưa ra như

Công thức trên dành cho dữ liệu chưa được nhóm và đối với dữ liệu được nhóm, sẽ có f[x]
Bây giờ ở đây khi

nó được gọi là Khoảnh khắc trung tâm vì chúng tôi đang tập trung vào giá trị trung bình

Hơn thế nữa,

  • r = 1 và A = 0 thì là trung bình cộng
  • r = 2 và A = x[bar] thì nó được gọi là phương sai
    Và do đó, lũy thừa $r[th]$ của [xi — A]^r là

độ lệch

  • Nghĩa đen là một cái gì đó thiếu đối xứng
  • Bất cứ thứ gì không có hình chuông [Phân phối Gaussian] đều bị lệch. Độ lệch xảy ra khi phân phối dữ liệu bị lệch sang bên trái hoặc bên phải
  • Đường cong gaussian có độ lệch bằng 0

Có nhiều cách khác nhau để xác định độ lệch của đồ thị.
Nổi tiếng nhất là Hệ số Fisher-Pearson. Công thức toán học này cũng đang được sử dụng trong scipy
Công thức này dựa trên các khoảnh khắc trung tâm.

trong đó mu_3 và mu_2 là khoảnh khắc trung tâm thứ ba và thứ hai

Hệ số của độ lệch sẽ được đưa ra như

Bây giờ độ lệch dương hoặc âm sẽ phụ thuộc vào giá trị trung bình và trung bình

Hãy xem xét phân phối bình thường

import numpy as np
arr = np.array[[-10,-5,0,5,10]]
import pandas as pd
import matplotlib.pyplot as plt
pd.Series[arr.reshape[5]].plot.kde[]
plt.scatter[np.mean[arr],0.04]
plt.scatter[np.median[arr],0.04]

Tham khảo bài đăng của tôi để hiểu các lô KDE https. //vừa phải. com/@pritul. dave/mọi thứ về phi tham số-xác suất-mật độ-hàm-kernel-mật độ-ước tính-kde-lô-a6e709d5bcf9

Thực hiện công thức bằng cách sử dụng Numpy

_mean = np.mean[arr]
print["Mean:",_mean]
_diff = arr - _mean
_mu3 = np.mean[_diff**3]
_mu2 = np.mean[_diff**2]
print[f"Mu 3: {_mu3} and Mu 2: {_mu2}"]
>>> Mean: 0.0
>>> Mu 3: 0.0 and Mu 2: 50.0
beta = _mu3**2 / _mu2**3
print["beta:",beta]
print[np.sqrt[beta]]
>>> beta: 0.0
>>> 0.0

Sử dụng thư viện thống kê scipy

from scipy.stats import skew
skew[arr]
>>> 0.0print["Mean > Median: ",round[np.mean[arr],3] > round[np.median[arr],3]]
print[round[np.mean[arr],3]]
print[round[np.median[arr],3]]
>>> Mean > Median: False
>>> 0.0
>>> 0.0
  • Đôi khi lưu ý trong Phân phối Gaussian, Giá trị trung bình gần với Giá trị trung bình thì chúng ta có thể nhận được các giá trị nghiêng dương hoặc âm. Do chênh lệch lỗi quá nhỏ
  • Ở đây bạn có thể thấy chúng tôi đang có ý nghĩa như -0. 0 mà thực tế là sai. Vì 0 không dương cũng không âm
  • Do đó, sự bất thường được tạo ra
độ lệch dương

Độ nghiêng sẽ dương khi độ dày của đuôi ở bên phải hoặc dương so với gốc tọa độ.
Có nghĩa là khi có một ngoại lệ xuất hiện ở phía bên phải, đường cong sẽ dịch chuyển sang trái. Vì mức độ tập trung của các điểm dữ liệu ở bên trái cao.

Hơn nữa, giá trị trung bình sẽ được đặt ở nơi có cụm dữ liệu cao và giá trị trung bình sẽ nắm bắt toàn bộ mẫu và do đó, nó sẽ được đặt sau giá trị trung bình. Do đó, Mean>> [-10 -5 0 5 10 50]pd.Series[arr.reshape[6]].plot.kde[]
plt.scatter[np.mean[arr],0.0175,marker='*']
plt.scatter[np.median[arr],0.02]

Tính hệ số nghiêng

_mean = np.mean[arr]
print["Mean:",_mean]
_diff = arr - _mean
_mu3 = np.mean[_diff**3]
_mu2 = np.mean[_diff**2]
print[f"Mu 3: {_mu3} and Mu 2: {_mu2}"]
>>> Mean: 8.333333333333334
>>> Mu 3: 10532.407407407403 and Mu 2: 388.88888888888886
beta = _mu3**2 / _mu2**3
print["beta:",beta]
print[np.sqrt[beta]]
>>> beta: 1.8861607142857133
>>> 1.373375663933839

Sử dụng thư viện thống kê scipy

________ 5 Sai lệch tiêu cực
  • Ở đây ngoại lệ phải có mặt ở phía bên trái của đường cong. Ngoài ra, một cái đuôi dày là tiêu cực của nguồn gốc
  • Một lần nữa ở đây, Cụm trung bình gần cao và Trung bình nắm bắt toàn bộ mẫu. Như vậy, Mean>Median
import pandas as pd
import matplotlib.pyplot as plt
arr = np.array[[-10,-5,0,5,10]]
arr = np.append[arr,-50]
pd.Series[arr.reshape[6]].plot.kde[]
plt.scatter[np.mean[arr],0.018,marker='*']
plt.scatter[np.median[arr],0.02]

Tính hệ số nghiêng

_mean = np.mean[arr]
print["Mean:",_mean]
_diff = arr - _mean
_mu3 = np.mean[_diff**3]
_mu2 = np.mean[_diff**2]
print[f"Mu 3: {_mu3} and Mu 2: {_mu2}"]
>>> Mean: -8.333333333333334
>>> Mu 3: -10532.407407407403 and Mu 2: 388.88888888888886
beta = _mu3**2 / _mu2**3
print["beta:",beta]
print[np.sqrt[beta]]
>>> beta: 1.8861607142857133
>>> 1.373375663933839

Sử dụng thư viện thống kê scipy

________số 8

Phương pháp 2. Để tìm độ lệch

Công thức của nó được đưa ra là

Điều này dựa trên Giá trị trung bình, Trung bình và Độ lệch chuẩn. Vì vậy, khi Mean > Median chúng ta sẽ có độ lệch âm và khi Mean>> Mean: 0.0
>>> Mu 3: 0.0 and Mu 2: 50.0beta = _mu3**2 / _mu2**3
print["beta:",beta]
print[np.sqrt[beta]]
>>> beta: 0.0
>>> 0.0
0

trường hợp 2. - Độ lệch dương

  • Biểu đồ có nghĩa là tích cực hướng về phía bên trái. Do đó, ở phía bên phải, một ngoại lệ phải có mặt
_mean = np.mean[arr]
print["Mean:",_mean]
_diff = arr - _mean
_mu3 = np.mean[_diff**3]
_mu2 = np.mean[_diff**2]
print[f"Mu 3: {_mu3} and Mu 2: {_mu2}"]
>>> Mean: 0.0
>>> Mu 3: 0.0 and Mu 2: 50.0
beta = _mu3**2 / _mu2**3
print["beta:",beta]
print[np.sqrt[beta]]
>>> beta: 0.0
>>> 0.0
1

trường hợp 3. - Độ lệch âm

  • Biểu đồ phương tiện tiêu cực nằm ở phía bên phải. Do đó, ở phía bên trái, một ngoại lệ phải có mặt
_mean = np.mean[arr]
print["Mean:",_mean]
_diff = arr - _mean
_mu3 = np.mean[_diff**3]
_mu2 = np.mean[_diff**2]
print[f"Mu 3: {_mu3} and Mu 2: {_mu2}"]
>>> Mean: 0.0
>>> Mu 3: 0.0 and Mu 2: 50.0
beta = _mu3**2 / _mu2**3
print["beta:",beta]
print[np.sqrt[beta]]
>>> beta: 0.0
>>> 0.0
2

Phương pháp 3. Sử dụng Quartiles để tìm độ lệch

  • Đối với phân phối đối xứng, độ lệch lượng tử là 0 vì độ dài Q3-Q2 bằng độ dài Q2-Q1
  • Nếu độ dài bên phải [Q3-Q2] lớn hơn độ dài bên trái [Q2-Q1], thì độ lệch lượng tử dương
  • Nếu độ dài bên trái lớn hơn, thì độ lệch lượng tử là âm. Đối với các trường hợp cực đoan khi Q1=Q2 hoặc Q2=Q3, độ lệch lượng tử là ±1. Do đó, trong khi độ lệch Pearson có thể là bất kỳ giá trị thực nào, thì độ lệch lượng tử bị giới hạn trong khoảng [-1, 1]
  • Do đó rất khó để xác định chính xác hệ số xiên
  • Độ lệch lượng tử không được xác định nếu Q1=Q3, giống như độ lệch Pearson không được xác định khi phương sai của dữ liệu bằng 0

Triển khai sử dụng Numpy

_mean = np.mean[arr]
print["Mean:",_mean]
_diff = arr - _mean
_mu3 = np.mean[_diff**3]
_mu2 = np.mean[_diff**2]
print[f"Mu 3: {_mu3} and Mu 2: {_mu2}"]
>>> Mean: 0.0
>>> Mu 3: 0.0 and Mu 2: 50.0
beta = _mu3**2 / _mu2**3
print["beta:",beta]
print[np.sqrt[beta]]
>>> beta: 0.0
>>> 0.0
3

Trường hợp 1. - Phân phối bình thường

_mean = np.mean[arr]
print["Mean:",_mean]
_diff = arr - _mean
_mu3 = np.mean[_diff**3]
_mu2 = np.mean[_diff**2]
print[f"Mu 3: {_mu3} and Mu 2: {_mu2}"]
>>> Mean: 0.0
>>> Mu 3: 0.0 and Mu 2: 50.0
beta = _mu3**2 / _mu2**3
print["beta:",beta]
print[np.sqrt[beta]]
>>> beta: 0.0
>>> 0.0
4

trường hợp 2. - Độ lệch dương

  • Đồ thị có nghĩa là dương hướng về phía bên trái. Như vậy ở vế phải phải có ngoại lệ
_mean = np.mean[arr]
print["Mean:",_mean]
_diff = arr - _mean
_mu3 = np.mean[_diff**3]
_mu2 = np.mean[_diff**2]
print[f"Mu 3: {_mu3} and Mu 2: {_mu2}"]
>>> Mean: 0.0
>>> Mu 3: 0.0 and Mu 2: 50.0
beta = _mu3**2 / _mu2**3
print["beta:",beta]
print[np.sqrt[beta]]
>>> beta: 0.0
>>> 0.0
5

trường hợp 3. - Độ lệch âm

  • Âm có nghĩa là biểu đồ hướng về phía bên phải. Như vậy, ở vế trái phải có ngoại lệ
_mean = np.mean[arr]
print["Mean:",_mean]
_diff = arr - _mean
_mu3 = np.mean[_diff**3]
_mu2 = np.mean[_diff**2]
print[f"Mu 3: {_mu3} and Mu 2: {_mu2}"]
>>> Mean: 0.0
>>> Mu 3: 0.0 and Mu 2: 50.0
beta = _mu3**2 / _mu2**3
print["beta:",beta]
print[np.sqrt[beta]]
>>> beta: 0.0
>>> 0.0
6

gai nhọn

  • Kurtosis mô tả độ phẳng/đỉnh của đường cong
  • Độ phẳng/đỉnh này liên quan trực tiếp đến các giá trị ngoại lệ

Các loại Kurtosis khác nhau

Đường cong phân phối chuẩn là Đường cong Mesokurtic

Hệ số Karl-Pearson của Kurtosis

Do đó, đối với đường cong mesokurtic có phân phối chuẩn, giá trị của beta là 3 và gamma là 0

  • Gamma còn được gọi là nhọn quá mức

Triển khai bằng NumPy

_mean = np.mean[arr]
print["Mean:",_mean]
_diff = arr - _mean
_mu3 = np.mean[_diff**3]
_mu2 = np.mean[_diff**2]
print[f"Mu 3: {_mu3} and Mu 2: {_mu2}"]
>>> Mean: 0.0
>>> Mu 3: 0.0 and Mu 2: 50.0
beta = _mu3**2 / _mu2**3
print["beta:",beta]
print[np.sqrt[beta]]
>>> beta: 0.0
>>> 0.0
7

1. Phân phối chuẩn [Đường cong Mesokurtic]

  • Ở đây phân phối dữ liệu ở đuôi trái và đuôi phải của đường cong là như nhau
_mean = np.mean[arr]
print["Mean:",_mean]
_diff = arr - _mean
_mu3 = np.mean[_diff**3]
_mu2 = np.mean[_diff**2]
print[f"Mu 3: {_mu3} and Mu 2: {_mu2}"]
>>> Mean: 0.0
>>> Mu 3: 0.0 and Mu 2: 50.0
beta = _mu3**2 / _mu2**3
print["beta:",beta]
print[np.sqrt[beta]]
>>> beta: 0.0
>>> 0.0
8

2. Ngoại lệ xuất hiện ở đuôi bên trái [Platykurtic]

_mean = np.mean[arr]
print["Mean:",_mean]
_diff = arr - _mean
_mu3 = np.mean[_diff**3]
_mu2 = np.mean[_diff**2]
print[f"Mu 3: {_mu3} and Mu 2: {_mu2}"]
>>> Mean: 0.0
>>> Mu 3: 0.0 and Mu 2: 50.0
beta = _mu3**2 / _mu2**3
print["beta:",beta]
print[np.sqrt[beta]]
>>> beta: 0.0
>>> 0.0
9

3. Ngoại lệ xuất hiện ở đuôi bên phải [Platykurtic]

from scipy.stats import skew
skew[arr]
>>> 0.0print["Mean > Median: ",round[np.mean[arr],3] > round[np.median[arr],3]]
print[round[np.mean[arr],3]]
print[round[np.median[arr],3]]
>>> Mean > Median: False
>>> 0.0
>>> 0.0
0

4. Tập trung nhiều ở trung tâm [Leptokurtic]

from scipy.stats import skew
skew[arr]
>>> 0.0print["Mean > Median: ",round[np.mean[arr],3] > round[np.median[arr],3]]
print[round[np.mean[arr],3]]
print[round[np.median[arr],3]]
>>> Mean > Median: False
>>> 0.0
>>> 0.0
1

Vẽ các đường cong

from scipy.stats import skew
skew[arr]
>>> 0.0print["Mean > Median: ",round[np.mean[arr],3] > round[np.median[arr],3]]
print[round[np.mean[arr],3]]
print[round[np.median[arr],3]]
>>> Mean > Median: False
>>> 0.0
>>> 0.0
2

Bây giờ, liên kết video youtube của blog này cũng có sẵn

~Bởi Pritul Dave

Tìm toàn bộ Notebook trên github của tôi https. //github. com/pritul2/Exploratory-Data-Analysis/tree/main/Plots

Độ nhọn và độ lệch trong Python là gì?

Độ lệch là thước đo thống kê phân phối dữ liệu không đối xứng trong khi độ nhọn giúp xác định xem phân phối có phải là phân phối nặng so với phân phối bình thường hay không . Loại phổ biến nhất của dữ liệu và phân phối xác suất là phân phối bình thường.

Kurtosis nói gì với bạn?

Kurtosis là đo lường xem dữ liệu có đuôi nặng hay đuôi nhẹ so với phân phối chuẩn . Nghĩa là, các tập dữ liệu có độ nhọn cao có xu hướng có đuôi nặng hoặc ngoại lệ. Các tập dữ liệu có độ nhọn thấp có xu hướng có đuôi nhẹ hoặc thiếu các giá trị ngoại lai. Một phân phối thống nhất sẽ là trường hợp cực đoan.

Độ nhọn là gì và tại sao nó được tính toán?

Kurtosis mô tả "độ mập" của các đuôi được tìm thấy trong phân phối xác suất . Phân phối chuẩn có độ nhọn chính xác là 3. 0, và được gọi là mesokurtic. "Đuôi béo" được nhìn thấy trong các bản phân phối có độ nhọn lớn hơn 3. 0, và được gọi là leptokurtic.

kurtosis trong học máy là gì?

Kurtosis đề cập đến mức độ hiện diện của các giá trị ngoại lệ trong phân phối . Kurtosis là một phép đo thống kê, cho dù dữ liệu có đuôi nặng hay đuôi nhẹ trong phân phối bình thường.

Chủ Đề