python scipy stats帕累托适合:它是如何工作的
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python scipy stats帕累托适合:它是如何工作的,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1753字,纯文字阅读大概需要3分钟。
内容图文
![python scipy stats帕累托适合:它是如何工作的](/upload/InfoBanner/zyjiaocheng/744/c1a18a5e576444cc8e4f636d055cdccc.jpg)
…帮助和在线文档说scipy.stats.pareto.fit函数将变量作为要拟合的数据集的变量,并可选择b(指数),loc,scale.
结果是三元组(指数,loc,scale)
从相同分布生成数据应该导致拟合找到用于生成数据的参数,例如, (使用python 3 colsole)
$ python
Python 3.3.0 (default, Dec 12 2012, 07:43:02)
[GCC 4.7.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
(在下面的代码行中省略了python控制台提示“>>>”)
dataset=scipy.stats.pareto.rvs(1.5,size=10000) #generating data
scipy.stats.pareto.fit(dataset)
然而这导致了
(1.0, nan, 0.0)
(指数1,应为1.5)和
dataset=scipy.stats.pareto.rvs(1.1,size=10000) #generating data
scipy.stats.pareto.fit(dataset)
结果是
(1.0, nan, 0.0)
(指数1,应为1.1)和
dataset=scipy.stats.pareto.rvs(4,loc=2.0,scale=0.4,size=10000) #generating data
scipy.stats.pareto.fit(dataset)
(指数应为4,loc应为2,比例应为0.4)in
(1.0, nan, 0.0)
等等
在调用fit函数时给出另一个指数
scipy.stats.pareto.fit(dataset,1.4)
总是返回这个指数
(1.3999999999999999, nan, 0.0)
显而易见的问题是:我是否完全误解了这个拟合函数的用途,是否以某种方式使用它,或者它是否被简单地破坏了?
一句话:在有人提到像Aaron Clauset的网页(http://tuvalu.santafe.edu/~aaronc/powerlaws/)上给出的那些专用函数比scipy.stats方法更可靠之前应该使用它们:这可能是真的,但它们也非常耗费时间对于10000点的数据集,在普通PC上需要花费很多小时(可能是几天,几周,几年).
编辑:哦:拟合函数的参数不是分布的指数而是指数减1(但这不会改变上述问题)
解决方法:
拟合方法是一种非常通用且简单的方法,它对分布的非负似然函数(self.nnlf)进行优化.fmin.在像帕累托这样具有可以创建未定义区域的参数的分布中,通用方法不起作用.
特别是,当随机变量的值不适合分布的有效域时,一般的nnlf方法返回“inf”. “fmin”优化器不能很好地使用此目标函数,除非您已经猜测起始值非常接近最终拟合.
通常,.fit方法需要使用约束优化器进行分布,其中对pdf的适用范围有限制.
内容总结
以上是互联网集市为您收集整理的python scipy stats帕累托适合:它是如何工作的全部内容,希望文章能够帮你解决python scipy stats帕累托适合:它是如何工作的所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。