import org.apache.commons.math3.stat.descriptive.moment._
def vLTreeDigesttest = {
val ttCnt = 10000
val myDigestOrg: AVLTreeDigest = TDigest.createAvlTreeDigest(100).asInstanceOf[AVLTreeDigest]
val orgCollection = new mutable.ArrayBuffer[Double]()
for(i <- 0 to ttCnt){
val value = i // r.nextInt(ttCnt)*r.nextInt(100)*0.01
myDigestOrg.add(value)
orgCollection += value
}
val buf: ByteBuffer = ByteBuffer.allocate(myDigestOrg.byteSize)
buf.mark
myDigestOrg.asSmallBytes(buf)
buf.reset
println(s"size: ${buf.array().size}" )
val myDigestFromOrg: AVLTreeDigest = AVLTreeDigest.fromBytes(buf)
val sampleCollcetion = new mutable.ArrayBuffer[Double]()
for(i <- 0 to 10000) sampleCollcetion += myDigestFromOrg.quantile(i/10000.0)
// max
println(s"orgCollection max : ${orgCollection.max}")
println(s"sampleCollcetion max : ${sampleCollcetion.max}")
// min
println(s"orgCollection min : ${orgCollection.min}")
println(s"sampleCollcetion min : ${sampleCollcetion.min}")
// 全距(Range)
println(s"orgCollection Range : ${orgCollection.max - orgCollection.min }")
println(s"sampleCollcetion Range : ${sampleCollcetion.max - sampleCollcetion.min}")
//avg
val orgCollectionAvg = orgCollection.reduce(_+_)/orgCollection.size
val sampleCollcetionAvg = sampleCollcetion.reduce(_+_)/sampleCollcetion.size
println(s"orgCollection avg :$orgCollectionAvg")
println(s"sampleCollcetion avg : $sampleCollcetionAvg")
//均值标准误差(Standard Error of Mean,S.E. Mean,简称标准误
println(s"S.E. Mean : ${sampleCollcetionAvg - orgCollectionAvg}")
//Variance 方差
val orgCollectionVariance = orgCollection.map(x => Math.pow((x - orgCollectionAvg),2)).reduce(_+_)
val sampleCollcetionVariance = sampleCollcetion.map(x => Math.pow((x - sampleCollcetionAvg),2)).reduce(_+_)
println(s"orgCollection Variance : $orgCollectionVariance")
println(s"sampleCollcetion Variance : $sampleCollcetionVariance")
//Standard Deviation 标准差
println(s"orgCollection Standard Deviation : ${ Math.pow((orgCollectionVariance/orgCollection.size),0.5)}")
println(s"sampleCollcetion Standard Deviation : ${ Math.pow((sampleCollcetionVariance/sampleCollcetion.size),0.5)}")
//Median 中位数
println(s"orgCollection Median : ${ orgCollection.sortWith( (a,b) => a>b )(ttCnt/2) }")
println(s"sampleCollcetion Median : ${ myDigestFromOrg.quantile(0.5)}")
// 众数(Mode) 把 Double -> Int 由于采用后 ,值有些变化 . 所以众数不准
// orgCollection Mode : (504671,1)
// sampleCollectionMode Mode : (145013,1)
val orgCollectionMode = orgCollection.map(x => (x,1)).groupBy(_._1).map(x => (x._1,x._2.size)).toArray.sortBy(_._2)
val sampleCollectionMode = sampleCollcetion.map(x => (x.toInt,1)).groupBy(_._1).map(x => (x._1,x._2.size)).toArray.sortBy(_._2)
println(s"orgCollection Mode : ${ orgCollectionMode(orgCollectionMode.length-1) }")
println(s"sampleCollectionMode Mode : ${ sampleCollectionMode(sampleCollectionMode.length-1) }")
//峰度(Kurtosis)
val kurtosis = new Kurtosis()
println(s"orgCollection Kurtosis : ${ kurtosis.evaluate(orgCollection.toArray) }")
println(s"sampleCollection Kurtosis : ${ kurtosis.evaluate(sampleCollcetion.toArray) }")
// 偏度(Skewness)
val skewness = new Skewness()
println(s"orgCollection Skewness : ${ skewness.evaluate(orgCollection.toArray) }")
println(s"sampleCollection Skewness : ${ skewness.evaluate(sampleCollcetion.toArray) }")
}
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math3</artifactId>
<version>3.6.1</version>
</dependency>
分享到:
相关推荐
介绍数据的操作,包括合并、排序、描述统计、分箱处理。
单变量描述统计分析 单变量描述统计分析是数据分析的基础步骤,旨在对数据进行收集、整理、显示、对数据中有用信息的提取和分析。对变量集中趋势和离中趋势的分析是其主要内容。单变量描述统计分析可以通过SPSS软件...
单变量描述统计分析报告 单变量描述统计分析报告是对单个变量的统计分析,旨在描述变量的集中趋势和离中趋势。该报告通常包括变量的描述统计量,如数值平均数、位置平均数、全距、平均差、标准差、离散系数、偏斜度...
在本实验报告中,主要探讨了如何使用SPSS软件进行描述统计分析,涉及了几个关键概念和操作。首先,我们要了解描述统计分析是研究数据集的中心趋势、分散程度以及分布形态的过程,这对于理解数据的基本特性至关重要。...
eviews-描述统计分析与参数假设检验.pdf eviews是一款强大的经济计量分析软件,提供了多种描述统计分析和参数假设检验方法。本文将对eviews中的描述统计分析和参数假设检验方法进行详细介绍。 描述统计分析是对...
EXCEL在描述统计相关系数与回归分析中的应用 本资源摘要信息主要介绍了EXCEL在描述统计相关系数与回归分析中的应用,通过EXCEL进行相关与回归分析,并计算描述统计量。下面是相关知识点的总结: 一、用函数计算...
在统计学中,单变量描述统计数据分析是一种基本的方法,用于理解和总结一个变量的特性。这种分析主要关注数据的集中趋势、离中趋势以及分布形态。下面将详细讲解这个领域的几个关键概念和SPSS软件中的相关操作。 1....
SPSS教程常用的数据描述统计:频数分布表等统计学优质资料 本资源摘要信息的主要内容是讲解SPSS软件中常用的数据描述统计方法,包括频数分布表、集中趋势、离散统计量、分布统计量等。该资源适合需要使用SPSS进行...
Excel 在描述统计中的应用 Excel 是一款功能强大且广泛应用的电子表格软件,对于数据分析和统计处理有着非常重要的地位。在描述统计中,Excel 提供了多种工具和函数来帮助用户进行数据分析和统计处理。本文将对 ...
在Excel中进行数据分析时,描述统计是一项非常重要的工具,它帮助我们理解数据的基本特性,如集中趋势、分散程度和分布形状。通过使用Excel的数据分析功能,我们可以快速获得一系列关键的统计量,而无需手动计算。...
EXCEL在描述统计相关系数与回归分析中的应用 在数据分析中,描述统计和回归分析是两个关键的概念, Excel作为一个强大的数据分析工具,提供了多种函数和公式来计算描述统计量和进行回归分析。本文将对EXCEL在描述...
在本主题中,我们将深入探讨Python在描述统计和其他相关领域的应用。描述统计是数据分析的基础,它包括对数据集的基本量化描述,如平均值、中位数、众数、标准差和方差等。 首先,让我们关注Python中的`pandas`库,...
在SPSS中,选择“分析”菜单下的“描述统计”然后点击“交叉表”,将“板块”和“上榜次数”分别放入行和列的定义框,计算后可得出创业板中上榜1次的股票有19家,占比16%。 这些分析结果为后续的数据挖掘和决策提供...
论文研究-一般分布区间型符号数据的描述统计与分析.pdf, 以对大规模个体数据通过打包形成的区间型符号数据为研究对象, 针对个体在区间内往往不服从均匀分布的实际情况, ...
单变量描述统计是统计学中的基础部分,主要关注对单一变量的特征进行量化和理解。在数据收集和处理过程中,描述统计提供了数据集中趋势、离中趋势以及分布形状的洞察,帮助研究人员理解数据的基本特性。SPSS软件提供...
这份名为"Excel数据整理与分析描述统计共22页.pdf"的文档,显然是一个详细教程,涵盖了如何利用Excel进行高效的数据管理和统计分析。下面我们将深入探讨其中可能涉及的关键知识点。 1. 数据整理:首先,数据整理是...
数据描述统计分析 本节主要介绍数据描述统计分析的知识点,包括集中趋势的测定与分析、离中趋势的测定与分析和分布形状的测定与分析。 一、集中趋势的测定与分析 集中趋势是指数据的中间值附近的分布趋势。集中...
数据描述统计分析是统计学中的基础概念,它用于概括、理解和解释一组数据的主要特征。这一章将深入探讨数据的集中趋势、离散程度以及分布形态等核心概念,以帮助我们更好地理解数据集的本质。 首先,我们要了解数据...