Kiểm tra ý nghĩa thống kê SciPy
Kiểm tra ý nghĩa thống kê là gì?
Trong thống kê, ý nghĩa thống kê có nghĩa là kết quả được tạo ra có lý do đằng sau nó, nó không được tạo ra một cách ngẫu nhiên hay tình cờ.
SciPy cung cấp cho chúng ta một mô-đun có tên là scipy.stats
, có chức năng thực hiện các bài kiểm tra ý nghĩa thống kê.
Dưới đây là một số kỹ thuật và từ khóa quan trọng khi thực hiện các thử nghiệm như vậy:
Giả thuyết trong thống kê
Giả thuyết là một giả định về một tham số trong dân số.
Giả thuyết vô giá trị
Nó giả định rằng quan sát không có ý nghĩa thống kê.
Giả thuyết thay thế
Nó giả định rằng các quan sát là do một số lý do.
Nó thay thế cho Giả thuyết Null.
Ví dụ:
Để đánh giá một học sinh, chúng ta sẽ thực hiện:
"học sinh tệ hơn mức trung bình" - như một giả thuyết không, và:
"học sinh giỏi hơn mức trung bình" - như một giả thuyết thay thế.
Thử nghiệm một đuôi
Khi giả thuyết của chúng tôi chỉ kiểm tra một phía của giá trị, nó được gọi là "thử nghiệm một đuôi".
Ví dụ:
Đối với giả thuyết không:
"giá trị trung bình bằng k", chúng ta có thể có giả thuyết thay thế:
"giá trị trung bình nhỏ hơn k" hoặc:
"giá trị trung bình lớn hơn k"
Bài kiểm tra hai đuôi
Khi giả thuyết của chúng tôi đang kiểm tra cả hai mặt của giá trị.
Ví dụ:
Đối với giả thuyết không:
"giá trị trung bình bằng k", chúng ta có thể có giả thuyết thay thế:
"giá trị trung bình không bằng k"
Trong trường hợp này giá trị trung bình nhỏ hơn hoặc lớn hơn k và phải kiểm tra cả hai bên.
Giá trị alpha
Giá trị Alpha là mức ý nghĩa.
Ví dụ:
Dữ liệu phải gần đến mức nào để giả thuyết không bị bác bỏ.
Nó thường được lấy là 0,01, 0,05 hoặc 0,1.
giá trị P
Giá trị P cho biết dữ liệu thực sự gần đến mức nào.
Giá trị P và giá trị alpha được so sánh để thiết lập ý nghĩa thống kê.
Nếu giá trị p <= alpha, chúng tôi bác bỏ giả thuyết khống và nói rằng dữ liệu có ý nghĩa thống kê. ngược lại chúng ta chấp nhận giả thuyết không.
Kiểm tra T
Kiểm định T được sử dụng để xác định xem liệu có sự khác biệt đáng kể giữa giá trị trung bình của hai biến hay không và cho chúng ta biết liệu chúng có thuộc cùng một phân phối hay không.
Đó là một bài kiểm tra hai đuôi.
Hàm ttest_ind()
lấy hai mẫu có cùng kích thước và tạo ra một bộ giá trị thống kê t và giá trị p.
Ví dụ
Tìm xem các giá trị v1 và v2 đã cho có cùng phân phối hay không:
import numpy as np
from scipy.stats import ttest_ind
v1 = np.random.normal(size=100)
v2 = np.random.normal(size=100)
res = ttest_ind(v1, v2)
print(res)
Kết quả:
Ttest_indResult(thống kê=0,40833510339674095, pvalue=0,68346891833752133)Hãy tự mình thử »
Nếu bạn chỉ muốn trả về giá trị p, hãy sử dụng thuộc tính pvalue
:
Kiểm tra KS
Kiểm tra KS được sử dụng để kiểm tra xem các giá trị đã cho có tuân theo phân phối hay không.
Hàm lấy giá trị cần kiểm tra và CDF làm hai tham số.
CDF có thể là một chuỗi hoặc một hàm có thể gọi được và trả về xác suất.
Nó có thể được sử dụng như một bài kiểm tra một đuôi hoặc hai đuôi.
Theo mặc định nó có hai đuôi. Chúng ta có thể truyền tham số thay thế dưới dạng một chuỗi có một trong hai mặt, nhỏ hơn hoặc lớn hơn.
Ví dụ
Tìm xem giá trị đã cho có tuân theo phân phối chuẩn hay không:
import numpy as np
from scipy.stats import kstest
v = np.random.normal(size=100)
res = kstest(v, 'norm')
print(res)
Kết quả:
KstestResult(thống kê=0,047798701221956841, pvalue=0,97630967161777515)Hãy tự mình thử »
Mô tả thống kê dữ liệu
Để xem tóm tắt các giá trị trong một mảng, chúng ta có thể sử dụng hàm describe()
.
Nó trả về mô tả sau:
- số lượng quan sát (nobs)
- giá trị tối thiểu và tối đa = minmax
- nghĩa là
- phương sai
- sự lệch lạc
- độ nhọn
Ví dụ
Hiển thị mô tả thống kê về các giá trị trong một mảng:
import numpy as np
from scipy.stats import describe
v = np.random.normal(size=100)
res = describe(v)
print(res)
Kết quả:
Mô tảKết quả( cao quý=100, minmax=(-2.0991855456740121, 2.1304142707414964), trung bình = 0,11503747689121079, phương sai=0,99418092655064605, độ lệch=0,013953400984243667, độ nhọn=-0,671060517912661 )Hãy tự mình thử »
Kiểm tra tính bình thường (Độ lệch và Kurtosis)
Kiểm tra tính chuẩn dựa trên độ lệch và độ nhọn.
Hàm normaltest()
trả về giá trị p cho giả thuyết null:
"x đến từ phân phối chuẩn" .
Độ lệch:
Một thước đo tính đối xứng trong dữ liệu.
Đối với phân phối chuẩn, nó bằng 0.
Nếu nó âm, có nghĩa là dữ liệu bị lệch sang trái.
Nếu nó dương thì có nghĩa là dữ liệu bị lệch phải.
Kurtosis:
Thước đo xem dữ liệu nặng hay nhẹ theo phân phối chuẩn.
Độ nhọn dương có nghĩa là đuôi nặng.
Độ nhọn âm có nghĩa là đuôi nhẹ.
Ví dụ
Tìm độ lệch và độ nhọn của các giá trị trong một mảng:
import numpy as np
from scipy.stats import skew, kurtosis
v = np.random.normal(size=100)
print(skew(v))
print(kurtosis(v))
Kết quả:
0.11168446328610283 -0.1879320563260931Hãy tự mình thử »
Ví dụ
Tìm xem dữ liệu có đến từ phân phối chuẩn hay không:
import numpy as np
from scipy.stats import normaltest
v = np.random.normal(size=100)
print(normaltest(v))
Kết quả:
NormaltestResult(thống kê=4.4783745697002848, pvalue=0.10654505998635538)Hãy tự mình thử »