您的位置:助孕 > 广州代生小孩 > 广州三代试管婴儿费用 > 正文

毫不费力地为数据找到最匹配的统计分布并拓展使用程序

时间:2023-10-01来源:未知 作者:admin 点击: 702次

这就是为什么当您想要将单变量数据拟合到最佳分布并一次性获得所有统计属性时,您可以考虑使用distfit。有关拟合模型的更多信息使用另一个单行代码,您可以获得拟合数据(内部)

我们的目标是什么?

你有一些数据点,最好是数字。并且您想找出它们可能来自哪个统计分布。经典的统计推理问题。

当然,有严格的统计方法可以实现这一目标。但是,也许您是一位忙碌的数据科学家。或者,一个更忙的软件工程师碰巧得到了这个数据集,以快速编写一个应用程序端点,以找到与数据匹配的最佳分布。这样另一个机器学习应用程序就可以使用一些基于此分布生成的合成数据。

简而言之,您手头没有太多时间,想要找到一种快速方法来发现数据可能来自的最佳匹配分布。

基本上,您希望对多个分布运行一批自动化的拟合优度(GOF)测试,并在瞬间总结结果。

当然,您可以使用Scipy库从头开始编写代码,通过标准GOF测试运行数据,针对多个发行版逐一运行。

或者,您可以使用这个小而有用的Python库——distfit为您完成繁重的工作。

Distfit—自动拟合数据分布的Python库

根据他们的网站,distfit是一个Python包,用于单变量分布的概率密度拟合。它使用残差平方和(RSS)和GOF的其他度量来确定89个理论分布的最佳拟合。

让我们看看如何使用它。这是演示笔记本。

像往常一样安装,

pipinstall-Udistfit

生成测试数据并拟合

生成一些正态分布的测试数据并将它们拟合到distfit对象。

基本上,您希望在多个分布上运行一批自动化的拟合优度(GOF)测试,并在瞬间总结结果

那么,合身效果好吗?

注意,在上面的代码中,模型dist1不知道生成分布或其参数,即正态分布的loc或尺度参数,或者我们调用来生成数据的事实。

我们可以通过一段简单的代码一次性测试拟合优度和估计参数,

(verbose=1)

这是预期的情节(请注意,由于生成的数据的随机性,在您的情况下,情节肯定会有所不同)。

请注意绘图副标题中拟合过程估计的loc和scale参数。非常接近我们之前设置的参数值,不是吗?估计的分布类型显示为范数,即正态分布。

有关拟合模型的更多信息

使用另一个单行代码,您可以获得拟合数据(内部)并测试拟合优度的所有分布的摘要。

你会得到这样的东西,

这显示了使用给定数据测试的各种分布的所有参数。它还显示了表示拟合优度的分数——预期数据和给定数据之间的距离,即越低越好。请注意,在此模型中,不止一个分布具有相同的0分,但在内部逻辑下,正态分布被选为最合理的分布。

为什么在这个摘要中只有10个分布?

因为,默认情况下,它使用最流行的10个发行版的列表进行扫描。您可以在初始化时将确切列表指定为distfit对象的参数。

在内部使用Scipy

如果您输入,那么您将看到用于拟合过程的函数列表,它们来自Scipy包。

不要停留在拟合上,还要生成合成数据

作为附加组件,distfit模型提供API以轻松地根据最佳拟合分布生成数据。在这里,我们生成了10个随机变量,其中loc=5.5和scale=9.79(如前所述)。

您必须注意的事项

如果两个或多个分布的数据形状之间存在很多相似性,则估计可能是错误的。特别是,如果样本量(训练数据)很小。

例如,让我们从Beta分布中生成一些数据,并选择参数,使其看起来几乎像正态分布。如果我们选择参数α和β相等或接近,我们就可以做到这一点。然后,如果您拟合1000个数据点,您可能会得到正态分布作为最佳拟合分布。

但是,如果您将其扩展到10,000点样本量,您很可能会得到正确的答案。

你可以做的其他事情

您可以选择哪种统计检验(RSS、Kolmogorov-Smirnov等)用于确定最佳拟合。

您还可以指定要运行的确切分发列表。

您可以使用方法来预测响应变量的概率。

我们只展示了连续分布拟合的例子。您也可以对离散分布进行拟合。

为什么这是“生产数据科学”的一个例子?

我认为使用诸如distfit之类的实用程序包是进行高效数据科学的主要示例。

我在这篇文章中写过什么是高效的数据科学。从本质上讲,这意味着以更高的速度、稳健的方式进行相同的数据科学活动。

Whyandhowshouldyoulearn“ProductiveDataScience”?

WhatisProductiveDataScienceandwhataresomeofitscomponents?

您可以使用Scipy函数从头开始编写纯Python代码,以循环遍历各种分布并为您拥有的数据运行GOF测试。但是,当有人已经为完全相同的任务编写了一个优秀的库(带有高质量的文档)时,为什么还要浪费时间呢?

这就是为什么当您想要将单变量数据拟合到最佳分布并一次性获得所有统计属性时,您可以考虑使用distfit。


参考资料
相关文章
Copyright © 2002-2030 广州贝秀生殖中心 广州贝秀生殖中心网站地图sitemap.xml tag列表