java正态分布的运用

您所在的位置:网站首页 标准正态分布数据呈钟型分布 java正态分布的运用

java正态分布的运用

2024-07-14 18:44| 来源: 网络整理| 查看: 265

1正态分布描述

正态分布是最重要的一种概率分布。正态分布概念是由德国的数学家和天文学家Moivre(棣莫弗)于1733年受次提出的,但由于德国数学家Gauss(高斯)率先将其应用于天文学家研究,故正态分布又叫高斯分布。正态分布起源于误差分析,早期的天文学家通过长期对一些天体的观测收集到了大量数据,并利用这些数据天体运动的物理模型,其中第谷与开 普勒在建模中提出了一条原则—“模型选择的最终标准是其与观测数据的符合程度”,这个“符合程度”实质上蕴涵了误差概率理论的问题,伽例略是第一个在其著作中提出随机误差这一概念的人。因其曲线呈钟形,因此人们又经常称之为钟形曲线。我们通常所说的标准正态分布是μ = 0,σ = 1的正态分布。

1.1正态分布的定义

正态分布(Normal distribution)又名高斯分布(Gaussian distribution),是一个在数学、物理及工程等领域都非常重要的概率分布,在统计学的许多方面有着重大的影响力。正态分布之所以被称为正态,是因为它的形态看起来合乎理想。在现实生活中,遇到测量之类的大量连续数据时,你"正常情况下"会期望看到这种形态。

1.2正态分布符号定义

若随机变量X服从一个数学期望为μ、方差为的高斯分布,记为N(μ,)。其概率密度函数为正态分布的期望值μ决定了其位置,其标准差σ决定了分布的幅度。因其曲线呈钟形,因此人们又经常称之为钟形曲线。正态分布有两个参数,即均数(μ)和标准差(σ)。 μ是位置参数,当σ固定不变时, μ越大,曲线沿横轴,越向右移动;反之, μ越小,则曲线沿横轴,越向左移动。是形状参数,当μ固定不变时,σ越大,曲线越平阔;σ越小,曲线越尖峭。通常用表示标准正态分布。

1.3正态分布公式

正态分布函数密度曲线可以表示为:称x服从正态分布,记为X~N(m,s2),其中μ为均值,s为标准差,X∈(-∞,+ ∞ )。标准正态分布另正态分布的μ为0,s为1

标准正态分布图形如下所示

 

1.4正态分布函数密度曲特征

A、正态分布函数密度曲线在横轴上方均数处最高。

B、正态分布函数密度曲线以均数为中心,左右对称。

C、正态分布函数密度曲线有两个参数,即均数(μ)和标准差( s )。 μ是位置参数,当s固定不变时, μ越大,曲线沿横轴,越向右移动;反之, μ越小,则曲线沿横轴,越向左移动。是形状参数,当μ固定不变时, s越大,曲线越平阔; s 越小,曲线越尖峭。通常用N( μ , )表示均数为μ ,方差为s的正态分布。用N(0,1)表示标准正态分布。

D、正态分布函数密度曲线下面积的总和为1。

1.5正态概率计算公式

如图下图所示a到b的阴影部分面积其中a,b为自变量,μ为期望,s为标准差。

对于标准正态分布概率求解公式如下,即令一般正态概率公式μ为0,s为1,上下限为负无穷到正无穷即可得到,通常我们用来表示标准正态概率。

1.5标准正态分布方差和期望

标准正态分布期望E(x)=μ

标准正态分布方差Var(x)=

1.6正态概率计算步骤

第一步:确定数据分布:在做正态概率分计算,首先确定数据是否符合正态分布,确定正态分布的均值和方差。对一些不符和正态分布的数据进行取对数或者样本重新排列称符合正态分布的标准后,在确定均值和方差。

第二步:标准化(平移,收放):对一般正态分布进行标准化,标准化的过程为先平移,平移过程用公式表达即,再对结果进行收放,收放过程即为,其中y= 。则标准化公式:;其中Z为标准分,x为随机变量,μ为均值,s为标准差。

第三步:使用概率表:通过标准分,进行查表(标准正态分布概率表),得到具体的概率。

2正态概率的应用

例:某公司准备通过考试招工300名。其中280名正式工,20名临时工。实际报考人数为1675名。考试满分400分。考试不久后,通过当地新闻媒体得到如下消息:考试平均成绩是166分,360分以上的高分考生31名。某考生的成绩为256分。问他能否被录取?若被录取,能否是正式工?

数学建模:由具体问题,我们可以假设考生的成绩分布符合正态分布。设考生的成绩为x,最低分数线为,均值μ为166,方差设为,正态分布可以记作:

解决思想:根据条件求出方差 根据正态分布求出最低分数线 ,根据考生的成绩算出该考生在所有考生中的比例

3正态分布的优缺点 3.1正态分布优点

对于社会上遇到的大部分问题,其概率分布规律基本都满足正态分布,为了计算某种概率,我们就可以通过数学建模利用正态分布方便解决问题。

一般来说,如果一个量是由许多微小的独立随机因素影响的结果,那么就可以认为这个量具有正态分布(见中心极限定理)。从理论上看,正态分布具有很多良好的性质 ,许多概率分布可以用它来近似;还有一些常用的概率分布是由它直接导出的,例如对数正态分布、t分布、F分布等。

在一定条件下可以利用正态分布近似估算二项分布和泊松分布。

3.2正态分布缺点

无法近似估算符合几何分布的问题,无法精确解决离散数据概率。

3.3正态分布不适用场景

    数据离散性太大,数据不符合正态分布特点,通过对数据进行取对数或者重新排序亦无法达到正态分布特点,无法得出均数(期望)和标准差。

3.4正态分布适用场景

    连续型数据或者数据离散性小,数据基本符合正态分布特点,或者对不符合的数据进行取对数或者样本重新排序达到正态分布特点,有具体的均数(期望)和标准差。

4正态概率算法输入数据 4.1正态概率算法输入数据

* @param μ double,表示正态分布均数(期望)

* @param  double,表示正态分布标准差(方差的开平方)

4.2正态概率算法中间结果

* @param z double,表示正态分布标准差

4.3正态分布算法输出结果

* @return S1 double,表示正态概率值

4.4正态概率算法图形化展示

5正态概率算法异常和误差 5.1正态概率算法可能异常或误差

异常:算出的标准差超出概率表出现异常

误差:保留小数位数造成不精确

5.2正态概率算法异常或误差处理

异常:解决,过小捕获异常并给予概率为0。

误差:解决,进行小数点位数自定义保留封装,根据具体精度进行设置。

6正态概率算法描述 6.1类和方法描述

类源码见源程序: Distribution.src.NormalDistribution.zheng04

方法描述:通过对需要计算标准概率的的正态分布的均值和标准差进行计算得出具体标准分再通过调用org.apache.commons.math3.distribution类来实现。

6.2类和方法调用接口

见源程序:Distribution.src.NormalDistribution.zheng04

zheng04.java 下包含如下方法:

cumulativeProbability(double z) //需要求的正态分布的标准分

调用封装方法:

NumFormat.java 下如下方法:

ZeroFormat (double num ,int n) //对num数值保留位数n的自行设置

复制代码

/** * 保留几位小数 * @param num double,预备格式数据 * @return result double,保留指定小数点数据 */ public static double ZeroFormat(double num,int n) { BigDecimal bigDecimal=new BigDecimal(num); //DecimalFormat ff = new DecimalFormat("#.0000"); //保留四位小数 //double result = Double.valueOf(ff.format(num)); //return result; return bigDecimal.setScale(n, BigDecimal.ROUND_HALF_UP).doubleValue(); //setscale(n,BigDecimal.ROUND_HALF_UP).doubleValue; }

复制代码

 

6.3源码

复制代码

package NormalDistribution; import java.util.Scanner; import org.apache.commons.math3.distribution.NormalDistribution; /** * * @(#)zheng01.java * @Description:描述:根据提供的正态分布的均值和标准差得到正态概率的具体实现。 * @Definitions:定义:在处理符合正态分布的连续型数据,知道了这组数据的均值和方差为了求得随机变量符合某个范围的概率为:P(X


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3