前言:
如今姐妹们对“oracle多个sql结果相加”都比较着重,朋友们都想要剖析一些“oracle多个sql结果相加”的相关资讯。那么小编也在网络上汇集了一些对于“oracle多个sql结果相加””的相关文章,希望咱们能喜欢,姐妹们快快来学习一下吧!全文共6409字,预计学习时长19分钟
“数据科学家是程序员中最擅长统计学、统计学家中最擅长编程的人。”
——乔什·威尔斯(Josh Wills)
数学很重要。
数学与我们周围的一切事物息息相关,从形状、图案、颜色到花朵中花瓣的数量。数学深深扎根于人类生活的各个方面。
数学和统计学对学习数据科学至关重要,因为这些学科构成了所有机器学习算法的基础。
成为一名数据科学家,除了对编程语言要有很好的了解,还必须要掌握机器学习算法、数据驱动方法。但数据科学并不只涉及这些领域。在本文中,您将了解数学和统计学对数据科学的重要意义以及如何将其用于建立机器学习模型。
本文将涉及的主题列表如下:
统计概论统计术语统计类别描述性分析R中的描述性统计推断性分析R中的推断性统计
统计概论
成为一名成功的数据科学家,必须掌握一定的基础知识。数学和统计学是机器学习算法的基础。重要的是了解各种机器学习算法背后的技术,进而知道如何以及何时使用它们。那么统计学到底是什么?
统计学是一门与数据收集、分析、解释和表示有关的数学科学。
统计学用于处理现实世界中的复杂问题,在此基础上,数据科学家和分析师可以寻找有意义的数据趋势和变化。简而言之,统计学就是对数据进行数学计算,并从中得出有意义的结论。
可应用几种统计函数、原理和算法分析原始数据、建立统计模型并推断或预测结果。
统计学影响生活的各个方面,例如股票市场、生命科学、天气,零售业、保险和教育。
接下来,将讨论统计学中的基本术语。
统计学术语-数据科学中的统计学
在学习数据科学中的统计学时,应注意了解一些关键的统计术语。下面将展示一些术语:
总体是所收集数据的来源。样本是总体的子集变量是可以测量或计算的任何特征、数字或数量。变量也可以称为数据项。统计参数或总体参数,也称为统计模型,是索引一系列概率分布的量。例如,总体的平均值、中位数等。
在进一步讨论统计学的具体类别之前,先来看一下分析的类型。
分析类型
对任何事件进行分析都可以选择以下两种方式之一:
定量分析:定量分析或统计分析是一门收集和解读与数字和图形有关的数据以识别图案和趋势的科学。定性分析:定性或非统计分析可提供一般化信息,通过使用文本、声音和其他形式的媒体都可进行此操作。
例如,如果我想从星巴克购买杯咖啡,那么就可以在小杯、中杯、大杯中选择。这是定性分析的一个例子。但是,如果一家商店每周售出70杯常规咖啡,该例子则变为定量分析,因为有一个数字能体现每周售出咖啡的数量。
尽管两种分析的目的都是为了获得结果,但定量分析的结果更清晰,因此在分析中占据了至关重要的地位。
统计类别
统计学中有两个主要类别,即:
描述性统计推断性统计
1. 描述性统计
描述性统计使用来自数值计算、图形或表格的数据进行总体描述。
描述性统计有助于整合数据并关注参数数据的特征。
假设要研究教室中学生的平均身高,在描述性统计中需要记录班级中所有学生的身高,然后找到班级中最高、最低和平均身高。
2. 推断性统计
推断性统计会根据从总体中获得的数据样本对总体进行推断和预测。
推断性统计对一大组数据集进行概括,并应用概率得出结论。推断性统计可根据样本统计信息推断总体参数并在此基础上构建模型。
还是以研究班级中学生的平均身高为例,在推断性统计中需要获取该班级的样本集,即整个班级中的几个人。之前已经将班级划分为高个子组、平均身高组和矮个子组,通过这种方法可以基本上建立一个统计模型,并将其扩展应用到班级总体中。
现在将注意力转移到描述性统计上,看看如何借助描述性统计解决分析类问题。
描述性分析
当尝试以图形形式表示数据时,例如直方图、折线图等,数据根据某种集中趋势得以呈现。集中趋势度量(例如均值、中位数或分布度的度量等)一般用于统计分析。为更好地理解统计,借助示例讨论统计中的不同度量。
汽车数据集–数据科学的数学和统计学
这是包含变量的汽车样本数据集:
汽车每加仑里程(mpg)汽缸类型(cyl)排量(disp)马力(hp)实际轴比(drat)
在进行下一步前,先定义中心的主要度量或集中趋势度量。
中心的主要度量
均值:样本中所有值的平均值的度量值为均值。中位数:样本集中心值的度量值为中位数。众数:样本集中最经常出现的值称为众数。
使用描述性分析,可以分析样本数据集中的每个变量的平均值、标准偏差、最小值和最大值。
如果要在汽车总体中得到汽车的平均功率,需要核对并计算所有值的平均值。在这种情况下,需要用每辆汽车马力相加的总和除以汽车总数:
平均值 = (110+110+93+96+90+110+110+110)/8 = 103.625
如果要在汽车总体中得到mpg的中心值,我们需要将mpg值按升序或降序排列,然后选择中间值。在这种情况下,一共有8个值,即为偶数项。因此必须取两个中间值的平均值。
8辆汽车的mpg : 21,21,21.3,22.8,23,23,23,23
中位数 = (22.8+23 )/2 =22.9
如果要在汽车总体中得到最常见的汽缸类型,则需要核对重复次数最多的值。在这个例子中,我们发现汽缸有两个出现次数最多的值,分别为4和6。查看数据集,可发现最经常出现的值是6。因此6为众数。
分布度的度量
就像中心度量一样,分布度的度量同样存在,主要包括以下度量
极差:是给定的度量数据集中值的分散程度的度量。四分位数间距(IQR):基于将数据集划分为四分位数的可变性度量。方差:它描述了一个随机变量与其期望值的差异,需要计算偏差的平方。偏差是每个元素与平均值之间的差异。总体方差是偏差平方的平均值样本方差是均值平方差的平均值标准偏差:这是一组数据与其均值之间离散度的度量。
了解了描述性分析背后的统计数据和数学运算后,现在可以尝试在R中进行计算。
R中的统计
世界走向R的原因有n种。下面列举了其中的几个原因:
R是开源、免费的。与SAS或Matlab不同,您可以自由安装、使用、更新、克隆、修改、重新分发和转售R。R是跨平台兼容的。它兼容Windows、Mac OS X和Linux。它还可以从Microsoft Excel、Microsoft Access、MySQL、SQLite、Oracle和其他程序中提取数据。R是一种强大的脚本语言,可以处理大型、复杂的数据集。R具有高度的灵活性,同时也在不断发展。统计方面的许多新发展首先是以R软件包的形式呈现的。
下面继续介绍R中的描述性统计。
R中的描述性统计
实际操作是更好地理解某个概念的最好方式。
本节中将会有一个小型演示,展示如何计算均值、中位数、众数、方差、标准差以及如何通过绘制直方图研究变量。这是一个非常简单的演示,但它构成了每种机器学习算法的基础。
步骤1:导入数据进行计算
>set.seed(1)#Generate random numbers and store it in a variable called data>data = runif(20,1,10)
步骤2:计算数据的均值
#Calculate Mean>mean = mean(data)>print(mean)[1] 5.996504
步骤3:计算数据的中位数
#Calculate Median>median = median(data)>print(median)[1] 6.408853
步骤4:计算数据的众数
#Create a function for calculating Mode
>mode <- function(x) { >ux <- unique(x) >ux[which.max(tabulate(match(x, ux)))]
}
>result <- mode(data) >print(data)
[1] 3.3895784.349115 6.1556809.173870 2.8151379.085507 9.5020776.947180 6.662026
[10] 1.556076 2.8537712.589011 7.1832064.456933 7.9285735.479293 7.4585679.927155
[19] 4.420317 7.997007
>cat("mode= {}", result)
mode={} 3.389578
步骤5:计算数据的方差和标准偏差
#Calculate Variance and std Deviation>variance = var(data)>standardDeviation = sqrt(var(data))>print(standardDeviation)[1] 2.575061
步骤6:绘制直方图
#Plot Histogram>hist(data, bins=10, range= c(0,10), edgecolor='black')
直方图用于显示数据点的频率:
到目前为止,您已经了解了描述性统计,现在来看下推断性统计。
推断性分析
统计学家使用假设检验对假设是否被接受进行正式核查。假设检验是一种推断性统计技术,用于确定数据样本中是否有足够证据推断某个条件对总体成立。
为了解一般总体的特征,我们抽取一个随机样本并分析样本的特性。我们需要检测已经确定的结论能否准确代表总体,最后还要对结果进行解读。是否接受假设取决于我们从假设中获得的百分比值。
为更好地理解这一点,让我们看一个例子。
尼克、约翰、鲍勃和哈里四个男孩逃课被抓,于是老师惩罚他们留在学校打扫教室。
因此,约翰决定四人将轮流打扫教室。他想出了一个计划,将四人名字都写在便笺上,放在碗里。每天他们要从碗里抽出一个打扫教室的人。
现在已经是三天了,所有人的名字都被抽中过,除了约翰的名字!假设此事件是完全随机的,我们也不要带有任何偏见,那么你觉得约翰没有作弊的可能性是多少?
首先计算约翰一天不被选中的概率:
P(约翰一天不被选中) = 3/4 = 75%
此处概率为75%,这是相当高的。如果连续三天都未选中约翰,那么概率下降到42%
P(连续三天未选中约翰) = 3/4 ×3/4× 3/4 = 0.42 (approx)
现在,考虑一下连续12天都未选中约翰的情况!在这种情况下,概率下降到3.2%。因此可以得出,约翰作弊的可能性相当高。
P(连续12天未选中约翰) = (3/4) ^12 = 0.032 <?.??
为得出结论,统计学家们定义了所谓的阈值。在上述情况中,将阈值设置为5%时,如果得出的概率低于5%,那么说明John在欺骗他人,使自己逃脱留堂的惩罚。但是,如果概率高于阈值,那么就只能说明约翰是很幸运,从未被抽中。
概率检验和假设检验引出了两个重要概念,即:
零假设:结果与假设无异。替代假设:结果与假设相悖。
因此,在示例中,如果事件发生的概率小于5%,则它是一个有偏差的事件,因此它印证了另一种假设。
R中的推断性统计
此演示使用Gapminder数据集进行假设检验。gapminder数据集的列表上包含了142个国家/地区,包括他们从1952年到2007年每五年的预期寿命、人均GDP和人口值。
首先下载gapminder软件包并将其加载到R中:
#Install and Load gapminder packageinstall.packages("gapminder")library(gapminder)data("gapminder")
现在,通过使用R中的View()函数查看数据集:
#Display gapminder datasetView(gapminder)
快速浏览一下数据集:
下一步是加载R提供的dplyr软件包,该软件包可谓臭名昭著。我们特别希望在dplyr软件包中使用管道(%>%)运算符。管道运算符是什么?一般而言,您可以使用它将数据从左侧管道传输到右侧管道。这一点显而易见。
#Install and Load dplyr packageinstall.packages("dplyr")library(dplyr)
下一步是比较两个地方(爱尔兰和南非)的预期寿命,并进行t检验以核查这项比较是否遵循零假设或替代假设。
#Comparing the variance in life expectancy in South Africa & Ireland
df1 <-gapminder %>%
select(country, lifeExp) %>%
filter(country == "South Africa" | country =="Ireland")
因此,将t检验应用于数据框(df1)并比较预期寿命后,您可以看到以下结果:
#Perform t-test
t.test(data = df1, lifeExp ~ country)
Welch Two Sample t-test
data: lifeExp by country
t = 10.067, df = 19.109, p-value = 4.466e-09
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
15.0702222.97794
sample estimates:
meanin group Ireland mean in group South Africa
73.01725 53.99317
注意爱尔兰和南非的均值,您可以看到预期寿命几乎相差20个等级。现在需要核查南非和爱尔兰的预期寿命差值是否真实有效,而不仅仅只是偶然。因此,进行t检验。
请特别注意p值,也称为概率值。在确保模型重要性方面,p值是非常重要的度量。仅当p值小于预定统计显着性水平(理想情况下为0.05)时,我们才认为模型具有统计显着性。从输出值中可以发现,p值为4.466e-09,是一个非常小的值。
在模型概述中,请注意另一个称为t值的重要参数。较大的t值表明替代假设是正确的,在运气好的情况下,预期寿命的差值不等于零。因此,在这一情况下,原假设被推翻。
在本演示的最后,将绘制每个大陆的图表,通过该图表显示每个大陆的预期寿命会如何随着该大陆人均GDP的变化而变化。
#Plotting a gdpPercap vs lifeExp graph for each continent
#Install and Load ggplot2 package
install.packages("ggplot2")
library(ggplot2)
gapminder%>%
filter(gdpPercap < 50000) %>%
ggplot(aes(x=log(gdpPercap), y=lifeExp, col=continent, size=pop))+
geom_point(alpha=0.3)+
geom_smooth(method = lm)+
facet_wrap(~continent)
在上图中,几乎可以看到每个大陆的预期寿命相对于人均GDP的线性变化。这也表明R语言可以很好地用于统计分析。
这些就是关于数据科学中数学和统计学的完全指南了,不知道大家GET到没有?
留言点赞关注
我们一起分享AI学习与发展的干货
如转载,请后台留言,遵守转载规范
标签: #oracle多个sql结果相加