Tôi muốn tìm Ước tính khả năng tối đa cho một số dữ liệu có thể được điều chỉnh bởi một bản phân phối riêng biệt. Nhưng trong scipy.stats chỉ các lớp đại diện cho các bản phân phối liên tục có một hàm phù hợp để làm điều đó. Lý do các lớp đại diện cho các bản phân phối rời rạc là gì?Trong scipy.stats rv_continuous có một phương thức phù hợp để tìm MLE, nhưng rv_discrete thì không. Tại sao?
Trả lời
Câu trả lời ngắn: vì không ai viết mã cho nó, hoặc thậm chí đã cố gắng, theo như tôi biết.
Câu trả lời dài hơn: Tôi không biết chúng ta có thể nhận được bao xa bằng các mô hình rời rạc với phương pháp khả năng tối đa chung cho các bản phân phối liên tục.
Hầu hết các bản phân phối rời rạc có những hạn chế mạnh mẽ trên các thông số, và nhiều khả năng nhất trong số họ sẽ cần một phương pháp phù hợp với đặc trưng cho sự phân bố
>>> [(f, getattr(stats, f).shapes) for f in dir(stats) if isinstance(getattr(stats, f), stats.distributions.rv_discrete)]
[('bernoulli', 'pr'), ('binom', 'n, pr'), ('boltzmann', 'lamda, N'),
('dlaplace', 'a'), ('geom', 'pr'), ('hypergeom', 'M, n, N'),
('logser', 'pr'), ('nbinom', 'n, pr'), ('planck', 'lamda'),
('poisson', 'mu'), ('randint', 'min, max'), ('skellam', 'mu1,mu2'),
('zipf', 'a')]
statsmodels đang cung cấp một vài trong số các mô hình rời rạc nơi các thông số cũng có thể phụ thuộc vào một số biến giải thích. Hầu hết trong số đó, như mô hình tuyến tính tổng quát, cần một hàm liên kết để hạn chế các giá trị cho các tham số trong phạm vi hợp lệ, ví dụ khoảng (0, 1) cho xác suất, hoặc lớn hơn 0 cho các tham số trong mô hình đếm.
Sau đó, tham số "n" trong nhị thức và một số khác được yêu cầu là số nguyên, điều này làm cho không thể sử dụng các trình giảm thiểu liên tục thông thường từ scipy.optimize.
Một giải pháp tốt là dành cho ai đó để thêm phương thức phù hợp với phân phối cụ thể, để chúng tôi có ít nhất các phương thức dễ dàng hơn có sẵn.
- 1. Tại sao Iterator có phương thức chứa nhưng Iterable thì không, trong Scala 2.8?
- 2. C# "Không tìm thấy phương pháp phù hợp để ghi đè." - nhưng có một
- 3. Tại sao stdint.h có thể được tìm thấy nhưng cstdint thì không?
- 4. Tại sao lambdas có thể chuyển đổi thành các biểu thức nhưng các nhóm phương pháp thì không?
- 5. Tại sao Boost.Regex không tìm thấy nhiều kết quả phù hợp trong một chuỗi?
- 6. Tại sao phương thức getOffset() của joda DateTimeZone yêu cầu một "tức thì"?
- 7. Tại sao regex của tôi lại phù hợp với r'string 'nhưng không phải' chuỗi 'bằng Python?
- 8. tại sao đặt ẩn của MBProgressHUD thành CÓ, nhưng phương thức isHidden là KHÔNG?
- 9. SportStore: WebUI.WindsorControllerFactory.GetControllerInstance (System.Type: không có phương pháp phù hợp nào được tìm thấy để ghi đè
- 10. Tại sao StringBuilder không có phương thức IndexOf?
- 11. Tại sao Eclipse biên dịch điều này, nhưng javac thì không?
- 12. Tại sao Bitmap gây ra quy tắc CA2000, nhưng Hình ảnh thì không?
- 13. Tại sao XElement không có phương thức GetAttributeValue?
- 14. Tại sao "<! -" nhận xét một quy tắc kiểu, nhưng "<! -" thì không?
- 15. Tại sao '{' ném một NullReferenceException trong một phương thức tĩnh?
- 16. Tại sao ObservableCollection không có phương thức RemoveAll?
- 17. Tìm tên lớp phù hợp trong jQuery
- 18. Tại sao NSArray không có phương thức firstObject?
- 19. Tại sao có một trình lặp phương thức() trên java.util.Collection
- 20. Tại sao C# HashSets có một phương thức Distinct()
- 21. Trong PHP, tại sao "hoặc die()" hoạt động, nhưng "hoặc trả lại" thì không?
- 22. Tại sao AlertDialog.Builder không có phương thức setOnDismissListener hoặc setOnShowListener?
- 23. Javascript Regex để phù hợp với chỉ một lần xuất hiện không nhiều thì ít
- 24. Không có phương pháp nhà máy phù hợp được tìm thấy: phương pháp nhà máy 'aspectOf()'
- 25. Tại sao ngôn ngữ Python không có phương thức writeln()?
- 26. C#: Tại sao LinkedList không có một phương thức RemoveAll có một biến vị ngữ?
- 27. trong perl (v5.14.2), tại sao bản đồ {+0,0}() chính xác nhưng bản đồ {0,0}() thì không?
- 28. Python: Tại sao Danh sách không có phương thức tìm kiếm?
- 29. Tại sao biên dịch C# gọi phương thức sản để gọi phương thức BaseClass trong IL
- 30. Tại sao Cache.asMap() không phù hợp với Cache.size()?
Tôi hiểu. Cảm ơn câu trả lời hữu ích. Để bắt đầu với vấn đề của tôi sẽ được di chuyển về phía trước nếu tôi có thể từ chối hoặc cũng không từ chối Zipf như là một phân phối ứng cử viên để điều chỉnh một số dữ liệu vì vậy tôi có thể phải tự mình viết. Điều thú vị là, Mathematica có ấn tượng tốt về việc có thể tìm thấy MLE cho các bản phân phối rời rạc. Nhưng tôi tin rằng các hàm M'matica có xu hướng có rất nhiều trường hợp đặc biệt được mã hóa cứng vào chúng. –
Statsmodels có một lớp khả năng tối đa chung có thể hữu ích trong một số trường hợp, xem câu trả lời của tôi ở đây https://groups.google.com/d/msg/pystatsmodels/GZ8kXoFitn0/9ve8GVOwl1kJ MLE có thể hoạt động với Zipf (Tôi chưa bao giờ xem nó) http://stats.stackexchange.com/questions/6780/how-to-calculate-zipfs-law-coefficient-from-a-set-of-top-frequencies – user333700