TowardsDataScience 博客中文翻译 2020(八百一十七)

原文:TowardsDataScience Blog

协议:CC BY-NC-SA 4.0

异常检测的统计技术

原文:https://towardsdatascience.com/statistical-techniques-for-anomaly-detection-6ac89e32d17a?source=collection_archive---------11-----------------------

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

克莱门斯·弗兰卡在 Unsplash 上拍摄的照片

快速评估异常和异常值的五种统计工具

异常和欺诈检测是一个价值数十亿美元的行业。根据尼尔森报告,仅 2010 年全球信用卡欺诈金额就高达 76 亿美元。在英国,2018 年欺诈性信用卡交易损失估计超过 10 亿美元。为了应对这些类型的财务损失,我们使用了大量资源来识别每个行业中的欺诈和异常情况。

在数据科学中,“离群值”、“异常”和“欺诈”通常是同义词,但也有细微的区别。“异常值”通常指的是从人群中脱颖而出的数据点。然而,当这种异常值完全出乎意料且无法解释时,它就成了异常值。也就是说,所有异常都是异常值,但不一定所有异常值都是异常值。然而,在本文中,我将这些术语互换使用。

理解和检测异常值之所以重要,原因有很多。作为一名数据科学家,当我们准备数据时,我们会非常小心地了解是否有任何数据点无法解释,这些数据点可能输入错误。有时,我们会过滤完全合法的异常数据点,并删除它们以确保更好的模型性能。

异常检测也有巨大的工业应用。信用卡欺诈检测是引用最多的一种,但在许多其他情况下,异常检测是开展业务的重要组成部分,如检测网络入侵、识别仪器故障、检测肿瘤细胞等。

从简单的统计技术到复杂的机器学习算法,一系列工具和技术被用于检测异常值和异常值,这取决于数据的复杂性和所需的复杂度。本文的目的是总结一些简单而强大的统计技术,可以很容易地用于异常值的初步筛选。虽然复杂的算法是不可避免的,但有时简单的技术就足够了。

下面是五种统计技术的入门。

1) Z 分数

Z-score 可能是最简单的一种,但对于异常检测却是一种有用的统计方法。在统计分布中,Z 得分告诉您给定数据点与人群中其他数据点的距离。从技术上来说,Z-score 衡量一个给定的观察值距离平均值有多少标准差。Z 值为 2 意味着数据点距离平均值有 2 个标准偏差。

要计算 Z 得分,您只需要两个参数:均值和标准差,它们在任何编程语言中都很容易获得(例如在 Python 中,您只需将函数describe()应用于数据框)。

一旦获得这两个参数,任何给定数据点的 Z 得分都可以使用以下简单公式计算:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2)修改的 Z 分数

使用均值和标准差很容易计算 z 得分,但它有自己的局限性。在一些情况下,这不是一种理想的技术,例如:

  • 数据不是正态分布的
  • 数据/样本量小

除此之外,Z-score 对极值也很敏感(因为它的一个参数-均值-本身对极值也很敏感),因此它可能无法适当地筛选异常值。

为了克服这些缺点,对标准 Z 分数进行了一些修改:

  • 使用中值代替平均值作为参数,因为中值对异常值不太敏感
  • 中位数绝对偏差(MAD)用于代替标准偏差
  • 这些值乘以一个常数,使其约等于 SD(对于正态分布数据,MAD 约等于 0.6745*SD)

将它们放在一起,等式如下所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3)四分位距(IQR)

如果你从小到大排列数据,中点称为中位数。中位数将数据分成两半。这两半的中点被称为四分位数T4。

换句话说,你可以将数据分成三个四分位数——第一、第二和第三(第二个四分位数有一个名字——中位数*)*。所以四分位数间距是第一和第三个四分位数之间的距离。使用 IQR 的异常检测背后的理论是,如果一个数据点离第一和第三四分位数太远,它可能是一个异常值。

IQR 可以单独用于异常值检测,但下面的箱线图使用相同的算法理论,可能比 IQR 更直观。

4)箱线图

箱线图更好地展示了 IQR,但也提供了额外的信息。

在下面的盒状图中,盒子的长度是 IQR,最小和最大值由胡须表示。胡须通常延伸到盒子两侧的 1.5IQR 距离。因此,这些 1.5IQR 值之外的所有数据点都被标记为异常值。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我在 boxplot 上写了一篇关于离群点检测的独立文章,其中有一个例子和一小段 Python 代码,你可能想看看。

5)直方图

异常值检测的最后一个统计工具是分布图或直方图。这是另一种以可视化和程序化的方式跟踪异常值的方法。例如,请看下图:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

分布数据以检测潜在的异常值

仅从这个分布图就可以很清楚地看出,虽然数据集中的大多数值都被分组在一起,但仍有相当多的值似乎与众不同。因此,您可以过滤这些值,并检查这些值是否异常。

但是,如果数据的分布是倾斜的,有时您可能需要应用数据转换技术(如对数或平方根)。例如,如果我们将对数应用于上述相同的数据,数据就变成近似正态分布,并讲述关于异常值的不同故事。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

记录转换后的数据以过滤潜在的异常值

摘要

本文的目的是介绍五种简单的统计技术——z 得分、修正的 z 得分、IQR、箱线图和直方图,它们通常在数据科学中用作异常值/异常检测的粗过滤器。有时这些简单的技术对于异常检测来说已经足够好了,但有时我们需要转向更复杂的机器学习算法——kNN、SVM、DBSCAN 等。—我以后文章的一个主题(敬请关注!).

如果你喜欢我的文章,欢迎在推特上关注我。

python 中 MCAR 的统计测试…

原文:https://towardsdatascience.com/statistical-test-for-mcar-in-python-9fb617a76eac?source=collection_archive---------13-----------------------

你是否想知道在调查中遗漏的“年龄”是否与被调查者的“薪水”有关?您是否想过分析数据集中各种缺失值之间的关联?你怎么能确定缺少数据是因为没有明确的模式?—这些问题的答案相当简单—本文将向您展示如何在 python 中以统计方式证明数据缺失时变量之间的关系。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图片来源: unsplash

自从我在 R 中发现 LittleMCAR 的测试,以找出变量缺失之间的关联的重要性,我就一直在用 python 搜索类似的测试。本文将阐明如何在 python 中执行类似的测试。在本文中,我将带您浏览一组代码,这些代码分析分类数据中的缺失值。

在深入测试缺失数据机制之前,让我们先清楚地理解它们。

假设我们有一个数据集,我们需要分析那些缺少值的列以及变量之间的关系。通过分析这些机制,我们可以更好地决定如何处理它们。

任何数据集中有三种不同的数据丢失机制。

1.完全随机失踪:(MCAR)

2.随机失踪:(三月)

3.不是随意失踪:(MNAR)

MCAR:

是什么意思? 当缺失的数据点不遵循任何特定的推理或模式时。例如,您有所在社区居民的人口统计数据。但是变量“中间名”下有 50%的值缺失。这 50%的数据是数据 MCAR 的完美例子。在大多数条目中,中间名是空白的,这背后没有模式或特定的原因。

怎么处理? 在数据 MCAR 的情况下,可以采用以下方法。

a. *列表式删除:*如果数据集的任何变量/列中有缺失数据,则删除记录。只有当丢失的数据数量很少时,这种方法才最有效,比如在一个数据集中,只有 2%的数据完全随机丢失。

b. *成对删除:*成对删除仅删除统计方法中使用的变量之一缺失的情况。

在内部,它沿着相关矩阵的相同路线工作。在两个变量之间缺少值的情况下,(成对地)寻找相关矩阵考虑了这两个变量的所有完整情况。假设这个场景中的案例数是 n。

当采用另一组变量并计算相关矩阵时,完整病例的数量将不同于 n。

这是列表式成对删除的主要区别。

成对删除的优点是数据丢失最少。当一个数据集在几乎所有变量中都存在大量缺失值时,成对缺失值处理将是更明智的选择。

c. *均值、中值&众数插补:*缺失值也可以替换为各个变量的均值、中值和众数。

三月:

什么意思? 缺失数据点时遵循一种模式。我们再举一个同样的例子,你所在社区的居民人口统计数据。但这一次,几个年龄超过 45 岁的男人的工资不见了。

这里,数据中的缺失归因于另一个变量的数据。因此,它遵循“随机丢失”机制。MAR 可能是最难理解的,因为它的名字。

怎么处理? 由于这种机制涉及到一种关系,这里的最佳选择是采用一种插补技术——均值、中值、众数或多重插补——这将是本文的范围

MNAR:

是什么意思? 当缺失数据点跟随其数据的模式时,意味着遵循 MNAR 机制。举个例子,在你所在社区居民的同一个人口统计数据中,假设工资超出一定数额时,少了几个男性的工资。(比如一百万)

在这里,它遵循一个“不是随机丢失”的机制。通常,当数据丢失不是 MCAR 或 MAR 时,它倾向于遵循 MNAR。

怎么处理? 既然在 MNAR 的案例中存在自诱导关系,那么避免它们的最好方法就是做一些数据收集或者对缺失数据建模。

我们需要分析缺失值机制的原因是,我们需要了解估算缺失值的最佳方法,以便我们的 ML 模型的准确性不受影响。

让我们开始编码吧…

我已经将这个 Kaggle 数据集用于分析。让我们首先将这些数据放入数据框,并检查数据集中缺失值的总数。我现在已经从数据集中删除了 timestamp 变量,因为我在这里的目标是处理缺失值及其关系。我还将性别列的值替换为最小类别——“男性”和“女性”。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

正如我们在下面的屏幕截图中看到的,在一些列中有缺失值——State、Self-employee、work_interfere 和 comments 有很多缺失数据。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

现在,在所选的数据集中只有一个数值变量,但其中没有缺失值。所以,让我们在一个单独的数据框架中分离分类变量。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

既然我们已经分离了具有完全和不完全情况的分类变量,我们需要使用传统的卡方检验来分析每个变量的完全和不完全情况之间的关联。独立性和克莱姆系数测试。

独立性的卡方检验用于确定两个分类变量之间是否存在关联。卡方检验使用列联表或交叉表。测试以检查这些类别中的频率。

克莱姆系数是两个名义变量之间关联的量度,给出 0 到+1 之间的值。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

来源:维基百科

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

来源:维基百科

以下函数计算数据集中所有变量组合的克莱姆系数值。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

来源:堆栈溢出

在将卡方检验和克莱姆逻辑应用到我们的数据框架后,我们得到以下输出。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

正如我们在上面看到的,对于完全的情况,当一个列与它自己比较时,克莱姆系数是最高的。“独立”栏显示卡方检验显著性的结果。如果卡方的 p 值是<0.05, the association is going to be dependent.

We perform the same analysis for incomplete cases too.

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Here, Cramer’s Coefficient is Nan for few rows because the number of incomplete cases for a few of the variables could have been 1.

Generally, the accepted category for any Cramer’s coefficient association is taken from a standard set of intervals.

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Depending on the above criteria, let’s segregate our output into four different data frames –

1. cramer_high
2。克莱姆 _ 温和
3。cramer_low
4。如果有的话

以下是变量之间具有高关联性

1.自营职业者和非雇员

2.治疗和工作干扰

3.寻求帮助和健康计划

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中,“自雇&工作干扰”在我们的数据集中有缺失数据。

不完全情况下的克莱姆 V 告诉我们,在缺失数据中,在“自雇者”和“雇员人数”(大于 0.5)变量之间有很强的关系。

我们的另一个有缺失数据的变量“work_interfere”也是如此。一个人是否正在接受精神疾病的治疗,会极大地影响疾病干扰他白天工作的方式。

然而,当您查看这两个变量的 chisq 测试结果时,完全和不完全情况下的结论没有区别。这意味着这种关联不可能仅仅是由于这两个变量的数据缺失。

至于缺失值的第三个变量——“状态”,它在“远程工作”、“技术公司”、“自雇”、“同事”和“评论”之间具有中等强度的关系。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在这里,如果您看到,chisq 测试输出中有一个差异,即“state”与“remote_work”以及“state”与“tech_company”,它表示这两个变量在完全情况下是独立的,但在不完全情况下却是相关的。

换句话说,在“状态”中有一些关于失踪的东西,这取决于那个人是在家工作还是为科技公司工作(也就是相当强烈的失踪联想)。

进一步的步骤…

由于数据集中缺失值的变量之间存在固有的关系,因此数据被视为随机缺失(MAR)。因此,与其删除缺失的记录,不如采用一种插补技术,如“模式”插补,或者采用一种稍微先进的技术,如多重插补。

这样,我们将保留数据集中的大部分信息,并且最终不会影响准确性。

时间序列的统计检验

原文:https://towardsdatascience.com/statistical-test-for-time-series-a57d9155d09b?source=collection_archive---------11-----------------------

它决定了模型是否可以使用。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

斯科特·格雷厄姆Unsplash 上拍照

最近,我发表了一篇关于使用 ARIMA 模型进行预测的文章,该模型的数据本身就是 1970 年至 2015 年的二氧化碳排放量。这篇文章突然受到许多读者的关注,这是我在媒体上的获奖文章之一,下面是我的出版物,

[## R 中 ARIMA 模型的时间序列预测

从勘探到预测 1970 年至 2015 年的二氧化碳排放数据。

towardsdatascience.com](/time-series-forecasting-with-arima-model-in-r-77f4e2ae7abb)

文章发表后的几天,有一些建设性的意见来到我这里。我犯了一个错误。我已经测试了 ARIMA 模型,它通过了显著性测试,但是它不是静态的。

正如我在模型中提到的,在我对数据进行差分后,数据看起来是稳定的,它可以用于下一步。这是一个错误,所以我必须写这篇文章来澄清它。

在本文中,我将向您展示为什么在应用模型之前有必要进行统计测试,尤其是显著性测试,以及在我们基于显著性测试使序列平稳后会是什么样子。

为什么要进行显著性检验?

显著性检验是决定你能否继续分析的一个步骤。测试根据有效的假设量化你的证据。

假设你相信一个真实的陈述,你想知道它是否值得进一步分析。

如果你的证据可能与陈述不符,你就不能继续。然而,如果不太可能,你可以继续。

静态测试

在这一节中,我将使用我上一篇文章中的数据,即印度尼西亚从 1970 年到 2015 年的二氧化碳排放量,我将向您展示如何测试数据的平稳性。

扩展的迪基-富勒(ADF) T 统计检验

在我们找到选择哪个自回归(AR)和移动平均(MA)参数之前,我们必须测试数据是否是平稳的。

我们可以使用扩展的 Dickey-Fuller (ADF) t 统计检验来做这件事。ADF 检验是检验数列是否有单位根的检验。如果存在,则该序列具有线性趋势。然而,如果不是,我们可以说模型是静止的。

为了计算 p 值,我们可以在 r 上使用 tseries 库中的 adf.test 函数。

给定数据,之前我们已经计算过一次差异数据,这是 ADF 测试的 p 值,

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这个系列仍然不重要。因此,我们必须再次区分这个系列,这是 ADF 测试的 p 值,

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

现在,我们有一个稳定的数据,我们可以继续我们的模型发现。连续剧长这样,大家怎么看?

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

型号识别

在我们得到数据的完美平稳形式后,我们可以确定哪个自回归和移动平均参数符合模型。为此,我们可以用自相关函数(ACF)和部分自相关函数(PACF)来标识绘图。你可以看到下图,

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

基于该图,我们知道 ACF 和 PACF 图随着时间的推移有一个到零的尾部。因为这样,我们假设 ARIMA 模型的参数是 1,2,1。

型号诊断

在我们确定参数之后,我们对模型进行诊断。我们可以使用 r 上 astsa 库中的 sarima 函数对模型进行诊断,对于 ARIMA(1,2,1),下面是结果,

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

正如我们在 p 值上看到的,AR(1)并不显著。因此,我们不会将 AR(1)用于我们的模型。当我们用 ARIMA(0,2,1)再次应用后,结果看起来像这样,

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

因为所有参数都很重要,所以我们有一个很好的数据模型。我们将使用的模型是 ARIMA(0,2,1)。

残差分析

在我们得到完美的模型之后,我们必须检查这个模型是否超越了残差分析。这是必要的,因为如果模型的残差不具有正态分布,我们就不能使用该模型。

这里显示了通过使用 sarima 函数从残差得到的图,

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

正如我们在这里看到的,该模型在其残差上有一个平稳序列,并且每个滞后也没有任何显著的自相关。此外,Ljung-Box 测试没有通过蓝线。因此,该模型满足进行预测的要求。

预测

为了进行预测,我们可以使用 R 上的 astsa 库中的 sarima.for 函数来做这件事。这是天气预报的样子,

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我不喜欢说这个,但是结果比上一个更糟。在前一篇文章中,二氧化碳排放量约为 904.186 千吨。现在,二氧化碳排放量将在 1024782 千吨左右。

请注意,二氧化碳排放量不包括森林火灾排放量。正因为如此,我们必须认真考虑气候变化。

结论

总之,正如你在预测结果上看到的,这是一个界限,随着年份的增长,这个界限变得越来越大。所以我们不能说这是确切的数字,但至少我们知道这个数字是如何增长的。

如果政府知道如何减少二氧化碳的排放量,这张图表就不会出现。然而,如果没有政策来阻止它,图表可能会发生。

我不得不再次引用这句话来结束这篇文章。

“所有的模型都是错误的,但有些是有用的”——乔治·博克斯

参考

[1] Stoffer,D. S. & Shumway,R. H. 时间序列:一种使用 R (2019)的数据分析方法,Taylor & Francis Group。
【2】Hyndman,R.J. & Athanasopoulos,G. 预测:原理与实践 (2018),第 2 版,OTexts。
【3】平稳性测试 。Rpubs.com。

感谢您阅读我的文章,您也可以在下面查看我以前的文章:

[## 用 R 整理数据

为什么你应该在它上面投资更多,为什么这使你的分析变得容易得多

towardsdatascience.com](/tidy-data-with-r-f3d078853fc6) [## 基于 R 的文本挖掘:收集和清理数据

印度尼西亚最大媒体上的推文评论案例研究

towardsdatascience.com](/text-mining-with-r-gathering-and-cleaning-data-8f8b0d65e67c)

统计测试:如何为你的数据选择最好的测试?

原文:https://towardsdatascience.com/statistical-testing-understanding-how-to-select-the-best-test-for-your-data-52141c305168?source=collection_archive---------1-----------------------

这篇文章面向有抱负的数据科学家和机器学习(ML)学习者和实践者。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

亚历克西斯·莫拉·安古洛在 Unsplash 上的照片

他的职位不适合经验丰富的统计学家。这是面向数据科学家和机器学习(ML)学习者&从业者,他们和我一样,没有统计学背景。

对于一个来自非统计背景的人来说,统计学最令人困惑的方面, 是基本的统计测试 ,什么时候使用哪种测试?。这篇文章试图指出最常见的测试和相关关键假设之间的区别。

目录

  1. 术语:(本帖关键术语)
  2. 统计检验(假设检验)
  3. 统计假设
  4. 参数测试
  5. 参数测试流程图
  6. 处理非正态分布(非参数检验)

1)术语:

因变量和自变量

自变量通常被称为“预测变量”,是一个被操纵的变量,以观察对因变量的影响,有时被称为结果/输出变量。

  • 自变量->预测变量
  • 因变量->结果/输出变量

变量类型

区分变量类型之间的差异很重要,因为这在确定采用正确的统计检验类型时起着关键作用。有两个主要类别:

  • 定量 : 表示事物的数量(如一包烟的数量)。两种不同类型的定量变量是:
  1. 连续(又名):用于描述度量,通常可以分为小于一的单位(如 1.50 公斤)。
  2. 离散(又名区间):用于描述计数,通常不能分割成小于 1 的单位(如 1 支香烟)。
  • 分类 : 表示事物的分组(例如不同种类的水果)。三种不同类型的分类变量是:
  1. **序数:**表示有顺序的数据(如排名)。
  2. **名义:**代表集团名称(如品牌或物种名称)。
  3. 二进制:表示结果为是/否或 1/0 的数据(如左或右)。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

变量类型汇总(图片由作者提供)

2)统计测试

统计学就是关于数据的。光有数据是没意思的。我们感兴趣的是对数据的解释。

在统计学中,一个非常重要的事情是统计检验,如果统计“是对数据的解释”,统计检验可以被认为是“调查我们关于世界的想法的正式程序”。

换句话说,每当我们想要对数据的分布或一组结果是否不同于另一组结果做出断言时,数据科学家必须依赖假设检验。

假设检验

使用假设检验,我们尝试使用样本数据解释或得出关于总体的结论,评估关于总体的两个互斥陈述,以确定哪个陈述最受样本数据支持。

假设检验有五个主要步骤:

步骤 1) 陈述你的假设为一个零假设(Ho)和替代假设(Ha)。

步骤 2) 选择一个显著性水平(也称为α或α)。

步骤 3) 以一种被设计用来检验假设的方式收集数据。

步骤 4) 执行适当的统计测试:计算 p 值,并与显著性水平进行比较。

步骤 5) 决定是“拒绝”零假设(Ho)还是“拒绝失败”零假设(Ho)。

注意:虽然具体的细节可能会有所不同,但是你在测试一个假设时所使用的程序总是会遵循这些步骤的一些版本。

如果你想进一步了解假设检验,我强烈推荐这两篇关于假设检验的好文章。

[## 假设检验|带有简单示例的逐步指南

假设检验是一种使用统计学调查我们对世界的想法的正式程序。最常见的是…

www.scribbr.com](https://www.scribbr.com/methodology/hypothesis-testing/) [## 现实生活中的假设检验

用数学解决现实世界的问题

towardsdatascience.com](/hypothesis-testing-in-real-life-47f42420b1f7)

3)统计假设

统计测试对被测数据做出一些常见假设*(如果违反这些假设,则测试可能无效:例如,得出的 p 值可能不正确)*

  1. 观察值的独立性:您在测试中包含的观察值/变量不应该相关(例如,来自同一个测试对象的几个测试不独立,而来自多个不同测试对象的几个测试是独立的)
  2. 方差的同质性:被比较的每组内的“方差”应该与组内其余方差相似。如果一个组比其他组有更大的方差,这将限制测试的有效性。
  3. 数据的正态性:数据服从正态分布,正态性是指检验的分布是正态分布(或钟形),均值为 0,标准差为 1,对称的钟形曲线。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

来源:https://study lib . net/doc/10831020/the-bell-curve-the-standard-normal-bell-curve

4)参数测试

参数测试是那些只能用符合上面提到的 【三个统计假设】 的数据运行的测试。最常见的参数测试类型分为三类。

回归测试:

这些测试用于**测试因果关系,**如果一个或多个连续变量的变化预测了另一个变量的变化。

  • **简单线性回归:**测试预测变量的变化如何预测结果变量的变化水平。
  • **多元线性回归:**测试两个或更多预测变量组合的变化如何预测结果变量的变化水平
  • **逻辑回归:**用于描述数据,解释一个因变量(二元变量)与一个或多个名义变量、序数变量、区间变量或比率水平自变量之间的关系。

比较测试:

这些测试寻找变量均值之间的差异:均值比较。

  • T 检验用于精确比较两组的平均值(如男性和女性的平均身高)。
  • 独立 t 检验:检验不同人群相同变量之间的差异(例如,比较狗和猫)
  • ANOVAMANOVA 测试用于比较两组或更多组的平均值(如儿童、青少年和成人的平均体重)。

相关性测试:

这些测试寻找变量之间的关联,检查两个变量是否相关。

  • **皮尔逊相关:**检验两个连续变量之间的关联强度。
  • **Spearman 相关性:**测试两个顺序变量之间的关联强度(它不依赖于正态分布数据的假设)
  • **卡方检验:**检验两个分类变量之间的关联强度。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

参数测试总结(图片由作者提供)

5)流程图:选择参数测试

该流程图将帮助您在上述参数测试中进行选择。对于非参数替代,检查以下部分。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

参数测试流程图(图片由作者提供)

6)处理非正态分布

虽然正态分布在统计学中占有中心位置,但许多过程遵循非正态分布。许多数据集自然符合非正态模型:

-事故数量往往符合“泊松分布”

-产品的寿命通常符合“威布尔分布”。

非正态分布的例子

  1. 贝塔分布。
  2. 指数分布。
  3. 伽玛分布。
  4. 逆伽马分布。
  5. 对数正态分布。
  6. 物流配送。
  7. 麦克斯韦-玻尔兹曼分布。
  8. 泊松分布。
  9. 偏斜分布。
  10. 对称分布。
  11. 均匀分布。
  12. 单峰分布。
  13. 威布尔分布。

那么,我们如何处理非正态分布呢?

当您的数据应该符合正态分布,但却不符合时,我们可以做一些事情来处理它们:

  • 如果您的样本量足够大(通常超过 20 个项目),我们仍然可以运行参数测试,并尝试相应地解释结果。
  • 我们可以选择用不同的统计技术来转换数据,迫使它符合正态分布。
  • 如果样本量很小,有偏差,或者如果它代表另一种分布类型,您可能会运行非参数测试

非参数测试

非参数检验(下图)对数据不做太多假设,当三个统计假设中的一个或多个被违反时,它是有用的。

注意:非参数测试做出的推论没有参数测试强。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

非参数测试(图片由作者提供)

希望这篇文章对你有帮助。如果您有任何反馈,请告诉我。非常感谢你的阅读!

参考

[1]统计方法。2020.非正态分布—如何统计。[在线]可在以下网址查阅:https://www . statisticshowto . com/probability-and-statistics/non-normal-distributions

[2]Scribbr。2020.选择正确的统计测试|类型和示例。[在线]地址:https://www.scribbr.com/statistics/statistical-tests

统计思维:理解相关性

原文:https://towardsdatascience.com/statistical-thinking-understanding-correlation-5f7c63934699?source=collection_archive---------20-----------------------

从头开始的数据科学

建立对什么是相关性以及它告诉你什么的直觉

统计学是应用数据科学的核心,理解统计学会让你成为更好的数据科学家。即使——或者尤其是如果——你花了大部分时间去钻研现成的库,而不需要从零开始建立机器学习模型,你也会从理解支撑你的模型的统计力学中受益。当您调用某一类型的模型时,了解计算机正在为您做什么样的统计工作,对于选择在给定情况下使用哪个模型、了解数据将需要什么样的处理以及适当地调整您的模型来说,是非常关键的。

数据科学的学生,尤其是走训练营路线的职业中途改变者,可能会发现学习统计的本质有点令人生畏-像许多复杂的领域一样,统计有其自己的术语和符号,需要学习。不管是好是坏,许多人作为数据科学家工作,只有最低限度的统计学基础,但对统计学原理的某种直觉应该是先决条件。对一些甚至不需要任何数学知识的原则有一个好的内在感觉将会大有帮助。这些原则中首先是相关性。

相关性/独立性

对于任何类型的应用数据科学或分析来说,相关性可能是最重要的概念。两个变量相关意味着什么?简单地说,这意味着我们可以知道变量是相关的,因为它们以某种方式一起运动。也许一个上升,另一个下降,或者两者一起上升。这与一个变量的运动导致另一个变量上升或下降不同——可能有第三个看不见的变量在控制另外两个变量——但如果它们相关,知道其中一个变量的值仍会给你关于第二个变量的信息。

许多人在开始统计学课程时接触到了相关性,首先是皮尔逊相关系数的公式和一组显示不同相关性水平的图表,如下所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

具有不同相关水平的分布

在最左边的图中,我们的 x 和 y 变量之间只有很低的相关性。右边是非常高的相关性;这两个变量似乎是同步移动的,当 X 增加时,Y 也总是跟着增加。皮尔逊相关系数的值很好地反映了重要的趋势,右边的锁步关系由接近 1 的值表示,左边的低相关性由接近 0 的值表示。当然,变量也可以是负相关的,其中 Y 值通常随着 X 的增加而下降:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

正相关与负相关

因此,皮尔逊系数似乎能告诉我们很多信息,并且作为一种相关性的衡量标准几乎无处不在(如果你遇到一个“相关系数”的参考,并且没有具体说明,可以肯定它指的是皮尔逊系数)。尽管它很有用,但是,我想从计算这个奇异值转移到关注它对变量更广泛相关的意义。首先,统计学的新学生倾向于将相关值与两个变量之间的关联程度相混淆。相关系数并不是这样工作的。相关系数接近 1 仅表示 X 和 Y 变量协同移动:可以预期 Y 会随着 X 的上升而上升,而不是随着 X 的上升而上升多少。增加线的斜率实际上不会改变相关系数的值:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

相关系数相同的三个分布

另一方面,皮尔逊系数实际上只是众多不同的相关性度量之一。为什么会有不同的相关性度量?变量可以有很多不同的关联方式。考虑以下几点:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这些变量看起来应该是相关的,不是吗?

希望您能马上看到 X 和 Y 变量是相关的,但是它们之间的皮尔逊系数接近 0。为什么会这样?皮尔逊系数是线性相关的度量,这两个变量之间的关系不是线性的!当 X 小于 0 时,Y 值随着 X 的增加而下降,但当 X 大于 0 时,Y 值随着 X 的增加而上升,这一事实混淆了这一度量。幸运的是,还有其他方法来衡量相关性。对于这种特殊情况,您可能会考虑距离相关性。也存在考虑可变等级而不是数量的其他相关性度量。

为什么这如此重要?

在某种程度上,相关性是所有应用数据科学的核心。当两个变量相关时,知道其中一个可以帮助你预测另一个。变量之间的关系可能是复杂的和非线性的,这就是为什么认为相关性不仅仅是一个单一的系数是很重要的。真正重要的不是任何特定相关系数的值,而是两个变量的值是否相关。尽管皮尔逊系数为 0,但形成上述抛物线的两个变量是相关的,知道 X 变量的值可以很好地暗示 Y 变量的值。

在现实世界中,变量的测量往往是有噪声的——你的测量可能会高一点或低一点,这取决于你如何或何时测量。变量之间的关系也可能混淆,这意味着还有第三个不可测量的变量独立地影响着你所关注的一个或两个变量。因此,判断两个变量是否有关联并不总是容易的。有用的关系可能被统计噪声掩盖。许多机器学习只是试图梳理出有用的相关性的聪明工具,即使并不立即清楚这些关系是什么。

“低相关性”仍然很有意义

我想把焦点从单一系数转移开的另一个原因是,低系数本身并不意味着没有非常有意义的事情发生。许多统计学导论课程在警告人们“伪相关”的危险方面做得很好,在伪相关中,两个彼此无关的变量由于随机机会而看起来相关(特别是当样本很小时)。你可以找到许多这种虚假相关性的例子,我特别喜欢泰勒·维根收集的那些例子:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Nic 凯奇电影会导致人溺水吗?泰勒·维根收集的惊人的虚假相关性

然而,入门课程往往不会花足够的时间关注相反的问题,其中真实的关系被低相关系数所掩盖。低相关系数可能与非常有意义的效果相关联。如果某种影响有许多不同的、独立的原因,尽管有因果联系,但这种影响和每个变量之间的相关系数可能很低。为了举例说明,请考虑我生成并绘制的以下 50 个点:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

点的集合

看起来 X 和 Y 变量之间有很强的相关性吗?大概不会。皮尔逊系数是微不足道的 0.17。这个 X 变量在试图预测 Y 的模型中有用吗?你的第一个想法可能是否定的,但是如果我解释我是如何生成这些数字的,你可能会改变主意。我模拟滚动 6 个骰子,一半是六边形,另一半是二十边形,把数字加起来。上面画出的 X 变量只是这些滚动中的第一个。

因为总数是从如此多的卷中得出的,并且每个卷都是独立的,所以任何单个卷的相关系数都不可能很高。但是,如你所见,单独的低系数并不意味着变量是无用的。我在上面绘制的 x 变量(以及其他 5 个卷)具有真正的解释力。你需要完全准确地预测总数,只需要六次独立掷骰的结果,如果没有这一次,你永远也不会完全准确。

因果关系

找到相关性的下一步是考虑因果关系。你可能听说过 intro stats 的咒语“相关性不等于因果关系”。知道两个变量以某种方式联系在一起并不等同于知道它们是如何联系在一起的。您可以通过简单地查看数据来判断 X 和 Y 是否相关,但是 X 和 Y 有很多种关联方式。X 可以影响 Y,或者 Y 可以影响 X,或者其他变量可以影响两者。仅仅从数据上你无法判断哪一个是正确的。

例如,许多研究发现,学习一种乐器的孩子在学校表现更好。这类研究经常被用作证据,证明学习一种乐器能让孩子在学校表现更好;父母可能会听说他们,并决定他们的孩子应该学习钢琴,或者为学校音乐项目争取更多的资金。虽然我赞成学校的音乐项目,但这里的关系可能不像“教一个学生小提琴,然后看着他们的成绩上升”那么简单。首先,有许多令人困惑的因素,尤其是社会经济地位——有更多可支配收入的家庭更有可能负担得起一个感兴趣的孩子的乐器和音乐课。另一方面,因果关系可能实际上是反过来的——也许在学校表现好的学生更有可能想要学习一种乐器。那种专注并决心在数学课上出类拔萃的孩子也更有可能坚持学习一种乐器,直到他们看到令人满意的结果。

我们无法从观察性研究中判断到底是什么导致了什么,这一事实对政策有着重要的影响。也就是说,重要的是要记住,你不需要知道因果关系是如何流动的,相关性才具有预测能力。考虑一个大学招生官在看申请人。了解到长期学习音乐的学生往往在大学表现更好,在其他条件相同的情况下,官员可能会倾向于选择演奏乐器的学生入学。在某种程度上,对他们来说,为什么存在这种联系并不重要,他们不一定关心音乐学习是否让学生做得更好,或者是否有其他因素在起作用,他们关心的是这种关系的存在让他们能够更好地预测学生未来的表现。

相关性会使你的样本产生偏差

你经常听到“随机样本”这样的说法,不随机的样本可能会有偏差,但是样本“随机”是什么意思呢?我们处理的大多数看似随机的过程(也可能是宇宙中的一切,尽管这是另一个哲学话题)实际上都是确定的。抛硬币是“随机”的,因为你不太可能知道它会以哪种方式落地,但它是完全确定的,因为它是正面还是反面落地完全取决于硬币在空中的旋转和运动,而这又完全取决于硬币从你手中弹离的角度和力度。类似地,计算机不能以真正随机的方式行动。如果你让你的计算机生成随机数或随机取样,它将生成“伪随机数”,看起来适当随机,但实际上是从混沌但最终确定的物理过程、算术运算或两者的某种组合中得出的。

为什么需要随机数,我们如何判断伪随机数是否足够“随机”?其中一个关键是,随机数(或通过随机方法选择的样本)是独立的,与我们正在研究的任何东西都不相关。即使这些方法不是真正“随机”的,通过掷硬币或掷骰子来选择样本也很有效,因为掷硬币或掷骰子的结果与样本中的项目无关,反之亦然。

我提出这一点是因为许多数据科学是使用完全不是随机的数据池完成的。例如,公司拥有大量客户数据,他们可能想要挖掘这些数据以获得某种洞察力,但是,根据定义,你只能拥有关于你的客户的客户数据。这通常会限制你从数据中合理做出的推断,特别是因为你想要研究的变量与样本的收集方式相关。

例如,我曾经做过一个项目,研究人们对汽车的满意度。进行了一项调查,人们回答了关于他们汽车的基本信息(品牌、型号、年份等)。),他们是否遇到了汽车的某些问题以及他们的总体满意度。该团队试图模拟出一个人对自己的汽车的满意度,一些人惊讶地发现,随着车龄的增长,该模型预测的满意度会更高。当然,人们会对老式汽车不太满意?

这是一个样本选择方法和目标变量(满意度)相关的案例。毕竟,如果你真的对你的车不满意,你更有可能在你能负担得起的情况下尽快换掉它。开同一辆车十五年的人大概都喜欢开那辆车。讨厌自己车的人不会把车开那么久。在所有其他条件相同的情况下,你可能会认为人们更喜欢新车而不是旧车,但是通过调查得出的样本不会有旧车和不满意的司机的交集。

这并不意味着调查没有用,也不意味着你不能在你的模型中包括车龄。事实上,年龄最终成为了一个非常有用的满意度预测指标,正是因为这种相关性的*;如果你告诉我你已经开同一辆车很长时间了,那么你这么做的部分原因是因为你喜欢它(或者至少不讨厌它),这不是一个坏的赌注。然而,这种相关性确实限制了模型的用途。如果你已经做了这样的分析,一家汽车公司问你如何提高客户满意度,回答“嗯,开老爷车的人往往对老爷车很满意,所以你应该给你的客户老爷车”不会有太大帮助。*

统计上无关紧要的烟雾

原文:https://towardsdatascience.com/statistically-insignificant-smoke-f86ede4a8289?source=collection_archive---------29-----------------------

夸大统计签名卡

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

资料来源:https://unsplash.com

假设你正在开会,看着某人展示一个图表。该图显示了一个重要的小客户群的关键绩效指标的趋势。我们都经历过。

演讲者指着图表中的一个尖峰,告诉人们忽略它,因为它的“样本量”很小,缺乏“统计意义”。人们点头,演示继续进行。

坚持住。结论可能是对的,但推理是错的。

首先,图表不是基于一个样本。该图基于整个段。只是刚好是一小段。

这意味着采样没有方差或偏差,这反过来意味着尖峰确实发生了。然而,油价飙升是否重要,是否值得采取后续行动,则是另一回事了。

这是怎么回事?小人口规模正与小样本规模混为一谈。但是这种区别实际上关系到我们如何解释数据。

让我们通过浏览这两个场景来深入了解一下。

关于小群体:

假设我们有两个小村庄——村庄 A 和村庄 B——每个村庄有 5 个居民。我们想比较这些村庄的平均收入水平。这些村庄所有 10 个人都有干净的收入数据。

我们的计算显示,A 村的平均年收入为 50k 美元,b 村为 60k 美元。这种差异是 100%真实的,因为我们查看了这两个村的所有数据。还有,感觉是实质性的区别;B 村的人平均多赚 20%的钱。

现在,事实证明 B 村的平均收入更高,因为有一个人每年挣 10 万美元。这个人决定搬到另一个村庄,现在 B 村的平均收入下降到 51k 美元。1000 美元的差异仍然是 100%真实的,因为我们仍然在看所有公民的数据,但这感觉不再是实质性的。只需要一个人动一动!

这个故事的寓意是什么?在处理小群体(例如,小部分客户)时,我们在解释指标峰值时一定要小心,因为单个异常值或几个新数据点的添加都会改变事情。波动性更大。但这与统计显著性或抽样无关。

关于小样本量:

这就是统计学意义发挥作用的地方。

想象两个大城市,每个都有数百万居民。我们想知道这些城市的平均家庭收入水平是否不同,但是我们没有这些城市的任何收入数据。

所以我们使用假设检验和抽样:

  1. 创建一个无效假设和一个替代假设。无效假设是平均收入水平相同。另一个假设是平均值不同。
  2. 从每个城市随机抽取样本。
  3. 拒绝或接受零假设。通常,您会根据测试统计来计算p-值(除非您是反频率主义者)。我们可以不严格地**将p-值视为当其为真时拒绝零假设的机会(犯类型 1 错误)。在大多数情况下,当p-值小于 0.05 时,人们会舒服地拒绝零假设并声称有统计学意义。

我们的样本越小,我们就越有可能犯第二类错误——也就是说,当确实存在差异时,我们无法拒绝零假设。

那么有哪些外卖?

→我们不应该如我的题目所暗示的那样忽视统计学意义。这是一个完全合法的框架,经常应用于许多不同类型的应用程序,从药物测试到市场营销。但它不适用于小群体的尖峰图。

→如果我们处理的是小规模人群,我们不能说指标中的所有峰值和谷值在统计上无关紧要,就自动放弃它们。这只是在吹统计烟雾时应用了错误的框架。

→为什么这很重要?这不仅仅是关于使用正确的统计学术语(尽管那样会很好)。真正的问题是:如果我们总是对每一个小群体异常做出相同的(错误的)全面诊断,我们将不可避免地错过一些重要的东西。在某些时候,所有大客户群都是小群体。

**从技术上讲,p-值是在假设零假设为真的情况下,获得至少与观察结果一样极端的结果的概率。当零假设为真时,它实际上不是拒绝零假设的概率,因为p-值是基于频率主义推理(与贝叶斯推理相反),因此不提供关于假设的任何概率度量。见此处

具有统计意义的编年史

原文:https://towardsdatascience.com/statistically-significant-chronicle-d1b498c476e9?source=collection_archive---------29-----------------------

t 检验、单因素方差分析和事后检验——这些是什么,何时使用哪一种,如何使用?

在我之前的文章的一篇中,我们谈到了统计学意义的基础,我得到了一些非常有希望的反馈,这让我回到这里尝试涵盖更多的概念。

先从 t-tests 开始吧。当我们不知道总体均值和标准差时,进行 t 检验,以找出两组的均值之间的差异。该检验背后的基本假设是,它假设样本来自具有正态分布的总体。我将用一个例子来更好地解释这一点:

有两家你喜欢的不同的餐馆。其中一个平均评分 3.5,另一个平均评分 3.7。你需要带你的约会对象去这些餐馆之一。你应该选择评分高的那个吗?我想你应该这么做,因为这是一个约会,但是如果第一个的人均花费是 30 美元,而第二个是 60 美元呢?评分的差异是否有统计学意义,足以让你的钱包负担翻倍?找出答案的唯一方法是对餐馆 A v/s B 的评级集进行 t-test。选择两个地方的所有评级数据集,并对它们进行 t-test。这样你就回答了这个问题:评分的差异是否足够显著(或者仅仅是一个巧合)?当然,我不建议与你的约会对象分享你进行了 t 测试来选择地点,但我希望我成功地向你展示了这个测试的用例。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在你的约会中这样说话,你 100%可能(参考我以前文章中的影响大小)不会有 p < 0.05 的第二次约会

下一部分是如何进行 t 检验。我将在 python 上发布一个简单的代码片段来说明这一点,并为您解释结果。为了同样的练习,我将挑选The Rocks Cafe**&Dare Cafe作为问题中的两家咖啡馆。首先要做的是检验正态假设。这里我指的是样本来自正态分布的总体。疯狂的假设,对!如何检查收视率的总体,以确定收视率是否呈正态分布!常识告诉我,它应该是正态分布的,但有办法检查这一点吗?可能有…但这不是简单的事情。因此,虽然我在这里假设它们是正常的,并继续前进,但我也将展示在你不打算简单地说“常识”的情况下该怎么做,以及假设结果在这种情况下如何不同。**

**#Getting the Dataset ready!
import itertools
import numpy as np
ratings = [1,2,3,4,5]
ratings_rocks=[27,35,111,402,526] #number of 1,2,3,4 and 5 rating for The Rocks
ratings_dare=[9,4,6,51,156] #number of 1,2,3,4 and 5 rating for Dare
ratings_rocks_list=list(itertools.chain.from_iterable(itertools.repeat(x, y) for x,y in zip(ratings,ratings_rocks)))
ratings_dare_list=list(itertools.chain.from_iterable(itertools.repeat(x, y) for x,y in zip(ratings,ratings_dare)))
print ("Rating for Rocks is: "+str(np.mean(ratings_rocks_list)))
# Rating for Rocks is: 4.239782016348774
print ("Rating for Dare is: "+str(np.mean(ratings_dare_list)))
# Rating for Dare is: 4.508849557522124**

现在我们已经准备好了数据集,让我们创建两者的平均值和标准差,然后是标准误差和自由度,以获得… Naah…所有这些…您需要做的就是从 scipy.stats 库中运行 ttest_ind 以获得以下内容

**from scipy.stats import ttest_ind
stat, p = ttest_ind(ratings_rocks_list, ratings_dare_list)
print('t=%.3f, p=%.4f' % (stat, p))
#t=-3.943, p=0.0001**

如果你碰巧交换了这两个列表,改变的只是 t 值的符号。不要太在意 t 值,因为它与 p 值相关联,如果你能读出校正后的 p 值,那就没什么意义了。因此,这里的结果表明,即使两家咖啡馆的评分相差 0.25,这也是一个相当大的差异,值得你为约会换个地方。

然而,我认为强调学生的 t-test(我们刚刚在上面检查过的那个)是最好的实践是公平的,因为我们的处理能力非常有限。现在我们有了更好的计算能力,使用像 Wilcoxon 测试这样的东西是更好的选择,它不会形成像我们在上面所做的假设一样的假设,比如人口的正态分布。让我们用 Wilcoxon t 检验(2 样本 Wilcoxon 检验也称为曼惠特尼 U 检验)做同样的事情,看看我们得到什么样的结果。

**from scipy.stats import mannwhitneyu
stat, p = mannwhitneyu(ratings_dare_list, ratings_rocks_list)
print('t=%.3f, p=%.4f' % (stat, p))
#t=98019.500, p=0.0000**

由此,我们看到结果表明了同样的事情,尽管由于两个测试背后的基本方法和假设,两个场景中的 p 值是不同的。如果你要比较两个不同的样本,我会推荐使用这种方法,而不是学生的 t 检验,因为学生的 t 检验方法假设了正态性。

让我们转到另一个场景。如果我想比较 3 个不同的咖啡馆,而不是 2 个不同的样品/咖啡馆,会怎么样?一种方法是对 A 和 B,A 和 C,B 和 C 做 Wilcoxon t 检验,很简单!但是如果我们有 4 家甚至 10 家咖啡馆呢?这些组合将会不断增加。为了处理这种情况,我们做了一个叫做单向方差分析的测试。单向方差分析(ANOVA)用于确定三个或三个以上独立(不相关)组/样本的平均值之间是否存在任何统计学显著差异。

这里需要注意的是,单因素方差分析可以用来替代多组的 t 检验,但从数学上来说,它更像是一个回归模型,用于建立因果关系。

例如,如果我们去看我的关于分段的文章,一旦我从层次聚类方法中得到一个聚类,我就对这些聚类进行方差分析,以确定这些聚类是否实际上是不同的,给定所有特征中的这些差异。

执行 ANOVA 的最好方法是使用下面的代码集

**from statsmodels.formula.api import ols
formula='y~C(X1)+C(X2)'
results = ols(formula, data=df).fit()
results.summary()**

在上面的公式中需要注意的是,它借用了 R,这就是为什么你看到的格式有点非 pythonic 化。作为对上面代码的总结,您将得到如下表格

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

上面代码的总结

我们来试着解读一下上表。正如您可能已经猜到的,首先要注意的是总体概率(F 统计量),它表示结果的 p 值。这表明在总体水平上,这些组是否不同。如果是,那么你继续检查每个独立变量的 P>|t|,这表明这些变量中的哪些在模型中实际上是不同的。在上面的例子中,我们可以看到,由于这个值小于 0.05,只有 x2 是显著不同的。当然,这里还有其他重要的参数,我们应该关注,其中最重要的是调整后的 R2,它解释了 y 中有多少可变性是由 x 中的可变性解释的,这表明了模型的稳健性或完整性,但这是另一天的讨论。暂且这么说吧,光看这些参数应该就够我们用的了。

应该注意的是,多重共线性经常会影响单个 t 检验的结果。这是一个特别常见的情况,通常可以通过正确阅读此表来解释。多重共线性的一个症状是单个系数不显著,但总体 p 值显著。

让我们假设方差分析给我们的结果是各组之间有显著差异。那么下一个问题来了——那又怎样?为了回答这个问题,我们使用事后测试。

事后分析的字面意思是“在此之后”,只有当你已经确定方差分析在要求的水平上是显著的,它才应该被应用。事后测试确定了两组之间的实际差异。让我们回到我举的电影例子。一旦我确定集群差异在总体水平上是显著的,我就继续应用 Tukey 测试,这是一种事后测试。使用下面的代码:

**import statsmodels.stats.multicomp as multi
for col in city_final.columns:
    mc1=multi.MultiComparison(city_final[col],city_final['Cluster'])
    res1=mc1.tukeyhsd(alpha=0.05)
    print col
    res1.plot_simultaneous()
    plt.show()
    print res1.summary()**

有了上面的 cole 代码片段,我开始为所有分类列创建一个家族式的检查,以找出聚类之间的不同之处。作为上面代码的结果而创建的一个图的例子是

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Tukey 测试示例图

上面的图表明,对于这个特定的特征,其中 0 和 2 分类彼此非常相似,分类 1 具有显著更高的值(p<0.05 水平,因为这是我们在上面的代码中使用的)。我们记下了每个集群的所有主要特征,瞧,我们有了这 3 个集群的定义。

我希望通过这些例子和代码片段,我已经使事情变得更容易理解了,并且您不再是(了!)被下面的 xkcd 帖子搞糊涂了:)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

统计学家也应该学习张量流

原文:https://towardsdatascience.com/statisticians-should-learn-tensorflow-too-58309441d3c2?source=collection_archive---------38-----------------------

统计学和机器学习在某种程度上一直存在分歧。下面是 TensorFlow 如何弥合这一差距。

委婉地说,统计学家总是带着一定程度的怀疑看待机器学习。

虽然统计学依赖于科学方法,并与任何学术领域一样受到同样的辩论和审查,但机器学习已经获得了“黑箱”方法的恶名,即数据只是被插入模型以产生结果,而结果不一定可靠。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

来源:图片由 ArtsyBeePixabay 拍摄。

也就是说,如果知道如何正确利用统计学和机器学习,这两者的结合会非常强大。

以下是我个人经验中的一些例子,说明 TensorFlow 是如何变得更加“统计友好”的,以及为什么这个软件库应该得到统计界更多的关注。

1。TensorFlow Probability 是一个被低估的概率编程工具

TensorFlow 最初发布于 2015 年,2018 年 6 月发布了第一版 TensorFlow Probability。

这个库结合了概率编程深度学习的能力,以便对大型数据集进行统计分析。具体来说,TensorFlow Probability 强调了贝叶斯方法,它补充了 Python 中的 PyMC3 库,pym C3 库也实现了贝叶斯建模和统计分析。

我预计这个图书馆将对未来的统计学家变得越来越重要。随着数据集变得越来越大,人们越来越重视概率在时间序列分析中的作用,张量流概率在处理这两个方面非常有效。

在新冠肺炎事件发生之前,我一直在做一个关于酒店取消预订的兼职项目。该项目的部分目的是运行一些时间序列模型来预测给定酒店每周取消预订的数量。

然而,一个纯时间序列模型有其局限性,因为它不能解释极端情况下的时间,即全球疫情关闭酒店并导致取消预订的大幅增加。从这个角度来看,如果以今天的数据为模型,ARIMA 或 LSTM 等模型仍将被证明是非常不准确的。

也就是说,如果同样的数据用张量流概率建模会怎么样?

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

来源:Jupyter 笔记本输出

在查看该图时,我们可以看到,虽然也给出了线性预测,但该预测是基于后验分布建模的,以确定结果的范围。例如,我们可以看到,在极端情况下,取消订单可能会超过每周 500 个。

这使得酒店可以询问——在什么情况下酒店每周会有超过 500 次的取消预订——以及如何防止这种情况发生?

在进行预测时,张量流概率考虑到了不确定性,我预计这将变得越来越重要。

2。Keras 和 R 的兼容性强

从 TensorFlow 版本开始,Keras 已经成为库的默认 API。

Keras 用于快速直观地生成深度神经网络。这种神经网络可用于设计分类和预测任务,以及用 LSTM 模型进行时间序列分析。

但是,Keras 也能够在 R 环境中运行,这一点不一定广为人知。

这为基础统计分析与机器学习模型的结合提供了一个强大的平台。

一个例子(在下面的参考文献部分引用)是使用序列模型来预测血糖水平。

该库附带了可视化训练和验证损失的工具,就像在 Python 中一样:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

资料来源:RStudio

然而,R 用户也可以利用 R 中的许多统计函数来促进分析。虽然像 Python 中的 pyplotseaborn 这样的库也可以生成相关图,但是使用 r

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

资料来源:RStudio

此外,R 还附带了一个名为 MLMetrics 的便利库,可以轻松计算损耗和精度指标。

从这个角度来看,希望利用机器学习的统计学家可以很容易地使用 Keras 在 R 中完成工作,而不是为了利用机器学习解决方案而必须学习 Python。

3。与微软的 InterpretML 等可解释库结合使用时非常直观

最近,人们越来越重视让机器学习模型变得可解释。也就是说——让模型输出容易被人类理解。

例如,来自微软的 InterpretML 库的 DiCE 擅长于通过生成不同的反事实解释。例如,假设我们正在构建一个分类模型,以预测客户是否会根据不同的属性取消酒店预订,例如他们的原籍国、交付时间、客户类型等因素。

在本例中,DiCE 能够获取客户未取消预订的实例,并生成反例,即特征参数的变化会使客户更有可能取消预订。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

来源:Jupyter 笔记本输出—解释

当使用 Keras 构建顺序模型时,DiCE 通过保留模型训练参数对此进行补充,即使数据本身必须在一段时间后删除,例如,由于数据隐私法规等。

从这个角度来看,机器学习正在发展到一个重点,即让结果更加直观和易于理解——从这个例子中我们已经看到,TensorFlow 可以在这方面很好地补充其他 ML 库。

4。必要时能够跨其他领域同时构建模型

你可能是一名统计学家,但你能肯定地说你永远不需要跨另一个学科构建算法吗——例如自然语言处理或图像分类?

学习张量流和神经网络的美妙之处在于,不同领域的模型配置实际上可能非常相似。

例如,我第一次接触 LSTM(长短期记忆)网络是通过一门自然语言处理课程。然而,由于这种模型的序列性质(或理解观察值之间的依赖性的能力),我了解到 LSTM 模型在建模不稳定的时间序列数据时实际上是非常有效的。这个模型不一定适合所有情况——如果一个时间序列有一个很强的趋势,那么更传统的模型,如 ARIMA 模型,往往会更好地工作。

然而,我发现自己使用 LSTM 来完成某些时间序列任务,因此在这种情况下,机器学习仍然与时间序列学科相关。

作为另一个例子,学习如何将 CNN(卷积神经网络)用于分类任务,可以更容易地理解如何使用相同的网络进行图像分类。通过这种方式,理解张量流神经网络如何运行也有可能打开其他学科的知识。

结论

作为一个经常使用时间序列和统计方法的人,我发现 TensorFlow 在这些领域使用机器学习时非常有用。

我预计,随着数据量越来越大——越来越需要机器学习来及时有效地处理这些信息——同时仍然允许对结果进行直观的解释。

出于这些目的,我对 TensorFlow 印象深刻,它将继续成为我的数据科学工具包中的重要参考。

免责声明:本文是在“原样”的基础上编写的,没有担保。本文旨在提供数据科学概念的概述,不应以任何方式解释为专业建议。

参考文献

统计与概率:概率导论

原文:https://towardsdatascience.com/statistics-and-probability-introduction-to-probability-3922a8596ab8?source=collection_archive---------16-----------------------

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

乔希·阿佩尔在 Unsplash 上的照片

想象你在一场比赛中。主人给你呈现了三扇门。其中一扇门后是一辆全新的奥迪,其余两扇门后是山羊。主人让你从这三扇门中选择一扇门,然后打开剩下的两扇门中的一扇门,展示一只山羊。现在告诉我,你是坚持你最初的门还是切换到另一个未打开的门去拿你的奥迪?

这就是著名的天魔堂问题。如果我告诉你,通过学习概率的基础知识,你有更大的机会赢得这场比赛,并带着一辆全新的奥迪回家,会怎么样?当谈到机器学习时,统计和概率是被广泛忽视的主题。很多人倾向于忽略它们,因为它们看起来很难,可能没有机器学习那么酷。但是,为了理解和掌握一些最常用的机器学习算法背后的核心概念,至少熟悉统计和概率的基础知识是很重要的。这篇文章的目的是给你一个关于概率及其各种类型的有价值的介绍。除此之外,我们还需要解决天魔厅的问题,所以让我们来看几件重要的事情。

可能性

顾名思义,概率只不过是对一个事件发生的可能性的估计。也被称为边际概率,它只是一个反映事件发生可能性的数字。它可以是 0 到 1 之间的一个数字,也可以表示为一个百分比值。让我们一步一步来。

实验

我们将在概率论的背景下定义一个实验,概率论是数学的一个分支,专门研究概率。一个实验被定义为一个程序,虽然可以重复无数次,但仍然有一组明确定义的可能结果。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

随机 v/s 确定性实验。图片作者。

一个实验可以有两种类型,我们根据结果来区分它们。两者都有一个例子:

  • 随机实验:掷骰子可以得到 6 个值中的一个-{ 1,2,3,4,5,6 }
  • 确定性实验:将一些特定的数字相加总会得到相同的结果

事件

一个事件是一个结果,或者更确切地说是一组我们可以计算概率的实验结果。实验的所有可能结果的集合形成了样本空间。所以我们可以说事件基本上是样本空间的子集。
比方说,我从钱包里拿出一枚硬币,然后抛硬币。这里的实验是抛硬币——可能的结果是什么?
可能是正面也可能是反面——你知道其中一个会是结果,但你不能说是哪一个。这意味着有两种可能性——正面着地或反面着地。

随机变量

在这样的情况下,正如前面提到的,我们说这个实验是随机的。任何代表这种随机实验结果的变量被称为随机变量。但是,你能说正面事件发生的可能性有多大吗?还是反面?

概率论直觉

因为翻转正面是这两个可能场景中的一个事件——{正面或反面}——我们说这个事件有 50%的概率是正面。同时也可以说有 50%的几率翻跟头。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

正面还是反面?照片由rupixen.com

如果我们扩展这一逻辑,我们可以提出一个类似的方法,可以应用于其他领域和问题。让我们再研究一个这样的问题。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

作者图片

假设我们有一个包。我们在袋子里放了三个不同颜色的球——{蓝色 O,绿色 O,红色 O}。
能知道拉出红球 O 的可能性有多大吗?
按照和我们掷硬币实验相同的逻辑,我们看到这里有三种可能的结果。当我们从袋子里拿出一个球时,我们可以得到这三种颜色中的一种。因此,我们得到红色的概率应该是 1/3。

同样可能发生的事件

为了让这一切以这种方式发生,也就是为了让这种直觉发挥作用,请注意,这些事件都有同等的可能性。这意味着每个事件都有完全相同的可能性或完全相等的机会发生。我们得到正面的可能性和得到反面的可能性一样大。同样,我们从袋子里拿出红色球的可能性和我们拿出绿色球的可能性一样大。不存在偏见或其他任何有利于某一事件的因素,它们都有相同的发生机会,因此这些事件被称为同等可能性事件。

形式定义

对于同样可能发生的事件,例如上述事件,概率公式表明,对于每个事件,概率将是特定事件可能发生的方式的数量与可能结果的总数的比率。换句话说,一个事件发生的概率是该特定事件发生的方式数与可能结果总数的比率。

如果你再看一遍,你可能会注意到这是怎么回事:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

举个例子,看看这个:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在掷骰子上掷出 4 的概率是 1/6。图片作者。

概率的性质

  • 所有概率都在 0 到 1 之间,包括 0 和 1
  • 概率为 0 意味着事件是不可能的,它不可能发生
  • 概率为 1 意味着事件肯定会发生

独立事件

从概率上讲,如果一个事件的结果不影响另一个事件的结果,那么这两个事件就被称为是独立的。一个例子是滚动一对骰子——其中一个骰子的结果不会影响第二个骰子的结果,我们可以得到总共 36 种不同的结果组合。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

一对骰子的组合。图片作者。

但是谈论从一副洗牌的纸牌中抽出一张牌,每一次移动都会改变概率。假设我们想找出从一副洗得很好的牌中抽出方块 a 的概率。在第一次尝试中抽出这张卡的概率是 1/52。但假设第一步出黑桃 7,那么第二次出方块 a 的概率是 1/51,这意味着这不是独立的事件。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

照片由 杰克·汉密尔顿

联合概率

为了解释什么是联合概率,我们将快速浏览另一个有趣的主题,集合论——处理集合的数学分支,简单地说,就是对象或元素的集合。看这张维恩图:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

集合论举例。图片作者。

正如我们所看到的,有三个圆圈 A、B 和 C 相互交叉,每一个都代表某种东西。交叉区域的标签中也有奇怪的小符号— 。在集合论中,这些符号表示交集。如果我们认为 A、B 和 C 是集合,∩将表示这些集合中的那些元素,它们是这个符号两边的集合所共有的。例如,我们为了举例而假设——
A = { 4,22,10,19,97 }
B = { 30,3,9,19,97 }
这将暗示 A ∩ B = { 19,97 }

让我们再举一个例子——
事件 A =关注足球的人(我指的是英式足球,为了我亲爱的美国读者)
事件 B =关注板球的人
事件 C =关注 F1 的人

A ∩ B =同时关注足球和板球的人

A ∩ B ∩ C =关注所有这些运动的人

现在回到联合概率,我们可以把它定义为两个或两个以上事件同时发生的概率。在我们上面的例子中,(A ∩ B)是同时喜欢足球和板球的人。随机选择的一个人同时喜欢足球和板球的概率将是 P(A ∩ B)。如果你看上面的文氏图,这个人会出现在事件 A 和 B 相交形成的区域。

联合概率是一个重要的统计量,你可以找到各种各样的小问题来练习。这个概念要求两件事同时发生,而纸牌给了我们很多这样的情况,比如:

  • 抽到一张既红又 2 的牌的概率有多大?
  • 抽出一张既红又奇数的牌的概率有多大?

对于独立事件,联合概率仅仅是它们的边际概率的乘积。因此,如果事件 A 和 B 是独立的:

-> P(A ∩ B) = P(A) * P(B)

条件概率

条件概率是在已知其他事件已经发生的情况下,某一事件发生的概率。所以如果 A 和 B 是两个事件,条件概率可以告诉我们,如果事件 B 已经发生,事件 A 发生的可能性。等等,这听起来很像联合概率。别担心,我们之前读过掷骰子的例子,现在让我们再看一遍。让我们来看两个事件:

  • 事件 A —掷出数字 4
  • 事件 B —掷出一个偶数

从我们所知道的,我们可以很容易地弄清楚这一点:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

条件概率例子。作者图片

将这些作为两个独立的事件很好,但是如果我们确定事件 B 已经发生了,会发生什么呢?如果我们确定骰子已经掷出一个偶数,你认为得到 4 的概率是 1/6 吗?简短的回答是否定的。现在我们知道我们的结果肯定是一个偶数,我们的可能结果集从{1,2,3,4,5,6}减少到{2,4,6}。这意味着现在从这一组中掷出 4 的概率应该是 1/3——所以我们得到 4 的机会是以前的两倍。显然,仅使用忽略事件 b 的新信息的边际概率是不明智的。如果我们将这种方法形式化,我们将得出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

条件概率——给定 B 已经发生的概率。

联合概率和边际概率就是这样走到一起,形成条件概率的。左手边的术语 P(A/ B)代表这样的陈述——假设事件 B 已经发生,事件 A 发生的概率。例如,让我们谈谈云和雨(以及它们让你感觉如何?).假设你想知道今天多云,有多大可能下雨。我们所需要的是雨和云出现的联合概率以及雨的边际概率,我们就能找出这一点。

让我们做另一个示例问题来解决这个问题。这里我们有一个学习天体物理学和艺术的学生的维恩图(一群有趣的学生)。如果他们正在研究天体物理学,我们能找出他们研究艺术的可能性吗?

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

条件概率例子。图片作者。

从图像中我们可以计算出这些东西:

  • p(天体物理学)= 112/358
  • p(艺术)= 240/358
  • p(天体物理学∩艺术)= 6/358

现在,我们想知道一个已经在学习天体物理学的学生学习文科的概率:

P(艺术/天体物理学)= P(天体物理学∩艺术)/ P(天体物理学)
= > 6/112

这给了我们学习这两个科目的学生与只学习天体物理学的学生的比例,这就是我们如何找到条件概率的。

现在,让我们回到我们的蒙蒂霍尔问题。这个问题有很多解决方案,打开维基百科页面就会看到所有的解决方案。

[## 蒙蒂·霍尔问题

蒙蒂霍尔问题是一个脑筋急转弯,以概率谜题的形式,大致基于美国电视…

en.wikipedia.org](https://en.wikipedia.org/wiki/Monty_Hall_problem)

我们将讨论“简单解决方案”。看这张表,假设我们总是选择门 1:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

作者图片

正如你所看到的,一个简单的结果表格显示,如果你换成 2/3,你有更高的概率赢得比赛。让我们快速浏览一下这个例子。在第一个场景中,我们的奥迪在 3 号门后面。我们已经选择了 1 号门,所以主人将打开 2 号门来展示一只山羊。如果我们选择 1 号门,我们就输了。如果奥迪在 2 号门后面,主人会打开 3 号门露出一只山羊,再次切换到这里将为我们赢得比赛。这意味着 2/3 次的交换会导致胜利。只有在情景 3 中,如果他们选择留下,我们就赢了——这有 1/3 的概率。

在这篇文章中,我想给你们简单介绍一下概率的所有概念,我希望你们喜欢这篇文章,请在评论中告诉我你们对内容的看法!
快乐阅读!

原载于 2020 年 10 月 3 日【https://thedatascienceportal.com】

[## 数据科学门户

大家好,欢迎来到数据科学门户网站。这个空间致力于学习和理解所有令人兴奋的…

thedatascienceportal.com](https://thedatascienceportal.com)

统计:集中趋势

原文:https://towardsdatascience.com/statistics-central-tendency-5e514a2f98fd?source=collection_archive---------34-----------------------

数学和 Python 编码示例,解释汇总数据的有用方法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

照片由 Unsplash 上的agency followeb拍摄

在我们寻求汇总数据的过程中,无论是通过数据表还是视觉效果,我们都希望呈现数据的整体。然而,我们常常希望有一个点能够代表手头的数据。在数据序列中使用任何极值只能解释序列的一端。因此,使用一个中心值,其中一些观测值比它大或小,这可能是有用的。这样的一种度量叫做*。然而,一个中心点能说明整个故事吗?您知道有些值比中心趋势值大或小,但是它并不涉及数据的分布或异质性。这就是 色散 的措施。这两个概念构成了许多高级统计概念的基础。*

本文的目的是描述集中趋势的不同度量,并介绍一些简单的 python 代码来解释如何在实践中看到它们。我将在后续文章中尝试分享一些关于 色散的知识。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 1:图像中绘制数据的集中趋势和分散

集中趋势

下图可以很容易地展示不同的集中趋势指标:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2:集中趋势的不同度量

从图中可以明显看出,集中趋势可以分为 3 类——均值、中值和众数。在我们进入每一个细节之前,有必要看一下由 Udny Yule 教授定义的理想的集中趋势测量的必要性质

  • 该度量需要基于数据中的所有观察值,
  • 基于所有的观察,
  • 受采样波动的影响尽可能小
  • 严格定义、易于计算、易于理解和
  • 有可能做进一步的数学工作

考虑到这一点,让我们看看下面不同的集中趋势的措施。此外,这里值得注意的两个概念是人口样本。 总体是数据集中所有可能观察值的集合,而样本是使用不同技术从总体中抽取的子集。

平均

平均值是通过对一个数据系列中的所有观察值进行各种数学运算来计算的:

  • ***算术平均值:*最容易计算的度量之一,算术平均值定义为一个数据序列中所有观测值的总和除以该序列中所有观测值的计数。数学上,

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这里要注意的一个有趣的 A.M .特性是,如果一个系列中的每个观测值以相同的常数增加或减少,新系列的 A.M .也会以相同的常数增加或减少。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 几何平均值:**几何平均值定义为一个数据序列中 n 个观测值乘积的第 n 个根。数学上,

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如果计算可以更进一步,很容易看出对数的使用可以使计算更容易。

  • ***调和平均值:*调和平均值是一个数据序列中所有观测值倒数的算术平均值的倒数。通过使用倒数,调和平均值对较小的观测值给予较高的权重,对较大的观测值给予较低的权重,因此在数据中有一些非常大或非常小的观测值时很有用。数学上,

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

三种类型的平均值之间的有用关系是(查看下面的 Python 代码进行演示):

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这个关系有一个详细的数学证明,我将在正文中跳过,在后续版本中单独提供。

中位数

在一系列的观察中,中位数被定义为最中间的值。在一个离散序列中,如果观测值的计数是奇数,那么中位数就是有序序列的第(N+1)/2- 个观测值。然而,如果离散序列有偶数个观察值,则中位数近似为有序序列的第(N/2)和第(N/2)+1- 个观察值的算术平均值。

例如,如果有一系列观察值:8,12,151,7,5,10,8,9,11。有序数列(升序)为:5,7,8,8,9,10,11,12,151。该系列有 9 个观察值,因此(9 + 1)/ 2 =第 5 个观察值是中间值,即 9。现在,假设我们添加另一个观察值,比如 6。新的有序序列是:5,6,7,8,8,9,10,11,12,151。该系列现在有 10 个观察值,这是偶数。因此,中位数是(10/2)=第 5 次和(10/2+1)=第 6 次观察的算术平均值,即(8 + 9)/2 = 8.5。

如果有离散或连续数据的频率分布,而不是上述的单个序列,会怎么样?

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3a(左)和图 3b(右):不同类型数据的频率表

我们参考类似图 3a 和 3b 的频率表。3a 中的表格稍微简单一些,所以让我们先来解决这个问题。这里的观察总数是 250,这是偶数。因此,中位数将是第 N/2 = 125 次观察。通过查看累积频率(图 4),可以确定第 125 次观察。在列出离散观察值的表 3a 中,我们预计第 125 次观察值为 5。为什么?有 112 个观察值≤ 4。接下来的 25 个观察值为 5。因此,给定 112 + 13 = 125,这意味着在最后 4 次观察之后的第 13 次观察应该是 5,因此是中值。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 4:查看累积频率(即,直到特定点的观察总数)有助于确定中值

接下来,我们来看 3b。按照上面的方法,我们可以发现中位数位于 46-55 级,但我们不知道一个确切的点。能找到吗?答案是肯定的。更多的时候,可以通过绘图从数据中得到答案。本例中的累积频率可针对重量等级的每个限值进行计算(如图 4 ),并绘制成图表:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 5:一个卵形图,显示了小于特定重量值(磅)的累计观察计数。)

*假设数据中有 3000 个观察值(N),中值将是第 N/2 = 1500 个观察值,位于 135-144 磅范围内(这是中值类别)。根据上面的图表(图 5),如果你在横轴上画出对应于纵轴上累积频率= 1,500 的点,你会发现重量约为 137 磅。因此,平均体重约为 137 磅。这种曲线被称为**卵形。*这可以概括为一个数学公式:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

当这些值被替换时,本例的中值为 136.96。

方式

众数被定义为在一系列观察中最频繁出现的值。考虑像 9、1、10、9、3、7、4、9、5、6 这样的简单序列,模式是 9,因为它出现得最频繁,即 3 次。一个系列中可以有多个模式,也可以没有模式。例如,10,11,13,11,10,15,17,12 有两种模式,即 10 和 11,而像 2,6,3,2,6,3 这样的序列没有模式,因为所有元素都具有完全相同的频率。模式可以通过观察数据序列来计算。在如图 6 所示的连续分布的情况下,有一个数学公式可以使用。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 6:员工时薪数据

50-60 美元级别的频率最高,因此是模态级别。在具有范围的连续分布的情况下,计算模式值的数学公式如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

代入上述示例中的值,此数据的模式为 56。

集中趋势的不同度量的比较

我们已经在文章的前面看到了集中趋势的理想性质。让我们比较基于属性的集中趋势的不同度量,并看看它们的一些最常见的用法:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 7:集中趋势的不同度量的比较

一些 Python 代码来观察中央趋势

本节并不打算介绍或教授 Python 编程语言,但下面嵌入的代码将帮助对 Python 有基本熟悉的用户从各种数据序列中计算集中趋势。

本文介绍了计算集中趋势的基本原则,还介绍了新时代的计算资源,如 Python,它可以使计算海量数据的任务变得更加容易!集中趋势是所有进一步高级统计工作的基础概念,在处理高级数据分布之前需要很好地理解。

下一个需要理解的最重要的概念是离差的度量,我将在我的下一篇文章中解释这个概念。

阅读我下一篇用数学公式和 Python 编码描述离散度的文章 这里

人工智能统计学(第一部分)

原文:https://towardsdatascience.com/statistics-for-ai-part-1-4f4a0bef04e?source=collection_archive---------35-----------------------

构成复杂算法基础的向量和矩阵概念

介绍

在许多机器学习算法中,输入和输出都是向量(数字的集合)。我们处理的输入——图像、声音、颜色等,必须转换成数字,以便计算机能够理解和处理。在 ML 中,向量是一个数字数组。向量的一个例子是 X=[x1,x2,x3,……,xn】。类似地,张量可以定义为维数大于 2 的数字数组。彩色图像是张量的一个例子,因为它具有 3 维,即长度、宽度和通道。标量被认为是 0 阶张量,而矢量被认为是 1 阶张量。这里要注意一点,通常一个 60×60 像素的图像(以 60 为例),或者一个 60×60 的矩阵被展开成大小为 3600 的单列矩阵。矩阵被认为是二阶张量。视频数据可以被视为 4 阶张量-Nx×Ny×3 是 3 维,时间是第 4 维。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

标量、向量和张量的可视化解释。图片由 Mukesh Mithrakumar 提供

视频数据可以被视为 4 阶张量-Nx×Ny×3 是 3 维,时间是第 4 维。在任何给定时刻,如果我们希望知道特定像素的值,必须指定 4 个参数:像素 x 位置、像素 y 位置、它所属的通道以及时刻。在缺少任何一个参数的情况下,不能确定像素的精确值。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

一个像素在时间上的变化,由玛格丽特·西莫埃斯拍摄

一些基本的矩阵运算

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

一些基本的矩阵运算,作者图片

矩阵相加是通过将一个矩阵 A 的位置(I,j)值与另一个矩阵 B 相加得到结果矩阵 c 来实现的。现在,有时一个矩阵的维数可能与另一个不匹配,就像上图中的示例,其中矩阵 A 的维数是 2X3,而 B 的维数是 1X3。现在,如果我们使用 NumPy 库或 MATLAB,广播就完成了,这意味着创建了矩阵 B 的重复行,然后进行加法。像加法一样,矩阵乘法发生在矩阵的所有元素上,如上图所示:在 kσA(I,k)B(k,j)的值上。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

一些基本的矩阵运算,作者图片

Hadamard 乘积是运算中两个矩阵之间的逐元素乘积。为了实现这一点,矩阵应该具有彼此相同的大小。运算中矩阵的点积总是产生一个标量积。为了产生两个向量的点积,一个向量(a.T)的转置应该与另一个向量(b)相乘。转置是一种行和列互换的操作,即 A(i,j)=B(j,I)。只有当 A × A-1 = A-1 × A = I 时,A 的逆才是 A-1

向量的范数

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

向量的规范,作者的图像

我们使用范数的原因是,它告诉我们一个向量或张量有多大。范数基本上将向量或张量映射为标量值。在上图中,坐标为(3,4)的向量 v 的大小为 5。我们可以说向量 v 的范数是 5。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

两个图像的接近程度,作者的图像

如前所述,一个 60X60 的图像被展开成一个列向量,比如 V1。向量 V1 保存图像中 3600 个位置的像素值。类似地,矢量 V2 将具有第二图像的像素值。这些向量绘制在图像右侧的图表上。通过计算两个向量之间的差并取其范数,我们可以推断出这两个图像的相关程度。差异越小,图像之间的相似性越大,反之亦然。范数是度量向量、矩阵等的长度的一种方法。

如果长度为 0 的向量在数学上是 0 向量,则范数是满足以下三个性质的函数 f:

  1. f(x)=0 意味着 x=0
  2. f(x+y)≤ f(x)+f(y)
  3. f( α x)=l α lx

第二个等式也被称为三角形不等式,它表示两条边的长度大于第三条边的长度。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这里,两个向量 x 和 y 有一个合成向量 x+y,它总是满足三角不等式规则。对输入向量的任何标量乘法(α)将导致标量与向量的范数的直接相乘。在下图中,提到了欧几里德范数、1-范数、p-范数和无穷范数的公式。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

规范类型,按作者分类的图像

线性组合

向量集{V1,V2,V3,…,Vn}的线性组合是通过将每个向量乘以相应的标量系数并将结果相加给出的,即α1 v1**+α2 v2+α3V3+……+** αnVn

在下图中,矢量 V3 可以看作是矢量 V1 和 V2 的线性组合。V3 可以表示为两个向量 V1+2V2 的和。此外,矩阵乘法可以用列的线性组合来解释。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

一个线性组合的例子,作者图片

跨度

一组向量的跨度是通过原始向量的线性组合得到的所有向量的集合。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

向量的跨度示例,图片由作者提供

如上图所示,坐标(1,0)和(0,1)的范围是整个 2D 空间。任何向量都可以写成 V1 和 V2 的线性组合。类似地,坐标(0,0,1)、(0,1,0)和(1,0,0)的跨度是整个 3D 空间,因为任何向量都可以由上述三个向量的线性组合来表示。矩阵中所有列的跨度称为列间距。只有当 B 位于 a 的列空间时,方程 AX=B 才有解。

更多的话题将在后续的博客中讨论。敬请期待!!

人工智能统计学(下)

原文:https://towardsdatascience.com/statistics-for-ai-part-2-43d81986c87c?source=collection_archive---------51-----------------------

构成复杂算法基础的向量和矩阵概念

今天我打算讨论以下主题:线性独立性、特殊矩阵和矩阵分解。

线性独立性

如果这些向量中没有一个可以写成其他向量的线性组合,那么这个向量集就是线性无关的。例如,V1=(1,0)和 V2=(0,1)。在这里,V2 不能用 V1 来写。然而,V3 (3,4)是线性相关的,因为 V3 可以表示为 3V1+4V2。

数学上,s={V1,V2,…。,Vn}线性无关当且仅当线性组合α1V1+α2V2+……+αnVn=0 意味着所有αi=0。

矩阵运算

矩阵可以将一个向量转换成另一个向量。例如,V 是 Nx1 向量,w 也是 Nx1 向量。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

矩阵乘法通过保持形状,图像由作者

矩阵的迹

矩阵的迹由其对角元素的和给出。对于矩阵 A,其迹将是行和列具有相同值的所有元素的总和。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

矩阵的轨迹,作者的图像

一些属性

  1. Tr(A+B) = Tr(A)+Tr(B)
  2. Tr(AB) = Tr(BA)
  3. Tr(A) = Tr(A.T) (A.T 表示矩阵 A 的转置)

矩阵的行列式

NxN 矩阵的拉普拉斯展开由以下公式给出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

矩阵的行列式,作者图片

行列式实际上表示由列向量形成的体积。对于 2x2 向量,它表示面积。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

解释空间中的 2x2 向量,图片由作者提供

矩阵的可逆性

只有当 det(A)不为 0 时,矩阵 A 的逆矩阵才有可能。请注意,这自动意味着的列必须是线性独立的。考虑下面的矩阵。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

矩阵 A,作者图片

请注意,V1、V2……,Vn 是向量,如果任何向量,比如说 Vn,可以写成其余向量的线性相关向量,比如 Vn=α1V1+α2V2+……+αn-1Vn-1 然后,我们可以做一个简单的列操作,即最后一列=最后一列- (α1V1+α2V2+……+αn-1Vn-1),这将产生充满零的列。这会使矩阵的行列式为 0。对于一个 2x2 矩阵,我们将有两个向量 V1 和 V2。如果 V1 和 V2 是线性相关的,像 V1=2V2,那么由这两个向量形成的面积将为零。一个聪明的说法是,这两个向量相互平行。

特殊矩阵和向量

  1. 对角矩阵:只有对角元素不为零,其余所有元素为零。如果 I 不等于 j,则 D(i,j) = 0。
  2. 对称矩阵:如果一个矩阵及其转置矩阵相等,则称该矩阵对称。
  3. 单位向量:具有单位长度的向量。向量的 2-范数是 1。
  4. 正交向量:如果(X.T)Y = 0,则两个向量 X 和 Y 是正交的
  5. 正交矩阵:如果一个矩阵的转置等于它的逆矩阵,那么我们可以说这个矩阵是正交的。此外,所有列都是正交的。正交矩阵可用于旋转保持体积的向量。
  6. 标准正交矩阵:如果一个矩阵的逆矩阵等于它的单位行列式转置矩阵,则称这个矩阵是标准正交的。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

正交矩阵,作者图片

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

正交矩阵,作者图片

特征分解

特征分解对于正方形对称矩阵非常有用。让我们看看这个术语的物理意义。

每一个实矩阵都可以认为是旋转和拉伸的组合。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

向量乘法,作者图片

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

对向量 v 进行运算,生成向量 w,由作者生成图像

这里,A 可以被认为是一个算子,它拉伸并旋转一个向量 v 以获得一个新的向量 w。矩阵的特征向量是那些只在矩阵的作用下拉伸的特殊向量。特征值是特征向量拉伸的因子。在下面的等式中,当与特征向量 a 一起操作时,向量 v 被拉伸了λ的值

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

向量 v 的特征值λ,图片作者

比如说,A 有 n 个线性无关的特征向量{V1,V2,……,Vn}。将所有向量串联成一列,我们得到一个特征向量矩阵 V,其中 V=[V1,V2,……,Vn】。如果我们将相应的特征值连接成一个对角矩阵,即λ**=**diag(λ1,λ2,…,λn),我们得到 A 的特征分解(因式分解)如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

作者图像的特征分解

实对称矩阵有实特征向量和实特征值。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

实对称矩阵,图像 y 作者

二次型与正定矩阵

二次型可以解释为“加权”长度。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

二次型,作者图片

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

二次型,作者图片

正定(PD)矩阵的所有特征值都大于零。半正定(PSD)矩阵具有大于等于零的特征值。PD 矩阵具有对于所有 X,(X.T)AX 大于 0 的性质。例如,如果 A=I 或单位矩阵,则(X.T)I(X)=(X.T)(X)大于 0。PSD 矩阵具有对于所有 X,(X.T)AX 大于等于 0 的性质。类似地,负定(ND)矩阵的所有特征值都小于零。半负定(PD)矩阵的所有特征值都小于等于零。

奇异值分解

如果 A 是一个 MxN 矩阵,那么

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

奇异值分解,作者图片

  1. u 是一个 MxM 矩阵并且是正交的
  2. v 是一个 NxN 矩阵并且是正交的
  3. d 是一个 MxN 矩阵和对角线
  4. U 的元素是 A(A.T)的特征向量,称为左奇异向量
  5. (A.T)A 的特征向量,称为右奇异向量
  6. D 的非零元素是平方根(λ((A.T)(A))),这意味着(A.T)(A)的特征值的平方根,称为奇异值

结束

谢谢,请继续关注更多关于人工智能的博客。

数据科学统计学 Python 描述性统计初学者指南

原文:https://towardsdatascience.com/statistics-for-data-science-a-beginners-guide-to-descriptive-statistics-in-python-9e0daa30809a?source=collection_archive---------16-----------------------

使用 Excel、Python 和真实业务问题的集中趋势、分散性、标准差和相关性的工作示例

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

照片由 Unsplash 上的agency followeb拍摄

介绍

统计学是数据科学中非常需要的组成部分。为什么是统计学?简单来说,在开发任何模型之前,我们需要 100%确定我们正在处理的数据。总的想法是,“建议对任何机器学习算法使用干净的数据”,否则模型最终会产生与预期相反的结果。把它想象成一个画家,他开始画肖像,但是使用的调色板不够干净。这会产生一幅将要被拍卖的画还是会留在房子的一个角落里?

但是等等。统计没那么简单。在使用任何假设或方法之前,需要验证多种基本理论。我们都熟悉钟形曲线或用于展示数据正态分布的曲线。如果你熟悉统计学的基本原理,你会意识到正态分布是一个概率函数,它描述了一个变量的值是如何分布的**。**X 轴表示数据点,Y 轴表示给定点的概率密度估计值。迷茫?稍后我会解释清楚。但总的想法是,作为一个初学者,我们不需要为统计学的每一个组成部分而烦恼,而是专注于更有用的部分。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图一。图示了钟形曲线或正态分布图。图片致谢—可在此处找到

统计类型

统计可分为描述性推断性。描述统计学讨论数据汇总、表格、图形和图表,而推断统计学是一种讨论样本总体参数的方法。所有足球迷,梅西在一个赛季打进 48 球是描述性统计。关于他赢得冠军联赛决赛的机会,这告诉了我们什么,这是推断性的统计数据。我们如何从对梅西表现的描述转向他赢得冠军联赛的概率反映了统计之旅?它更多的是回答“是什么?”vs .“还可能是什么?”。

统计学中的重要术语

  • 群体 —给定场景中所有可能数据的范围。例如,在银行有贷款账户的所有客户
  • 样本 —来自给定人群的一组观察值。例如,上个季度在银行有贷款账户并选择客户关怀服务的所有客户都是一个样本。他们与我们最初谈到的客户是相同的,但是,我们只是过滤掉了那些在上一个季度选择了客户服务的客户,因此这是一个样本
  • 参数 —与总体相关的数字汇总或数值。例如,在银行有贷款账户的所有客户的平均债务
  • 统计 —与样本相关的数字汇总或数值。例如,在一周开始时选择客户服务机构的客户的平均呼叫次数

通常不会观察到群体,原因是在处理数据时,我们无法访问问题空间的每个实体。此外,在整理过程中经常会出现数据泄漏或数据丢失。因此,每个数据都被视为总体的一个子集。

数据类型

数据类型是统计学的重要组成部分,因为它决定了可以对数据执行的描述或推理操作的类型。如下图所示,所有变量(通常指属性、数据、列)都可以分为两类:定性的和定量的。定性数据允许计数、图形、绘图、模式等操作,而定量数据允许均值、中值、模式、标准差、四分位数等操作。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图二。说明了变量类别。图片来源——由作者使用 Excel 开发。

数据和直方图

原始数据以收集数据的原始格式表示数字和事实。需要将原始数据转换成可用于决策的形式。提取的数据→转换成信息→然后用于获取关于场景的知识。描述性统计更多的是将数据转化为信息。现在开始,让我们先看看频率分布。频率分布用于将原始数据分类成信息。使用频率分布的一个常见示例是使用直方图分析不同时段的数据计数。

数据范围被分成多个仓。然后,这些箱用于计算每个组下的记录数。例如,我们可以访问 K Mart 封锁后两周的销售数据。我们希望分析不同时段的销售价值。在下面的例子中,我们可以观察到,在过去的两周中,有三个实例观察到的数字在 44 到 46 之间。利用这一点,我们可以分析,销售数字在不同的日子里是不同的,还是在锁定后是相似的?你怎么想呢?

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3。使用直方图获得的销售数据的分布。图片来源——由作者使用 Excel 开发。

理解中心趋势

从这里开始,我们将举例来理解统计的概念。K Mart 超市记录了他们在墨尔本的商店在封锁后的销售额。现在,他们使用一个中心趋势来分析他们在九月最后一周的业务进展情况。以下是店长想要回答的三个问题。
1。平均销售量是多少?
2。上周销售额的中位数是多少?
3。大部分日子的“销量”都差不多吗?

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 4。显示了九月最后一周的销售汇总。图片来源——由作者使用 Excel 开发。注意在求和函数中,I 的范围是从 1 到 n,而不是从 0 到 n。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 5。显示了九月最后一周商店的销售额中值。图片来源——由作者使用 Excel 开发。请注意,数据按升序排列,以计算中值。

使用图 4 和图 5,我们可以回答锁定后观察到的趋势。一般来说,观察到的平均销售量约为 85 台,而中位数和众数分别为 80 和 50。该模式为我们提供了锁定后观察到的趋势的更大画面。我们能否推断出 K Mart 锁定后的销售量通常为 50 件?

理解分散

简单地说,离差表示分布围绕中心趋势的扩散程度。范围是所有度量中最简单的。它被计算为给定数据中最小值和最大值之间的差。如果最大数据等于最小数据,则意味着所有的观察结果都是相同的。然而,当差异大于 0 时,我们可以推断数据是分散的。例如,在下图中,当我们按天查看销售量时,我们可以推断最小和最大销售额分别为 30 和 65。因此,这里的范围是 65-30,也就是 35。离差的变化提供了锁定后观察到的销售范围的图片。

**注意:**范围不适用于最大值或最小值变得极端的情况,即如果最小值太小或最大值太大,我们应避免使用范围。

下面这个例子中的中值是多少?

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 6。说明了九月最后一周的销售趋势。图片来源——由作者使用 Excel 开发。请注意,数据按升序排列,以计算中值。

观察数量= 14,因此中值是第 7 和第 8 个值的平均值(n/2 + ((n/2) + 1)) 次观察除以 2,因此为 45。第 7 和第 8 个值分别为 45 和 45。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

一级方程式赛车。展示了从一组数据点计算 Q1 和 Q3 的过程。该配方是作者使用乳胶开发的。

让我们分别计算一下 pq 。对于 Q1p=floor(1(14+1)/4)* 为 3, q=(1(14+1)) MOD 4* 也为 3。 MOD 是除法运算的模或余数,下限取一个值的最小整数(例如,3.7 的下限是 3)。所以**Q1 = X3+3/4(X4—X3)**其中 X3 和 X4 是有序集合中的第三和第四个值。因此,根据下面的例子,X3 和 X4 分别是 40 和 42,因此 Q1 = 40+(3/4)(42–40)= 41.5,类似地,Q3 = 50+(3/4)(52–50)= 50.5。四分位数范围由 Q3-Q1 给出,即 50.5–41.5 = 9。

离差提供了关于数据的广泛信息,并被用作检测和处理异常值的关键概念。离差提供关于数据分布的信息,并回答关于变量趋势的关键问题。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 7。展示了九月最后一周销售的箱线图。图片来源——由作者使用 Excel 开发。

箱线图展示了销售数字是如何分布的。注意,中位数是 45,Q1 和 Q3 值分别是 41.5 和 50.5。IQR 被表示为 Q3-Q1=9。任何超过 Q1-1.5 倍或 Q3+1.5 倍的值,即 28 和 64,都被视为异常值。由于 65(9 月 30 日观察到的销售数字)超出上限,因此被视为异常值。

标准偏差

标准差是对一组值或观察值的变化量或离差的度量。标准差计算为方差的平方根。方差是衡量数据点与平均值相比有多远的指标。低标准偏差表示值更接近平均值,而高标准偏差表示数据的极端值或偏斜度。像离差这样的标准差被用作分析数据分布的度量。

是时候拿起计算器算一算了。方差和偏斜度的公式显示在图像的右侧。标准差可用于回答许多问题,包括:

  • 我们是否观察到销售的变化?—是,观察最小和最大数值
  • 销售数字相差多少?—平均销售数字介于 38 和 54 之间,这是平均值的± 1 标准偏差
  • 有多少天观察到了上面提到的这种趋势?— 79%的销售数字介于 38 和 54 之间,这意味着尽管我们观察到了销售的变化,但与分布相比,这种变化还不够显著

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 8。显示了九月最后两周销售的标准差。图片来源——由作者使用 Excel 开发。

相互关系

相关性是对两个变量之间关联程度的度量。它为一个变量相对于另一个变量如何变化提供了一些方向性。相关性可以在-1 到+1 之间,其中-1 表示两个变量负相关,即如果一个变量增加,另一个变量减少,反之亦然。相关性为 0 表示两个变量之间没有关系,即一个变量的增加或减少不会影响另一个变量。+1 的相关性表明,如果一个变量增加,则另一个变量显示类似的趋势。永远记住,相关性并不意味着因果关系。只说关联度。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 9。说明了两个变量 X 和 y 之间的相关系数。图片来源-由作者使用 Excel 开发。

为什么要为这些统计数字伤透脑筋呢?

统计数据有助于我们理解以下内容:

  • 任何 KPI 的平均值(关键绩效指标,如销售额、客户数量、NPS、收入、购物篮等。)
  • 均值、中值和众数是缺失值最常用的插补方法之一
  • 这些中心趋势帮助我们验证数据的质量,并将它们与领域知识结合起来。例如,对于杂货店来说,与一年中的其他时间相比,在节日期间平均销售量会增加。当获得一个数据并观察到平均数字时,如果中心趋势与已知的显著不同,我们需要检查数据质量
  • 线性回归、逻辑回归、神经网络遵循某些假设,这些假设使用相关性、异常值检查等进行验证

使用 Python 实现

这个数据集最初来自国家糖尿病、消化和肾脏疾病研究所。数据集的目的是基于数据集中包含的某些诊断测量结果,诊断性地预测患者是否患有糖尿病。从一个较大的数据库中选择这些实例有几个限制。特别是,这里的所有患者都是至少 21 岁的皮马印第安血统的女性。数据集在这里可用。

属性(列)信息:

  1. 怀孕次数
  2. 口服葡萄糖耐量试验中 2 小时的血浆葡萄糖浓度
  3. 舒张压(毫米汞柱)——血压
  4. 三头肌皮褶厚度(毫米)
  5. 2 小时血清胰岛素(微单位/毫升)
  6. 体重指数(体重公斤/(身高米) )
  7. 糖尿病谱系功能——根据家族史对糖尿病可能性进行评分的功能
  8. 年龄(岁)
  9. 类别变量(0 或 1) — 0 表示非糖尿病患者,1 表示糖尿病患者
import warnings
warnings.filterwarnings(‘ignore’)import pandas as pd
import numpy as npimport matplotlib.pyplot as plt   
import seaborn as sns#from sklearn import metrics#from sklearn.model_selection import train_test_split# To enable plotting graphs in Jupyter notebook
%matplotlib inline 
sns.set(color_codes=True) #adds a good background to our plots

将数据加载到熊猫中

#Load the file from local directory using pd.read_csv which is a special form of read_tablepima_df = pd.read_csv(“pima-indians-diabetes.csv”)
print(pima_df.shape)
print(pima_df.size)pima_df.head(10)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

产出 1。数据的形状和大小。图片来源——由作者使用 Jupyter Notebook 开发。

计算中心趋势

#Central tendency calculations
print(‘MEAN: \n’,pima_df.mean())
print(‘\r \n’)print(‘MEDIAN: \n’,pima_df.median())
print(‘\r \n’)print(‘MODE: \n’,pima_df.mode())
print(‘\r \n’)print(‘Q1-Quartile 1: \n’,pima_df.quantile(q=(0.25,0.50,0.75)))

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

产出 2。数据的描述性统计。图片来源——由作者使用 Jupyter Notebook 开发。

检查色谱柱血浆是否呈正态分布

mean=pima_df[‘Plas’].mean();
median=pima_df[‘Plas’].median();
mode=pima_df[‘Plas’].mode();fig, ax = plt.subplots(figsize=(10,6)); # — — — — — — — — -Setting size of the canvassns.distplot(pima_df[‘Plas’]);plt.title(‘Distribution plot if Plas variable’);plt.axvline(mean,color=’green’,label=’Mean’); 
plt.axvline(median,color=’blue’,label=’Median’);
# plt.axvline(mode[0],color=’red’,label=’Mode1')
# plt.axvline(mode[1],color=’red’,label=’Mode2')plt.legend();

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

产出 3。Plas 属性分布。图片来源——由作者使用 Jupyter Notebook 开发。

相关性检查

# # Pairplot using s
corr = pima_df.corr();
print(corr)
# sns.heatmap(corr, annot = True);fig, ax = plt.subplots()
fig.set_size_inches(10, 10)plt.title(‘Heat Map of Correlation \n’)sns.heatmap(corr,annot=True,cmap=’YlGnBu’,vmin=-1,vmax=1, linewidths=.5, center=0);

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

产出 4。糖尿病数据中数值属性的相关图。图片来源——由作者使用 Jupyter Notebook 开发。

异常值检查

plt.figure(figsize=(15,10))
pos = 1
for i in pima_df.drop(columns = {‘class’}).columns:
 plt.subplot(3, 3, pos)
 sns.boxplot(pima_df[i])
 pos += 1

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

产出 5。糖尿病数据中数值属性的箱线图。图片来源——由作者使用 Jupyter Notebook 开发。

关于作者:高级分析专家和管理顾问,帮助公司通过对组织数据的商业、技术和数学的组合找到各种问题的解决方案。一个数据科学爱好者,在这里分享、学习、贡献;你可以在 LinkedIn Twitter上和我联系。

数据科学统计学——实用技巧、误解、课程和学习计划

原文:https://towardsdatascience.com/statistics-for-data-science-practical-tips-misconceptions-curriculum-and-learning-plan-66e40e443fd2?source=collection_archive---------51-----------------------

通过利用统计数据将数据转化为见解来回答重要问题

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

布拉德利·邓恩在 Unsplash 上拍摄的照片

在这个高度互联的世界中,数据正以前所未有的速度生成和消费。尽管我们很享受数据的超导性,但它也会招致滥用。数据专业人员需要接受使用统计方法的培训,不仅是为了解释数字,也是为了揭露这种滥用,保护我们不被误导。

没有多少数据科学家接受过正式的统计培训,也很少有好的书籍和课程提供从数据科学的角度学习这些统计方法。

通过这篇文章,我打算阐明

  • 为什么学统计学——常见误区关于学习统计学,
  • 课程 —你应该掌握的主题和概念
  • 学习统计学 —如何成为从业者而不是应试者
  • 实用技巧获得使用 Python 的实践经验

统计学和机器学习

机器学习的核心是以统计学为中心的。如果你没有很好地掌握统计基础知识,你就无法用机器学习解决现实世界的问题。

数学方程式、希腊符号和精心定义的概念使得个人很难对这门学科产生兴趣。

我们可以通过简单明了的解释、节奏适当的教程和动手实验来解决这些问题,从而用应用统计方法解决问题。

从探索性数据分析到设计假设检验实验,统计在解决所有主要行业和领域的问题中发挥着不可或缺的作用。

任何希望深入了解机器学习的人都应该学习统计方法如何形成回归算法、分类算法的基础,如何利用从数据中学习的过程,以及如何帮助从未标记的数据中提取意义。

为什么要掌握统计学

每个组织都在努力成为数据驱动型组织,这也是我们见证数据科学家和分析师需求增长的原因。现在,为了解决问题,回答问题,制定战略,我们需要理解数据,统计提供了一系列工具来产生这些见解。

从数据到知识

孤立地看,原始观察只是数据。我们使用描述性统计将这些观察转化为有意义的见解。我们可以使用推断统计来研究小样本数据,并将我们的发现推广到整个人群。

回答问题

  • 什么特性最重要?
  • 我们应该如何设计实验来开发我们的产品策略?
  • 我们应该衡量哪些绩效指标?
  • 最常见和预期的结果是什么?
  • 我们如何区分噪音和有效数据?

所有这些都是数据团队每天必须回答的常见重要问题。这些答案有助于我们做出有效的决策。统计方法不仅帮助我们建立预测模型项目,而且帮助我们解释结果。

机器学习项目每一步的统计数据

几乎每一个机器学习项目都由以下任务组成,而统计在几乎所有的任务中都扮演着核心角色。方法如下:

  • 定义问题陈述— 使用探索性数据分析(EDA)和数据挖掘。
  • 初始数据探索— 使用汇总统计和数据可视化。
  • 数据清理— 使用异常值检测、插补等方法。
  • 数据准备和设置转换管道 使用数据采样和特征选择方法、数据转换、缩放、编码等。
  • 模型选择&评估— 算法开发需要使用统计假设测试和估计统计。
  • 微调模型— 根据统计性能指标,我们调整超参数来微调或更改模型。

作为一名数据科学家,你应该学会什么来解决问题

一般技能

  • 如何为有效决策定义统计上可回答的问题?
  • 计算和解释常见的统计数据,以及如何使用标准的数据可视化技术来交流发现。
  • 了解数理统计是如何应用到领域,概念,如中心极限定理和大数定律。
  • 从位置和可变性的估计中做出推论 (ANOVA)。
  • 如何识别目标变量和自变量之间的关系?
  • 如何设计统计假设检验实验,A/B 检验等。
  • 如何计算和解释性能指标,如 p 值、alpha、type1 和 type2 误差等。

重要概念

  • 入门— 了解数据类型(矩形和非矩形)、位置估计、可变性估计、数据分布、二进制和分类数据、相关性、不同类型变量之间的关系。
  • 统计量的分布 —随机数、大数定律、中心极限定理、标准误差、
  • 数据抽样和分布— 随机抽样、抽样偏倚、选择偏倚、抽样分布、自举、置信区间、正态分布、t 分布、二项式分布、卡方分布、f 分布、泊松和指数分布。
  • 统计实验和显著性检验— A/B 检验,进行假设检验(空/备择),重采样,统计显著性,置信区间,p 值,alpha,t 检验,自由度,ANOVA,临界值,协方差和相关性,效应大小,统计功效。
  • 非参数统计方法— 等级数据、正态性检验、数据标准化、等级相关性、等级显著性检验、独立性检验

你应该如何学习统计学

大多数大学都设计了统计学课程,通过检查学生是否能解方程、定义术语、识别推导方程的图形来测试他们的填鸭式能力,而不是专注于应用这些方法。

对于有抱负的从业者,您应该遵循一个循序渐进的过程,使用可执行的 python 代码学习和实现不同问题的统计方法。

自下而上的方法可能不是学习应用统计学的正确方法,因为它太理论化了,使主题变得枯燥和压抑。

接下来…

我将遵循代码优先的方法,针对上述每个主题创建一系列教程,以便我们能够理解和可视化这些概念的意义和应用。

如果我错过了任何细节,或者如果你希望我涵盖统计学的任何其他方面,请回复这个故事,我会将它添加到课程中。

数据科学与 Harshit

通过这个渠道,我计划推出几个涵盖整个数据科学领域的系列。以下是你应该订阅频道的原因:

请随时在 TwitterLinkedIn 上与我联系。

统计:测量数据的分布

原文:https://towardsdatascience.com/statistics-gauge-the-spread-of-your-data-7aa9368a5bf3?source=collection_archive---------23-----------------------

离差的度量提供了一个数学工具箱来理解数据的分布

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

米歇尔·波罗在 Unsplash 上的照片

当你想要对你手头的数据做一个完整的探索时,你不仅想要确定中心点,就像我在我的上一篇文章中提到的那样,你还想要知道数据分布的极限和各种其他点。例如,假设有一个本科生班级,有人声称这个班级的平均体重是 70 公斤。这是开始时的一些信息,但他接着补充道:

  • 最小重量为 45 千克,最大重量为 92 千克→ 告诉您数据的范围或极限值
  • 25%的学生体重低于 50 公斤→ 如果您将数据按体重分成 4 个子集,则可以看到最低权重的 1/4 体重低于 50 公斤
  • 平均而言,重量偏离平均值 4 千克→ 告诉您数据的集中程度或分散程度,例如,使用 4 千克这样的值,可以说学生之间的重量差异不大;而如果该值为 10,人们会说学生的体重与平均值相差很大

上面的例子引用了一些常见的不同离差度量的例子,这些例子将在本文中描述。与我上一篇关于集中趋势的文章类似,这篇文章将描述一些常见的离差度量以及我们通常如何计算它们。

离差的度量

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 1:不同的常用离差度量

请注意两种重要的度量类型— 绝对度量相对度量。此外,像集中趋势的措施,也有某些期望的分散措施的性质。G.U. Yule 教授还定义了理想离差测量的一些特性:

  1. 应该严格定义
  2. 基于所有的观察
  3. 容易计算
  4. 容易理解
  5. 进一步的数学处理是可能的
  6. 受抽样波动的影响较小

有了这些性质,现在让我们来看看一些最常见的离差度量。

离差的绝对度量

范围

范围是所有离差度量中最简单的。本质上,它测量数据序列中最大值和最小值的差异,并提供两个极端观测值之间的分布幅度。数学上,

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

所以,从数学上来说,这很简单。让我们看看它是否满足理想离差度量的所有性质及其优缺点。

优点:

  • 这很容易计算
  • 这很容易理解

缺点:

  • 它没有考虑到所有的观察结果
  • 它受采样波动的影响很大。例如,如果有一个系列 10、15、17、21、25、28,则范围是 28–10 = 18。但是,如果添加新值 40,范围会立即增加到 40–10 = 30。
  • 如果数据分布有一个开放端,则无法计算范围
  • 分布的形式不是由范围捕获的。请看这两种分布,它们的形状截然不同,但范围完全相同:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2:数据的两个非常不同的频率分布的范围是相等的(50–0 = 50)

四分位数间距和四分位数离差

顾名思义,这两种方法是基于四分位数的差异。如果将数据序列分成 4 等份,每 1/4 的最大值点称为四分位数。让我们考虑下面的例子:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3:识别分布中的四分位数

上图显示了第一(基于频率的最低 25%)和第三(基于频率的最高 25%)四分位数。什么是第二个四分位数?如果凭直觉思考,数据的 50%点本质上就是中位数。四分位数间距是第三个四分位数和第一个四分位数的差值。在图 2 的表格中,Q3 在 6 和 7 之间,而 Q1 在 1 和 2 之间。通过插值,我们可以找到精确的值,但是如果我们考虑 Q1 = 1,Q3 = 6,那么四分位数范围是 Q3-Q1 = 6–1 = 5。四分位数离差(Q.D .)等于半四分位数范围或四分位数范围的一半。这种情况下,Q.D. = (Q3-Q1)/2 = 2.5。

为了获得精确的值,我们可以从分布中插入 Q1 和 Q3 的值:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

现在让我们看看四分位数离差/四分位数间距的优势:

优点:

  1. 易于计算和理解
  2. 甚至可以对开放式分布进行计算
  3. 不受原产地变化的影响

缺点:

  1. 并非基于数据中的所有观察值,因为仅使用第三和第一四分位数进行计算
  2. 进一步的数学处理是不可能的

因此,四分位偏差从多方面改善了简单范围

平均绝对偏差

简单地说,平均绝对偏差计算一个观察值与其所属数据系列的平均值或任何其他指定点(如中位数)的绝对差值,然后对所有观察值进行平均(使用算术平均值)。直观地注意到,如果系列中的所有观测值在量值上相等,则该度量的值将为零。此外,这种方法不受与平均值的差值方向(大于或小于平均值)的影响,因为它考虑的是绝对差值。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如果我们必须计算图 3 中分布的平均绝对偏差,结果将是:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

现在让我们来看看这项措施的一些优点和缺点:

优点:

  1. 基于所有的观察
  2. 不会随着原点的改变而改变

缺点:

  1. 不容易计算或者理解
  2. 没有考虑偏差的符号,这使得它难以用于进一步的数学处理

标准偏差

标准差是广泛使用的离差度量,与算术平均值一起,最常用于描述数据分布的形状和规模。标准偏差被定义为观察值与算术平均值的平方差之和的平均值的平方根。它也被称为“”。在数学符号中,**

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

标准差的一些重要性质

  1. 标准差不受原点变化的影响。因此,如果我们有一个数列 y = x-c,那么:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.如果 y 和 x 之间的关系是 y = ax + b,并且 a 和 b 是常数,则:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传**外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.如果有多个数据系列,

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4.请注意,如果一个系列中的所有观察值都相等,那么标准差将为零

现在让我们来看看 S.D .的一些优点和缺点,

优点:

  1. 基于所有的观察
  2. 可以进行进一步的数学处理(参见上面的属性 3)
  3. 考虑平均偏差的符号
  4. 独立于起源的变化
  5. 受抽样变化影响最小

缺点:

  1. 稍微难以计算
  2. 受规模变化的影响

因此,标准差是满足理想离差度量的大多数性质的离差度量,因此被广泛使用。

离差的相对度量

在日常统计分析中,离差的相对度量不如绝对度量那样广泛使用,但它们最重要的用途是应用于我们需要无量纲度量的情况,并可用于比较不同计算单位的不同数据集。一些常见的相对离差度量是:

  1. 四分位数离差系数:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.变异系数:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.平均偏差系数:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

结论

与集中趋势相结合的离差度量是有助于汇总数据的最重要的度量。这些度量让我们对数据分布有了初步的印象。如今大多数统计工具都有计算这些的内置函数。

Python 编码计算离差度量

注:所有图片(除了头中的 Unsplash 图片),数据和编码归作者所有。

统计学-第一部分:贝叶斯如何补充 Frequentist。

原文:https://towardsdatascience.com/statistics-how-bayesian-can-complement-frequentist-9ff171bb6396?source=collection_archive---------40-----------------------

多年来,学者们一直使用所谓的频率统计来评估实验操纵是否有效果。

Frequentist 统计基于假设检验的概念,假设检验是一种基于数学的方法,用于评估你的结果是否是偶然得到的。该值越低,的重要性就越大(用频率主义者的术语来说)。出于同样的原因,您可以使用相同的方法获得不重要的结果。这些“负面”结果中的大部分在研究中被忽视,尽管知道哪些操作没有影响有巨大的附加值。但那是另一篇文章;)

事情是这样的,在这种情况下,没有发现任何影响,频率主义者的统计数据是有限的,在他们的解释力,因为我将在这篇文章中争辩。

下面,我将探讨频繁主义者统计的一个局限性,并提出一种替代频繁主义者假设检验的方法:Bayesian统计。我不会对这两种方法进行直接比较。如果你感兴趣的话,那里有相当多的读物。我更愿意探索为什么频率主义者的方法存在一些缺点,以及这两种方法在某些情况下如何互补(而不是像有时争论的那样认为它们是相互排斥的)。

这是两个帖子中的第一个,在这里我将关注频率主义者的统计数据无法理清证据缺失和证据缺失之间的关系。

证据缺失与证据缺失

背景

在 frequentist 的世界中,统计通常输出一些统计度量(t,F,Z 值…取决于您的测试),以及全能的 p 值。我在另一篇文章的中讨论了仅使用 p 值的局限性,您可以阅读这篇文章来熟悉其计算背后的一些概念。简而言之,如果 p 值显著(即低于任意决定的阈值,称为 alpha 级别,通常设置为 0.05),则确定您的操作最有可能产生影响。

然而,如果(这种情况经常发生),你的 p 值> 0.05 呢?在频率主义者的世界里,这样的 p 值不允许你在缺乏证据和缺乏效果之间进行区分。

让大家稍微理解一下,因为这是关键的一点。换句话说,频率统计在量化影响的存在方面相当有效,但在量化影响不存在的证据方面相当差。文献见此处

下面的演示摘自荷兰神经科学研究所的一些工作,那是我从事神经科学研究的时候。最近发表了一篇关于这个主题的非常好的论文,我鼓励你去阅读。下面的代码是受纸质资源库的启发,用 R 编写的。

模拟数据

假设我们生成一个均值=0.5,标准差=1 的随机分布。

np.random.seed(42)
mean = 0.5; sd=1; sample_size=1000
exp_distibution = np.random.normal(loc=mean, scale=sd, size=sample_size)
plt.hist(exp_distibution)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 1 |描述从以 0.5 为中心的正态分布中随机抽取的直方图

这就是我们的实验分布,我们想知道这个分布是否与 0 有显著的不同。我们可以运行一个单样本 t 检验(这是可以的,因为分布看起来非常高斯,但你应该从理论上证明参数测试假设得到满足;让我们假设它们是)

t, p = stats.ttest_1samp(a=exp_distibution, popmean=0)
print(‘t-value = ‘ + str(t))
print(‘p-value = ‘ + str(p))

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

相当不错的 p 值,会让每一个博士生的脊柱都幸福得发抖;)注意,在这种样本量下,几乎任何事情都变得有意义,但让我们继续演示。

现在让我们尝试一个以 0 为中心的分布,它不应该与 0 有很大的不同

mean = 0; sd=1; sample_size=1000
exp_distibution = np.random.normal(loc=mean, scale=sd, size=sample_size)
plt.hist(exp_distibutiont, p = stats.ttest_1samp(a=exp_distibution, popmean=0)
print(‘t-value = ‘ + str(t))
print(‘p-value = ‘ + str(p))

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这里,我们有一个预期的分布,它与 0 没有显著的不同。这就是事情变得有点棘手的地方:在某些情况下,frequentist 统计无法真正区分 p 值> 0.05 是否是缺乏证据,以及缺乏证据,尽管这是一个关键点,可以让你完全排除实验操纵产生影响。

让我们假设一种情况:

你想知道操纵是否有效果。这可能是你沟通中的一种新颖的营销方式,对生物活动的干扰,或者是你正在发送的邮件中的“有图片无图片”测试。你当然有一个对照组来和你的实验组进行比较。

收集数据时,您可以看到不同的模式:

  • (一)两组不同。
  • ㈡这两个群体的行为相似。
  • (iii)您没有足够的观察数据来得出结论(样本量太小)

虽然选项(I)是不利于null hypothesis H0的证据(即,你有证据表明你的操纵产生了影响),但使用 frequentist 统计数据无法解开情况(ii)(= H0 的证据,即不存在的证据)和(iii)(=无证据,即不存在的证据)。但是也许贝叶斯方法可以给这个故事增加一些东西…

p 值如何受效应和样本量的影响

第一件事是说明频率统计有缺点的情况。

进场背景

我要做的是绘制频率主义者 p 值在改变效应大小(即,你的控制,这里的平均值=0,和你的实验分布之间的差异)和样本大小(观察或数据点的数量)时的表现。

让我们首先编写一个函数来计算这些 p 值:

def run_t_test(m,n,iterations):
    """
    Runs a t-test for different effect and sample sizes and stores the p-value
    """
    my_p = np.zeros(shape=[1,iterations])
    for i in range(0,iterations):
        x = np.random.normal(loc=m, scale=1, size=n)
        # Traditional one tailed t test
        t, p = stats.ttest_1samp(a=x, popmean=0)
        my_p[0,i] = p
    return my_p

然后,我们可以用不同的样本和效果大小来定义我们想要测试的空间的参数:

# Defines parameters to be tested
sample_sizes = [5,8,10,15,20,40,80,100,200]
effect_sizes = [0, 0.5, 1, 2]
nSimulations = 1000

我们终于可以运行函数并想象:

# Run the function to store all p-values in the array "my_pvalues"
my_pvalues = np.zeros((len(effect_sizes), len(sample_sizes),nSimulations))for mi in range(0,len(effect_sizes)):
    for i in range(0, len(sample_sizes)):
        my_pvalues[mi,i,] = run_t_test(m=effect_sizes[mi], 
                                n=sample_sizes[i], 
                                iterations=nSimulations
                               )

我将快速可视化数据,以确保 p 值似乎是正确的。输出将是:

p-values for sample size = 5
Effect sizes:
          0       0.5       1.0         2
0  0.243322  0.062245  0.343170  0.344045
1  0.155613  0.482785  0.875222  0.152519

p-values for sample size = 15
Effect sizes:
          0       0.5       1.0             2
0  0.004052  0.010241  0.000067  1.003960e-08
1  0.001690  0.000086  0.000064  2.712946e-07

我想在此提出两点主要看法:

  1. 当样本量足够大时(下半部分),p 值的行为与预期一致,并随着效应量的增加而降低(因为您有更强的统计能力来检测效应)。
  2. 然而,我们也看到 p 值对于小样本量并不显著,即使效应量相当大(上图)。这是非常惊人的,因为效果大小是相同的,只有数据点的数量不同。

让我们想象一下。

形象化

对于每个样本大小(5、8、10、15、20、40、80、100、200),我们将计算落入显著性水平仓中的 p 值的数量。

我们先来比较两个均值相等的分布,也就是我们有一个效应大小= 0。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2 |效应大小= 0 的每个“显著性”箱中 p 值的数量

从上图中我们可以看出,t 检验计算出的大多数 p 值对于均值为 0 的实验分布并不显著。这是有道理的,因为这两种分布在它们的意义上没有什么不同。

然而,我们可以看到,在某些情况下,我们确实获得了显著的 p 值,这可能发生在使用从总体中抽取的非常特殊的数据点时。这些通常是假阳性,这也是为什么重复实验和复制结果很重要的原因;)

让我们看看,如果我们使用一个平均值与对照组相差 0.5 的分布,会发生什么情况:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3 |效应大小的每个“显著性”箱的 p 值数量= 0.5

现在,我们清楚地看到,增加样本量显著提高了检测效果的能力,对于低样本量,仍然有许多不显著的 p 值。

如下图所示,正如预期的那样,您会看到对于高度不同的分布(效应大小= 2),显著 p 值的数量会增加:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3 |效应大小的每个“显著性”箱的 p 值数量= 2

好了,这就是样本和效应大小如何影响 p 值的例证。

现在的问题是,当你有一个不显著的 p 值时,你并不总是确定你是否错过了这个效应(比如说因为你的样本量很小,由于有限的观察或预算)或者你的数据是否真的表明没有这个效应。事实上,大多数科学研究都有一个统计能力的问题,因为他们的观测数据有限(由于实验限制、预算、时间、出版时间压力等……)。

由于研究中的数据实际上是一个相当低的样本量,你可能仍然想从基于低样本量的非显著结果中得出有意义的结论。

在这里,贝叶斯统计可以帮助你对你的数据更进一步;)

请继续关注下面这篇文章,在这篇文章中,我探索了泰坦尼克号和波士顿的数据集,以展示贝叶斯统计在这种情况下是如何有用的!

你可以在下面的回购中找到这个笔记本:https://github.com/juls-dotcom/bayes

数据科学统计学

原文:https://towardsdatascience.com/statistics-in-data-science-8ee52459e282?source=collection_archive---------44-----------------------

决策的艺术

分析、预测和分类

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

威廉·艾文在 Unsplash 上的照片

数学可能是最重要的主题之一,是几乎所有技术进步的核心。没有数学,数据科学领域就不会存在。从自然语言处理到高级人工智能,数据科学的所有子领域都建立在三个定义明确的数学领域之上。在每个数据科学领域的核心,你会发现概率论、线性代数和统计学的应用。我写过关于概率论和线性代数在数据科学中的应用的文章。

[## 数据科学中的概率论

数据科学中最常用的 4 种概率分布

towardsdatascience.com](/probability-theory-in-data-science-bacb073edf1f)

然而,在本文中,我们将讨论数据科学中的最后一个数学元素,统计学。统计学作为一门学科主要是在过去的一个世纪里发展起来的。相比之下,概率论——统计学的数学基础——是在 17 世纪到 19 世纪基于托马斯·贝叶斯、皮埃尔·西蒙·拉普拉斯和卡尔·高斯的工作而建立的。与概率论的纯理论性质不同,统计学是一门涉及数据分析和建模的应用科学。

[## 5 线性代数在数据科学中的应用

ML、CV 和 NLP 中的线性代数

towardsdatascience.com](/5-applications-of-linear-algebra-in-data-science-81dfc5eb9d4)

统计学涉及数据科学的所有步骤,从清理、探索和分析数据的第一步,到提出回归模型来匹配数据,再到最终使用这些知识根据这些数据进行预测。统计学是原则和参数的集合,可帮助数据科学家获得有关其数据的信息,以便在面临不确定性时做出决策。使用统计学有助于我们揭示数据中的秘密,并使用这些秘密来创建更好、更准确的预测模型。

在本文中,我们将讨论在数据科学中使用统计学的四种方法。我们将讨论数据的分析和分类、显著性检验、回归和预测,最后,我们将讨论数据的分类。

让我们开门见山吧…

分析和分类数据

当我们开始一个新的数据科学项目时,我们从不同的来源获得数据。该数据可以来自先前与用户的交互;从关于天气的传感器,它可能是一个图像或视频流,或者它可能仅仅是通过消息或语音通道发送的一些文本。原始数据的问题在于,它是非结构化的,难以分析。计算机擅长发现模式和处理结构化数据;这就是为什么我们需要将原始数据转换为结构化数据,以便对其执行不同的处理。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

作者图片(使用 Canva 制作)

结构化数据有两种基本类型:数字型分类型数字数据有两种形式:连续,如温度或持续时间或湿度;以及离散,如事件发生的计数。另一方面,我们有分类数据,它只接受一组固定的值,比如一周中的几天、特定内容中的国家名称等。分类数据也有两种类型,二进制数据,它只能取两个值中的一个,即 0/1、是/否或真/假。另一种类型的分类数据是序数数据,其中分类是有序的;这方面的一个例子是数字评级(1、2、3、4 或 5)。

探索性数据分析

探索性数据分析(EDA)是数据科学中使用的一种技术,用于为建模准备数据。它基本上是关于清理和了解你的数据;这样做,你要么从它那里得到你需要的答案,要么为将来的建模发展出解释结果的直觉。执行 EDA 以获得关于数据的不同种类的信息。

  1. 数据采样。
  2. 填充缺失值。
  3. 在数据中寻找模式。

EDA 可以使用 Pandas 库在 Python 中完成;我们可以使用 Matplotlib 和 Bokeh 来可视化数据。

例如,这里我使用了来自 R 数据集的集合的数据集Titanic

显著性检定

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

作者图片(使用 Canva 制作)

显著性检验(也称为假设检验)广泛用于传统的统计分析中,旨在帮助我们了解一个事件的结果是否是随机的。为了进行测试,我们收集两个变量 A 和 B 的数据,因此 A 和 B 之间的任何观察到的差异必定是由于以下原因之一:

  1. B 的变化是随机的,与 a 无关。
  2. A 和 B 之间存在真正的依赖关系

对随机实验进行统计假设检验,以评估随机机会是否是观察到的两个变量之间差异的合理解释。统计假设是一种保护研究人员不被随机机会愚弄的方法。有两种假设:

  • 零假设: 两个分类变量是独立的(它们的值之间没有关系,任何相关性都是由于偶然)。
  • 备选假设: 这两个分类变量是相依的。

有许多不同类型的显著性检验;但是,在本文中,我将重点介绍三种最常用的方法:卡方检验、学生 t 检验和方差分析检验(ANOVA)。

卡方检验

卡方检验通过计算代表两个数据独立的概率的值“p”来检查两个分类变量是否相关或独立。该测试仅适用于分类数据(分类中的数据),如性别{男性、女性}或颜色{红色、黄色、绿色、蓝色},不适用于数值数据,如身高或体重。

“学生”t 检验

t 检验告诉你变量之间的差异有多显著;换句话说,它让你知道这些差异是否是偶然的结果。为了使 t 检验准确,每个样本中的观察值应该是正态分布的,并且它们应该具有相同的方差。

方差分析检验(ANOVA)

ANOVA 测试是一种发现事件或实验结果是否重要的方法。换句话说,它们帮助我们弄清楚我们是否可以拒绝零假设或接受替代假设。我们正在测试样本,看它们之间是否有差异。ANOVA 测试有两种类型单向双向:

  • 单向有一个独立变量。比如大米的种类。
  • 双向有两个自变量。比如大米的种类和热量。

回归和预测

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

作者图片(使用 Canva 制作)

在数据科学中使用统计学的主要原因是为了能够得出一个问题的答案:变量 X 与 Y 相关吗?如果是的话,它们之间的关系是什么,我们可以用这个关系来预测 Y 的未来值吗?

我们可以用回归来模拟两个变量相互作用的方式。回归描述了两个变量之间的关系,例如,X 是否随着 Y 的增加而增加?还是 Y 随着 X 的增大而减小?有几种类型的回归,线性回归,逻辑回归,多项式回归,逐步回归,岭回归,套索回归和弹性回归。然而,在大多数数据科学项目中,我们使用线性和逻辑回归。

线性回归

在线性回归中,因变量是连续的,其中自变量可以是连续的或离散的。线性回归使用不同点之间的最佳拟合直线在因变量(Y)和一个或多个自变量(X)之间建立关系。这条拟合线通常被称为“回归线”

逻辑回归

逻辑回归用于找出一个事件成功或失败的概率。当要预测的变量是二元的(0/ 1,真/假,是/否)时,经常使用逻辑回归。逻辑回归通常用于分类问题,通常需要大量样本才能准确发挥作用。

分类

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

作者提供的图片(使用 Canva 制作)

数据科学家经常面临需要自动决策的问题。例如,一封电子邮件是合法的还是垃圾邮件,一个广告是否可能被点击。这类问题称为分类问题。分类也许是预测的最重要的形式;有时,我们需要将数据分成二进制类别,或者更有序的类别。逻辑回归可用于分类问题,用于分类的其他算法:朴素贝叶斯、随机梯度下降、决策树、随机森林和支持向量机。作为分类算法的一个例子,让我们讨论一下朴素贝叶斯和 K-最近邻算法。

朴素贝叶斯

朴素贝叶斯分类器是一组基于贝叶斯定理的分类算法。这是一个算法家族,所有算法都有一个共同的原则。贝叶斯算法的基本假设是变量是独立的,并且对因变量有相同的影响。这种算法只需要少量的训练数据,与更复杂的方法相比速度非常快。然而,已知朴素贝叶斯估计并不那么准确。

k-最近邻

k-最近邻算法并不试图构建一般的内部模型,而是仅存储训练数据的值,然后在分类过程中使用这些值。根据每个点的 k 个最近邻的简单多数投票来计算分类。该算法是实现最简单的算法之一,对于有噪声的训练数据是鲁棒的,并且如果训练数据是重要的,则该算法是有用的。

数据科学完全是关于数学,关于计算概率,求解一些方程以找到变量之间的关系,以及使用统计学来估计、分类和预测未来数据。好的一面是,你不需要手工做任何数学运算,像 Pandas、Scikit 和 Matplotlib 这样的库在隐藏数据科学背后的复杂数学方面做得很好。这就是为什么这里最重要的方面是理解事物如何工作的逻辑,然后从那里开始。

参考

[1]迪格尔,P. J. (2015)。统计学:21 世纪的数据科学。皇家统计学会杂志:A 辑(社会统计), 178 (4),793–813。

[2]布鲁斯,p .,布鲁斯,a .,&格德克,P. (2020)。数据科学家实用统计:使用 R 和 Python 的 50 多个基本概念。奥莱利媒体。

ML 中的统计学:为什么样本方差除以 n 仍然是一个好的估计量

原文:https://towardsdatascience.com/statistics-in-ml-estimating-population-variance-1f484184f247?source=collection_archive---------22-----------------------

理解为什么我们在样本方差中使用(n1 ),以及为什么使用 n 仍能给出一个很好的总体方差估计量。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

来源:皮沙贝彼得 H

本文讨论我们如何估计正态分布的总体方差,通常表示为***【σ***。通常,我们使用样本方差:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

但是,我们为什么要用 (n - 1) 而不是 n 来除平方和,其中 n 代表样本大小,从而得到样本方差,这一点并不直观。在统计学中,这通常被称为 贝塞尔修正 。另一个可行的估计量是用平方和除以样本量得到的,它是总体方差的最大似然估计量 (MLE):

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

哪个比较好?

通过应用 偏差-方差分解柯克兰定理 ,本文试图解决这些问题。它的结论是:

  • 我们在样本方差中使用*(n1)*,因为我们想要获得总体方差的无偏估计量。
  • 将平方和除以 n 仍然给了我们一个很好的估计值,因为它具有更低的均方误差 (MSE)。

我们还将回顾一个用 Python 实现的实验,从数值上验证我们的结论。敬请期待!

假设我们有一个样本 x₁x₂ 、…、 *xi、*其中所有 xi 都是独立同分布 ( iid )根据 N(μ,σ ) 。我们正在考虑总体方差 σ 的两种估计量:样本方差估计量和 MLE 估计量。

评估估计量:偏差、方差和均方误差

我们将首先引入一些度量来评估这些估计量,即偏差方差和 MSE。假设我们正在估计总体参数 θ 并且我们的估计量是数据的函数,那么我们可以定义:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

直观地说,偏差衡量我们的估计偏离潜在参数的程度。因为我们的估计值会随着数据而变化,所以方差衡量的是它们偏离不同数据集平均值的期望值。MSE 是一个综合的度量,可以分解为**(偏差+方差)**如下。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在下面几节中,我们将应用柯克兰定理来推导我们两个估计量的偏差和方差,并进行比较。

采样离散

科克伦定理通常用于证明 方差分析 (ANOVA)中使用的统计数据的概率分布。我们将跳过证明,简单地将其应用于我们的情况。

科克伦定理表明,从标准正态生成的一组 iid 随机变量的平方和具有 卡方分布(n - 1) 自由度。换句话说:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

因此,

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

由此可见,样本方差是总体方差的理想无偏估计量。然后我们可以写出它的方差和 MSE:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

极大似然估计量

以同样的方式,我们可以导出总体方差的 MLE 估计的偏差、方差和均方误差。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

由此我们知道了为什么我们一般会用平方和除以 (n - 1) 来计算样本方差。MLE 估计量是总体方差的有偏估计量,它引入了向下的偏差(低估了参数)。偏差的大小与总体方差成正比,并且随着样本量的增加而减小。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们发现极大似然估计具有较小的方差。差距的大小与人口方差成正比。此外,

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们可以看到,随着样本容量的增大,MLE 估计量对样本方差的优势减小。写出 MSE 并比较:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们发现极大似然估计量也有一个较小的均方误差。正如预期的那样,缺口的大小与总体方差成正比,并且随着样本量的增加而减小。

数值实验

在本节中,我们将验证上面得出的结论。我们将从 N(0,σ ) 中生成 100,000 个大小为 n 的样本。 X 形状为 n × 100000 ,每个列向量代表一个形状为 n × 1 的样本。

我们将从 n = 10 和 σ = 1 开始。请注意参数ddof的使用,因为它指定了从估计量的样本量中减去什么。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

正如所料,最大似然估计引入了向下偏差,而样本方差估计的向下偏差可以忽略不计。同时,极大似然估计具有较低的方差和均方误差。

我们将改变样本大小和总体方差的配置,看看样本方差估计量和最大似然估计量之间的偏差、方差和均方误差会发生什么变化:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

正如所料,样本方差估计量和最大似然估计量之间的偏差、方差和均方误差随着总体方差的增加而增加,随着样本量的增加而急剧减少。检查我用来生成可视化效果的代码:

这篇文章是何坤宇写的。Kunyu 目前是芝加哥大学计算分析专业的硕士生。他发现理解统计建模和机器学习技术、将它们应用于真实世界的数据并帮助创建金融服务行业的端到端解决方案是一件有趣的事情。在 LinkedIn 上联系昆玉!🐷

[## 昆玉何-即将上任的全球量化策略非周期分析师-美银美林…

芝加哥大学正在接受理学硕士计算分析项目培训的数据科学家。对…充满热情

www.linkedin.com](https://www.linkedin.com/in/kunyuhe/)

统计数据是最好的开端

原文:https://towardsdatascience.com/statistics-measures-are-the-best-starter-86241bb39576?source=collection_archive---------43-----------------------

发起一个成功的数据科学项目

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

卢卡斯·布拉塞克在 Unsplash 上的照片

统计学是通过使用实验数据发展人类知识的科学和实践。它基于统计学理论,统计学理论是应用数学的一个分支。在统计理论中,随机事件和不确定性由概率论建模。如果你想有一个有意义和有效的数据科学项目,你必须对原始数据和领域知识有很好的理解。借助初步的统计工具和可视化图表,您可以对数据及其行为有更深入、更直观的理解。

统计包含许多基本概念,包括描述性统计和推断性统计,描述性统计使用平均值或标准差等指标对样本数据进行汇总,推断性统计从随机变化的数据中得出结论。描述性统计可以用来总结人口数据。数字描述符包括连续数据类型(如收入)的均值和标准差,而频率和百分比在描述分类数据(如教育)方面更有用。为了对整个人口得出有意义的结论,需要推理统计。它使用样本数据中的模式来推断所代表的人口,说明随机性。计算统计学,或统计计算,是统计学和计算机科学之间的接口。它是计算科学(或科学计算)的领域,具体到统计的数学科学。

统计实践包括计划、总结和解释不确定的观察结果。因为统计学的目的是从现有数据中产生最佳信息,一些作者认为统计学是决策理论的一个分支。问题解决和改进方法,如六西格玛,在测量和分析步骤中使用统计过程方法,通过实验和样本找出过程。在随机化实验中,实验方案中规定的随机化方法指导统计分析,这通常也由实验方案规定。例如,测量系统分析(MSA)是一种实验和数学方法,用于确定测量过程中的变化对整个过程可变性的影响程度。

在本文中,我想介绍最适用和最方便的统计概念,它们将有助于启动一个成功的数据科学项目。

均值或平均值

Mean 或 average 是数字集合的总和除以集合中的数字个数。该集合通常是一组实验或观察研究的结果,或者经常是一组调查的结果。在数学和统计学的某些上下文中,术语“算术平均值”是首选的,因为它有助于将其与其他平均值(如几何平均值和调和平均值)区分开来。

差异

方差是随机变量与其均值的方差的期望值。通俗地说,它衡量一组数字偏离平均值的程度。方差在统计学中有着重要的作用,使用方差的一些概念包括描述性统计、统计推断、假设检验、拟合优度和蒙特卡罗抽样。

标准偏差

标准差是一组值的变化量或离差的度量。低标准偏差表示这些值倾向于接近集合的平均值(也称为期望值),而高标准偏差表示这些值分布在更大的范围内。

错误

从零假设出发,可以识别两种基本形式的错误:第一类错误,其中零假设被错误地拒绝,给出“假阳性”。第二类错误,即零假设未能被拒绝,群体间的实际差异被遗漏,从而给出“假阴性”。

方差分析

ANOVA 是统计假设检验的一种形式,大量用于实验数据的分析。假设零假设为真,如果一个测试结果被认为不太可能是偶然发生的,那么这个测试结果(从零假设和样本计算出来的)被称为具有统计显著性。当概率(p 值)小于预先指定的阈值(显著性水平)时,统计上显著的结果证明拒绝零假设是正确的,但仅当零假设的先验概率不高时。

卡方检验

卡方检验,也称为χ2 检验,是一种统计假设检验,当检验统计量在零假设下为卡方分布时有效,特别是皮尔逊卡方检验及其变体。皮尔逊卡方检验用于确定在列联表的一个或多个类别中,预期频率和观察频率之间是否存在统计上的显著差异。

相关性和依赖性

相关性或依赖性是两个随机变量或二元数据之间的任何统计关系,无论是否是因果关系。在最广泛的意义上,相关性是任何统计上的关联,尽管它通常指的是一对变量线性相关的程度。依赖性现象的常见例子包括父母及其子女的身体状况之间的相关性,以及商品价格和消费者愿意购买的数量之间的相关性,如所谓的需求曲线所示。

皮尔逊相关系数

皮尔逊相关系数是两个变量的协方差除以它们的标准差的乘积。定义的形式涉及一个“乘积矩”,即均值调整随机变量乘积的均值(关于原点的一阶矩);因此名字中有一个修饰语积矩。

回归分析

回归分析是一组统计过程,用于估计因变量和一个或多个自变量之间的关系。回归分析最常见的形式是线性回归,其中研究人员根据特定的数学标准找到最符合数据的直线。

斯皮尔曼等级相关系数

两个变量之间的 Spearman 相关性等于这两个变量的等级值之间的 Pearson 相关性;皮尔逊相关性评估线性关系,而斯皮尔曼相关性评估单调关系(无论是否线性)。如果没有重复的数据值,当每个变量都是另一个变量的完美单调函数时,就会出现+1 或-1 的完美 Spearman 相关性。

“学生”t 检验

如果测试统计量中的比例项的值已知,则当测试统计量遵循正态分布时,最常应用 t-测试。当比例项未知并被基于数据的估计所取代时,测试统计遵循学生的 t 分布。例如,t 检验可用于确定两组数据的平均值是否存在显著差异。

概率论

概率论是从计算的角度对可能事件的研究。换句话说,概率论是处理随机事件分析的数学分支。随机测试是这样一种实验,在进行测试之前,所有可能的结果都是已知的,但是在进行测试之前,不清楚会出现哪种结果,并且可以在相同的条件下以期望的频率进行测试。概率论的核心由随机变量、随机过程和事件组成。概率论除了解释随机现象,还考察不一定随机的现象,但通过多次重复测试,结果遵循特定的模式。考察这些模式的结果就是大数定律和中心极限定理。

时间序列分析

时间序列分析包括用于分析时间序列数据的方法,以便提取有意义的统计数据和数据的其他特征。时间序列预测是使用模型根据以前观察到的值来预测未来值。虽然回归分析常用于检验一个或多个独立时间序列的当前值会影响另一个时间序列的当前值的理论,但这种时间序列分析不称为“时间序列分析”,它侧重于比较单个时间序列或多个相关时间序列在不同时间点的值。间断时间序列分析是对单一时间序列的干预分析。

在以后的文章中,我将帮助您了解更多关于其他重要概念的知识,以此作为成为一名专业数据科学家的基础知识。

参考

扬-威廉·罗米恩(2014 年)。《统计哲学》。斯坦福哲学百科全书。

佩科兹,埃罗尔(2009)。经理统计指南。埃罗尔·佩科兹。ISBN 9780979570438。

nikoletseaes,M.M. (2014 年)“统计学:概念和实例。”ISBN 978–1500815684

弗里德曼,D.A. (2005)统计模型:理论与实践,剑桥大学出版社。ISBN 978–0–521–67105–7

西亚达提,萨曼。(2010).高级统计学简评。10.13140/2.2 . 3510.84804/1。

统计学第二部分:贝叶斯拯救

原文:https://towardsdatascience.com/statistics-part-ii-bayesian-to-the-rescue-877cc18c8bfd?source=collection_archive---------51-----------------------

在这篇文章中,我将比较 frequentist 和贝叶斯统计的结果,并解释这两种方法如何互补,特别是对于 frequentist 方法产生的不清楚的结果。

作为概念的第一个证明,我将使用著名的 Titanic 数据集,每个第一个 Kaggle 用户在注册时都会接触到这个数据集。这些统计数据当然可以应用于任何其他数据集。我选择了 Titanic 数据集,因为它的变量范围很大,读者可能已经知道这些数据了。

对于那些不熟悉这个数据集的人来说,它提供了一系列变量,可以用来预测当时沉船事故中幸存的可能性。你会在网上找到各种方法来分析这个数据集,以及机器学习技术来预测存活率。

我从网上下载了它,你可以在这里找到我使用的确切数据集。

仅供参考,变量如下所示:

[print(i) for i in df.columns]PassengerId
Survived
Pclass
Name
Sex
Age
SibSp
Parch
Ticket
Fare
Cabin
Embarked

缺乏证据

如果你自己做分析,你会发现一些变量在预测存活率方面相当不错。出于论证的目的,也因为我认为它提供了一个很好的解释力,让我们看看可变年龄:

df.Age.plot(kind='hist')

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 1 | Titanic 数据集中年龄列的直方图。

因为我们想研究年龄对存活率的影响,所以我们相应地把它分开:

(df.groupby('Survived')
.apply(lambda d: pd.Series({
    "std": d.Age.std(),
    "sem": d.Age.std() /  d.Age.count(),
    "avg": d.Age.mean()
}))
.plot(kind='barh', 
       y = "avg", 
       legend = False, 
       title = "Mean Age per Surival Class +/- std", 
       xerr = "std"
      ));

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2 |每个存活类别的平均年龄。误差条显示分布的标准偏差。

从一个简单的柱状图来看,在事故中幸存和未幸存的乘客的年龄似乎没有太大的差别。观察误差线,我们可能会认为这些分布没有显著的不同。

让我们用统计学来检验一下。

为了演示贝叶斯统计,我将使用开源软件 JASP ,它提供了一个用户友好的界面。有许多其他的软件包可以让你从代码中运行贝叶斯统计。由于读者可能不精通代码,我使用这个软件来展示如何运行基本的贝叶斯测试。

让我们首先加载 JASP 的泰坦尼克号数据集:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3 |泰坦尼克号数据集在 JASP 装载时的截图

上面你可以看到 JASP 自动以一种很好的可读方式重新组织列中的数据。

JASP 允许你用频率主义和贝叶斯方法进行基本的统计测试。虽然我通常使用 SciPy 运行我的统计数据,但是将这两种方法都嵌入到一个软件中还是不错的,这样您就可以很容易地比较输出。

让我们首先从经典的频率主义方法开始。

下面,你会看到一个 JASP 窗口的截图,当你想做一个独立的样本测试时,它会弹出来,如果我们想测试幸存的乘客是否与死于悲剧的人有明显不同的年龄,这就是我们应该做的。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 4 | Frequentist 独立样本 t 检验。

如您所见,有许多选项可以更改,例如测试的类型(如果您想进行非参数测试,则为 Student、Welch、Mann-Whitney),您是否有测试的假设(单边或双边测试)。此外,如果想要使用 JASP 浏览数据集,还可以获取更多描述性统计数据。

我将运行一个标准的学生测试,即参数测试。在此之前,我们应该检查分布是否满足参数测试的假设,但是为了演示的目的,让我们假设它们是满足的。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

非常令人惊讶的是,测试显示了两种分布之间的显著差异(t(712) = 2.067,P = 0.039),即,在零假设下,观察到的年龄差异是不可能的。p 值确实与典型的 0.05 阿尔法水平调情,表明根据 frequentist 统计,这种影响是显著的,但如果我可以补充的话,不是很有说服力。

在继续之前,我们应该看看 p 值之外的其他指标(效应大小,见这里,但因为这篇文章是关于比较频率主义者和贝叶斯方法,我就继续。

现在让我们看看贝叶斯独立样本 t 检验会显示什么。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 5 | Frequentist 独立样本 t 检验。

贝叶斯检验输出所谓的贝叶斯因子(BF ),它是零假设 H0 对替代假设 H1 的相对预测性能。查看此处了解更多关于贝叶斯因子的信息。

虽然我不喜欢任意阈值的概念,但是这些想法对于得出关于数据的有意义的结论是有用的。

在频率主义者的世界里,典型的任意阈值是 0.05,低于这个阈值,效果据说是显著的。

在贝叶斯世界中,根据 Jeffreys 的初始分类,可以使用以下命名法:

  • BF < 1/3: evidence 反对零假设
  • 1/3 < BF < 3 : Anecdotical evidence
  • BF > 3:证据零假设

在我们的例子中,我们选择 BF10,它表示 1 假设下的数据的似然性与零假设下的数据的似然性的比较(数学术语:p(数据| H1) / p(数据| H0))。

回到我们的测试。我们在主窗口中发现了一些有趣的选项,允许您进行单面或双面测试(“Alt。假设”,在 JASP 用“+”表示),以及 BF 操作,允许您计算每次比较比率,BF10(高 1 对高 0)和 BF01(反向比较)。

我建议你也探索一下 nice plots 选项,它将允许你可视化你的先验和后验分布(这是一个单独的帖子……)。

让我们进行测试:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在我们的例子中,我们得到 BF = 0.685,这意味着我们的数据在 H1 统治下比在 H0 统治下多 0.685 倍。根据杰弗里斯的初步分类,这说明 H0 缺乏证据,也就是说,我们不能得出结论,年龄不影响泰坦尼克号事故中的生存可能性。我在这里坚持:由于 BF 不低于 1/3 ,我们不能说他们已经获得了年龄对生存没有影响的证据。在这种情况下,可能需要更多的数据来观察 BF 如何随着更多的累积数据而发展。

我喜欢用下面的话来思考贝叶斯因素:“我应该在多大程度上改变我的信念,即年龄对泰坦尼克号灾难的生存可能性有影响?”。答案是贝叶斯因子。根据你之前的信念(也就是所谓的之前的,你可以根据你从数据中已经知道的东西进行调整),BF 会有所不同,这取决于效果的强度。

在这里,我似乎不应该改变我的信仰。

正如你所看到的,虽然频率主义者的方法会得出年龄影响的结论,但贝叶斯方法会说在得出结论之前需要更多的数据。在这种情况下,最好的办法是收集更多的数据,以获得效果的证据,或者证明效果不存在的证据。

效果的证据

现在让我们使用另一个著名的数据集,波士顿住房数据集,来探索另一种情况。你可以在帖子开头给出的回购上找到这个数据集。

下面我画出了查尔斯河上每个位置的房屋价格(你应该在最初的比赛中预测到)。

(df_housing.groupby('chas')
.apply(lambda d: pd.Series({
    "std": d.medv.std(),
    "sem": d.medv.std() /  d.medv.count(),
    "avg": d.medv.mean()
}))
.plot(kind='barh', 
       y = "avg", 
       legend = False, 
       title = "Mean price per river location +/- std", 
       xerr = "std"
      ));

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 6 |每个河流位置的平均房价。误差条显示分布的标准偏差。

正如我们所看到的,真实值(靠近查尔斯河)的价格高于虚假值。
现在,让我们从统计学的角度来探讨这一观察结果。

我不会在这里显示 JASP 结果的截图,但只有结果。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

frequentist 独立样本 t 检验显示两种分布之间的差异非常显著(t( 504 ) = -3.996, p < 0.001),即在位于查理斯河上和远离查理斯河的住房之间观察到的房价差异非常显著。

让我们看看贝叶斯测试能得到什么。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

贝叶斯方法证实了具有非常高的 BF 值的观察结果,表明该数据在 H1 假设下的可能性是在 H0 下的 270 倍。

现在,我们有最后一个案例要探索:贝叶斯统计将允许我们在没有影响的情况下得出结论。

缺席的证据

到目前为止,一切顺利。在前面的例子中,我们看到这两种方法都是有意义的,并且在效果较高时同时出现。现在让我们来看看另一个变量,我们可以更清楚地使用贝叶斯方法的力量。

与其看一个可能显示价格差异的变量,不如看另一个变量:“zn”变量,即 25,000 平方英尺以上地段的住宅用地比例

首先,让我们看看一个常客会怎么说:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

然后,贝叶斯会说:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

频率主义者会说没有影响,但同样,我们不知道是否真的没有影响,或者我们是否缺乏统计能力…

贝叶斯理论说我们有一个 BF10 = 0.284。该值低于 1/3,根据上述术语,这一次,我们的数据为 H0 提供了适度的证据,即位于或远离查理斯河的位置不会导致工业区的比例更高。换句话说,我们有证据表明不存在影响,我们可以从进一步的模型和解释中完全排除这个变量,以简化我们的分析。

这一结论与“缺乏证据”的情况相反,我们之前在泰坦尼克号数据中使用可变年龄发现了这种情况。在这种特殊的情况下,我们不应该从我们的模型和分析中去掉年龄,因为我们没有明确的证据表明它在我们观察到的效应中不起作用。

结合频率主义和贝叶斯方法

这种统计检验的最有力的方法可能是报告频率主义和贝叶斯方法。这是我们在最近的出版物中所做的,以适应频率论者和贝叶斯评论者,并证明为什么一些变量从进一步的协变量分析中被去除,而其他的被保留

欢呼感谢阅读:)

六月(June 的缩写)

你可以在下面的回购处找到这个笔记本:https://github.com/juls-dotcom/bayes

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值