Hướng dẫn ks test for normality python - kiểm tra ks cho python bình thường

scipy.stats.kstest [RVS, cdf, args = [], n = 20, thay thế = 'hai mặt', meather = 'auto'] [Nguồn]#kstest[rvs, cdf, args=[], N=20, alternative='two-sided', method='auto'][source]#

Thực hiện bài kiểm tra Kolmogorov-Smirnov [một mẫu hoặc hai mẫu] để phù hợp.

Thử nghiệm một mẫu so sánh phân phối cơ bản f [x] của một mẫu so với phân phối g [x] nhất định. Thử nghiệm hai mẫu so sánh các phân phối cơ bản của hai mẫu độc lập. Cả hai bài kiểm tra chỉ có giá trị cho phân phối liên tục.

Tham sốRVSSTR, mảng_Lhe hoặc có thể gọi đượcrvsstr, array_like, or callable

Nếu một mảng, nó phải là một loạt các quan sát 1-D của các biến ngẫu nhiên. Nếu một người có thể gọi, nó phải là một hàm để tạo các biến ngẫu nhiên; Nó được yêu cầu để có một kích thước đối số từ khóa. Nếu một chuỗi, nó phải là tên của một phân phối trong scipy.stats, sẽ được sử dụng để tạo các biến ngẫu nhiên.

CDFSTR, Array_Like hoặc Callablestr, array_like or callable

Nếu Array_like, đó phải là một loạt các quan sát 1-D của các biến ngẫu nhiên và thử nghiệm hai mẫu được thực hiện [và RV phải là Array_Like]. Nếu một người có thể gọi, đó có thể gọi được được sử dụng để tính toán CDF. Nếu một chuỗi, nó phải là tên của một phân phối trong scipy.stats, sẽ được sử dụng làm hàm CDF.

Argstuple, trình tự, tùy chọntuple, sequence, optional

Các tham số phân phối, được sử dụng nếu RV hoặc CDF là chuỗi hoặc ứng dụng gọi.

Nint, tùy chọnint, optional

Kích thước mẫu nếu RV là chuỗi hoặc có thể gọi được. Mặc định là 20.

thay thế {‘hai mặt,’ Ít hơn, ’lớn hơn}, tùy chọn{‘two-sided’, ‘less’, ‘greater’}, optional

Xác định các giả thuyết null và thay thế. Mặc định là ‘hai mặt. Vui lòng xem giải thích trong các ghi chú dưới đây.

Phương thức {’auto,’ chính xác, ‘xấp xỉ,‘ asymp,}, tùy chọn{‘auto’, ‘exact’, ‘approx’, ‘asymp’}, optional

Xác định phân phối được sử dụng để tính toán giá trị p. Các tùy chọn sau có sẵn [mặc định là ‘Auto,]:

  • ‘Tự động: Chọn một trong các tùy chọn khác.

  • Chính xác, sử dụng phân phối chính xác của thống kê kiểm tra.

  • ‘Xấp xỉ: xấp xỉ xác suất hai mặt với xác suất một chiều

  • ASYMP, sử dụng phân phối tiệm cận của thống kê kiểm tra

ReturnSstatisticFloatstatisticfloat

Thống kê kiểm tra KS, D, D+ hoặc D-.

PvalueFloatfloat

Giá trị P một đuôi hoặc hai đuôi.

Ghi chú

Có ba tùy chọn cho NULL và giả thuyết thay thế tương ứng có thể được chọn bằng tham số thay thế.

  • Hai mặt: Giả thuyết null là hai phân phối giống hệt nhau, f [x] = g [x] cho tất cả x; Sự thay thế là chúng không giống nhau.

  • Ít hơn: giả thuyết null là f [x]> = g [x] cho tất cả x; Thay thế là f [x] g [x] cho tất cả x, các giá trị trong x1 có xu hướng nhỏ hơn so với trong x2.

    Ví dụ

    Giả sử chúng ta muốn kiểm tra giả thuyết null rằng một mẫu được phân phối theo tiêu chuẩn bình thường. Chúng tôi chọn mức độ tin cậy là 95%; Đó là, chúng tôi sẽ bác bỏ giả thuyết null có lợi cho giải pháp thay thế nếu giá trị p nhỏ hơn 0,05.

    Khi kiểm tra dữ liệu phân phối đồng đều, chúng tôi sẽ hy vọng giả thuyết null sẽ bị từ chối.

    >>> from scipy import stats
    >>> rng = np.random.default_rng[]
    >>> stats.kstest[stats.uniform.rvs[size=100, random_state=rng],
    ...              stats.norm.cdf]
    KstestResult[statistic=0.5001899973268688, pvalue=1.1616392184763533e-23]
    

    Thật vậy, giá trị p thấp hơn ngưỡng 0,05 của chúng tôi, vì vậy chúng tôi từ chối giả thuyết null có lợi cho sự thay thế hai mặt mặc định của các mặt hàng: dữ liệu không được phân phối theo tiêu chuẩn bình thường.

    Khi kiểm tra các biến thể ngẫu nhiên từ phân phối bình thường tiêu chuẩn, chúng tôi hy vọng dữ liệu sẽ phù hợp với giả thuyết null hầu hết thời gian.

    >>> x = stats.norm.rvs[size=100, random_state=rng]
    >>> stats.kstest[x, stats.norm.cdf]
    KstestResult[statistic=0.05345882212970396, pvalue=0.9227159037744717]
    

    Đúng như dự đoán, giá trị p là 0,92 không dưới ngưỡng của chúng tôi là 0,05, vì vậy chúng tôi không thể bác bỏ giả thuyết khống.

    Tuy nhiên, giả sử rằng các biến thể ngẫu nhiên được phân phối theo phân phối bình thường được chuyển sang các giá trị lớn hơn. Trong trường hợp này, hàm mật độ tích lũy [CDF] của phân phối cơ bản có xu hướng nhỏ hơn CDF của tiêu chuẩn bình thường. Do đó, chúng tôi hy vọng giả thuyết khống sẽ bị từ chối với alternative='less':

    >>> x = stats.norm.rvs[size=100, loc=0.5, random_state=rng]
    >>> stats.kstest[x, stats.norm.cdf, alternative='less']
    KstestResult[statistic=0.17482387821055168, pvalue=0.001913921057766743]
    

    Và thực sự, với giá trị p nhỏ hơn ngưỡng của chúng tôi, chúng tôi từ chối giả thuyết khống có lợi cho sự thay thế.

    Để thuận tiện, thử nghiệm trước đó có thể được thực hiện bằng cách sử dụng tên của phân phối làm đối số thứ hai.

    >>> stats.kstest[x, "norm", alternative='less']
    KstestResult[statistic=0.17482387821055168, pvalue=0.001913921057766743]
    

    Các ví dụ trên đều là các thử nghiệm một mẫu giống hệt với các ví dụ được thực hiện bởi ks_1samp. Lưu ý rằng kstest cũng có thể thực hiện các thử nghiệm hai mẫu giống hệt với các thử nghiệm được thực hiện bởi

    >>> x = stats.norm.rvs[size=100, random_state=rng]
    >>> stats.kstest[x, stats.norm.cdf]
    KstestResult[statistic=0.05345882212970396, pvalue=0.9227159037744717]
    
    0. Ví dụ, khi hai mẫu được rút ra từ cùng một phân phối, chúng tôi hy vọng dữ liệu sẽ phù hợp với giả thuyết null hầu hết thời gian.

    >>> sample1 = stats.laplace.rvs[size=105, random_state=rng]
    >>> sample2 = stats.laplace.rvs[size=95, random_state=rng]
    >>> stats.kstest[sample1, sample2]
    KstestResult[statistic=0.11779448621553884, pvalue=0.4494256912629795]
    

    Đúng như dự đoán, giá trị p là 0,45 không dưới ngưỡng của chúng tôi là 0,05, vì vậy chúng tôi không thể bác bỏ giả thuyết khống.

Có Kolmogorov

Thử nghiệm Kolmogorov-Smirnov được sử dụng để kiểm tra giả thuyết null rằng một tập hợp dữ liệu đến từ phân phối bình thường. Thử nghiệm Kolmogorov Smirnov tạo ra các số liệu thống kê thử nghiệm được sử dụng [cùng với mức độ tham số tự do] để kiểm tra tính quy tắc.The Kolmogorov Smirnov test produces test statistics that are used [along with a degrees of freedom parameter] to test for normality.

Bài kiểm tra KS cho bạn biết gì?

Thử nghiệm Kolmogorov-Smirnov [Chakravart, Laha và Roy, 1967] được sử dụng để quyết định xem một mẫu có đến từ một dân số có phân phối cụ thể hay không.Trong đó n [i] là số điểm nhỏ hơn YI và YI được đặt hàng từ giá trị nhỏ nhất đến lớn nhất.to decide if a sample comes from a population with a specific distribution. where n[i] is the number of points less than Yi and the Yi are ordered from smallest to largest value.

Khi nào một bài kiểm tra KS có thể được sử dụng?

Thử nghiệm KolmogorovTHER Smirnov là một bài kiểm tra mức độ phù hợp không tham số và được sử dụng để xác định hai phân phối khác nhau, hoặc liệu phân phối xác suất cơ bản có khác với phân phối được đưa ra giả thuyết hay không.Nó được sử dụng khi chúng ta có hai mẫu đến từ hai quần thể có thể khác nhau.when we have two samples coming from two populations that can be different.

Giá trị KS tốt là gì?

K-S phải là giá trị cao [tối đa = 1.0] khi độ phù hợp là tốt và giá trị thấp [tối thiểu = 0,0] khi độ phù hợp không tốt.Khi giá trị K-S xuống dưới 0,05, bạn sẽ được thông báo rằng việc thiếu sự phù hợp là đáng kể.Max =1.0] when the fit is good and a low value [Min = 0.0] when the fit is not good. When the K-S value goes below 0.05, you will be informed that the Lack of fit is significant.

Bài Viết Liên Quan

Chủ Đề