Làm cách nào để chuyển đổi một số Z-score từ Z-distribution (standard normal distribution, Gaussian distribution) thành p-value? Tôi vẫn chưa tìm thấy chức năng phép thuật trong Scipy's stats
module để thực hiện việc này, nhưng phải có chức năng đó.Chuyển đổi Z-score (giá trị Z, điểm chuẩn) thành giá trị p cho phân phối bình thường bằng Python
Trả lời
Tôi thích các chức năng sinh tồn (phía trên đuôi xác suất) của phân phối bình thường tốt hơn một chút, bởi vì tên chức năng có nhiều thông tin hơn:
p_values = scipy.stats.norm.sf(abs(z_scores)) #one-sided
p_values = scipy.stats.norm.sf(abs(z_scores))*2 #twosided
bình thường phân phối "chuẩn mực" là một trong khoảng 90 phân phối trong scipy.stats
norm.sf cũng gọi hàm tương ứng trong scipy.special như trong gotgenes dụ
lợi thế nhỏ của chức năng sinh tồn, sf: độ chính xác số nên tốt hơn cho các số lượng gần 1 bằng cách sử dụng cdf
Aha! Tôi đã tìm thấy nó: scipy.special.ndtr
! Điều này cũng dường như dưới scipy.stats.stats.zprob
cũng (chỉ là một con trỏ đến ndtr
).
Cụ thể, được đưa ra một chiều numpy.array
dụ z_scores
, người ta có thể có được p-giá trị làm
p_values = 1 - scipy.special.ndtr(z_scores)
hoặc cách khác
p_values = scipy.special.ndtr(-z_scores)
ngữ Strange, "Z-phân phối" thay vì "đường cong bình thường". Điểm số Z có lẽ tôi cũng muốn gọi độ lệch chuẩn trong ngữ cảnh này. –
Vâng, phân phối Z == "phân bố chuẩn chuẩn" == 'N (0, 1)'. Điều đó nói rằng, quan điểm của bạn được thực hiện tốt. Tôi đã cập nhật câu hỏi để phản ánh các thuật ngữ khác nhau cho cùng một khái niệm. – gotgenes
Tôi nghĩ hàm phân phối tích lũy (cdf) được ưu tiên hơn so với chức năng sống sót. Chức năng của người sống sót được định nghĩa là 1-cdf và có thể giao tiếp không đúng các giả định mà mô hình ngôn ngữ sử dụng cho các phần trăm định hướng. Ngoài ra, hàm điểm phần trăm (ppf) là nghịch đảo của cdf, rất thuận tiện.
>>> import scipy.stats as st
>>> st.norm.ppf(.95)
1.6448536269514722
>>> st.norm.cdf(1.64)
0.94949741652589625
Từ công thức:
import numpy as np
import scipy.special as scsp
def z2p(z):
"""From z-score return p-value."""
return 0.5 * (1 + scsp.erf(z/np.sqrt(2)))
- 1. Chức năng giá trị phân phối chuẩn Z bình thường trong C#
- 2. âm mưu pylab python phân phối chuẩn bình thường
- 3. chuyển đổi giá trị kép thành giá trị nhị phân
- 4. Chuyển đổi phân phối đồng đều thành phân phối chuẩn
- 5. Làm cách nào để chuyển đổi giá trị Integer thành giá trị thập phân?
- 6. Chuyển đổi giá trị hex thành giá trị thập phân trong VB6
- 7. cách chuyển đổi giá trị màu RGB thành giá trị thập lục phân trong C++?
- 8. Chuyển đổi giá trị Varchar thành giá trị số nguyên/thập phân trong SQL Server
- 9. Vẽ các bản phân phối bình thường
- 10. Chuyển đổi chuỗi thành giá trị ASCII python
- 11. Đặc điểm kiểu tiêu chuẩn cho giá trị sizeof (T)
- 12. Chuyển đổi giá trị int thành unicode
- 13. Cải thiện việc phân phối các giá trị hàm băm
- 14. Python- Cách tìm giá trị trung bình của nhiều giá trị/khóa trong từ điển
- 15. Cách tính giá trị trung bình và độ lệch chuẩn cho giá trị màu từ 0 đến 360?
- 16. Làm thế nào để chuyển đổi một giá trị JString JSON thành một chuỗi bình thường trong Lift?
- 17. Chuyển đổi giá trị mảng byte theo thứ tự cuối nhỏ thành giá trị ngắn
- 18. Chuyển đổi giá trị được phân cách bằng dấu phẩy thành Danh sách <Long>
- 19. Cách chuyển đổi giá trị BigInteger thành Hex trong Java
- 20. Chuyển đổi chuỗi 1 và 0 thành giá trị nhị phân
- 21. Tìm giá trị pixel cho chiều cao dòng khi "bình thường" trong Chrome
- 22. Làm cách nào để chuyển đổi giá trị NSUInteger thành giá trị int trong mục tiêuC?
- 23. datetime.strptime() chấp nhận giá trị nào cho% Z?
- 24. chuyển đổi giá trị hex #RRGGBB thành #AARRGGBB
- 25. CSS - giá trị z-index tối đa
- 26. Cần hệ thống tra cứu khóa-giá trị phân phối
- 27. Chuyển đổi chuỗi thành giá trị Enum tương đương
- 28. Tìm giá trị trung bình của mảng chưa phân loại
- 29. điểm giao nhau 2 đường cong bình thường
- 30. Cách chuyển đổi Giá trị v8 thành Array
Tôi đã bắt đầu ai ở đây http://statsandprobability.codeplex.com/ – user123976