正态分布

检验每组数据是否服从正态分布;用秩和检验法检验两组数据的差异性;matlab实现

自作多情 提交于 2020-02-07 09:01:14
数据来源: 样本均值,顺序统计量,样本中位数, 样本方差,样本标准差,直方图,核密度估计曲线,经验分布函数图,箱形图;matlab实现 (1)检验每组数据是否服从正态分布; 第一组数据利用Matlab编译程序如下: clc; clear; load('c.mat'); c=c';%转置 alpha=0.05;%0.95置信度 % 第一组数据正态分布判断  [mu,sigma]=normfit(c); p1=normcdf(c,mu,sigma); [H1,s1]=kstest(c,[c,p1],alpha); if H1==0 disp('该数据源服从正态分布。') else disp('该数据源不服从正态分布。') end 在结果窗口可得:该数据源服从正态分布。(如下图) 同理,第二组数据经计算,该数据源也服从正态分布 。 (2)用秩和检验法检验两组数据的差异性 利用Matlab编译程序如下: clear; load('c.mat'); load('d.mat'); [p,h]=ranksum(c,d); 可得结果: p=6.666459108310351e-12 ,h=1 如果h1=1,则两组数据有明显区别,即表示认为数据一与数据二有显著性区别,这一断言的犯错概率是6.666459108310351e-12 来源: CSDN 作者: DOG_BITE_DOG 链接: https

[回归] 线性回归之解析解的推导过程

穿精又带淫゛_ 提交于 2020-02-07 06:06:24
线性回归 Linear Regression——线性回归 是什么? 是机器学习中有监督机器学习下的一种简单的回归算法。 分为一元线性回归(简单线性回归)和多元线性回归,其中一元线性回归是多元线性回归的一种特殊情况,我们主要讨论多元线性回归 做什么? 回归问题关注的是一个因变量和一个或多个自变量的关系,根据已知的自变量来预测因变量. 如果因变量和自变量之间的关系满足线性关系(自变量的最高幂为一次),那么我们可以用线性回归模型来拟合因变量与自变量之间的关系. 怎么做? 简单线性回归的公式如下: y ^ = a x + b \hat y=ax+b y ^ ​ = a x + b 多元线性回归的公式如下: y ^ = θ T x \hat y= \theta^T x y ^ ​ = θ T x 上式中的 θ \theta θ 为系数矩阵,x为单个多元样本. 由训练集中的样本数据来求得系数矩阵,求解的结果就是线性回归模型,预测样本带入x就能获得预测值 y ^ \hat y y ^ ​ ,求解系数矩阵的具体公式接下来会推导. 推导过程 推导总似然函数 假设线性回归公式为 y ^ = θ x \hat y= \theta x y ^ ​ = θ x . 真实值y与预测值 y ^ \hat y y ^ ​ 之间必然有误差 ϵ = y ^ − y \epsilon=\hat y-y ϵ = y ^

Java绘制正态分布统计图

房东的猫 提交于 2020-02-06 18:24:16
Java绘制正态分布统计图 1.正态分布 正态分布(Normal distribution),又名高斯分布(Gaussian distribution),它在数学等工程领域中使用较为频繁的一种概率分布,尤其在统计学上有着重大的影响力。统计后的正态曲线呈钟型(两边低,中间高),如下图所示(图片来源百度百家号http://baijiahao.baidu.com/): 2.生成正态分布数据并统计 在做开发的过程中,我们往往要模拟出一些正态分布的数据,统计后进行图表绘制。使用Java模拟正态分布是一件非常容易的事情,随机数类Random的nextGaussian方法提供。 nextGaussian方法返回一个随机double类型数据,我们可以用一个数据容器存储该方法生成的若干个随机数。这些随机数会以0为基准随机生成正态分布的double数值,这些数值的均值接近0。在下面的程序示例中,我们利用nextGaussian生成若干个随机数,然后进行分组统计,最后在控制台上输出统计图表。 控制台输出正态分布统计图 01. import java . util . ArrayList ; 02. import java . util . Comparator ; 03. import java . util . HashMap ; 04. import java . util . Map ; 05.

GMM 高斯混合模型

南笙酒味 提交于 2020-02-02 20:44:51
正态分布是一种中间高两头低的分布曲线, 其公式由高斯导出, 故又名高斯分布. 而中心极限定理让我们知道, 统计问题大多符合正态分布. 高斯混合模型正是基于这一规律. 模型认为, 一组离散数据的分布是符合高斯分布的, 但它的分布不会老老实实地由一个高斯分布决定, 肯定是多个高斯分布加权, 混合二字就是多个高斯分布混合作用的意思. 数据的生成过程如下: 由K个离散随机变量代表K个不同的高斯分布. 随机出一个高斯分布k. 根据高斯分布k, 生成一个数据. 重复1和2. 以上过程是已知模型, 生成数据. 我们要的是已知数据, 反推模型. 此时需要使用EM算法进行训练, 它是一种根据后验来调整先验的算法, 使用了极大似然估计, 让高斯混合模型在不断的数据训练中矫正到符合数据的分布. 关键知识点: 极大似然估计, EM算法的E过程和M过程, 正态分布(高斯分布)的公式和中心极限定理, 二阶/多阶正态分布的公式. 高斯混合模型是一种简单模型, 其概率图模型也十分简单 将它扩展到时序, 就是HMM隐马尔科夫模型. 来源: CSDN 作者: 羚谷光 链接: https://blog.csdn.net/qq_39006282/article/details/104145299

Python中,关于Numpy.random方法random.rand(), random.random(), random.randn()的区别

╄→гoц情女王★ 提交于 2020-02-02 09:33:02
在Python中,使用Random方法有random.rand(), random.random(), random.randn()等几种用法,这篇文章整理下他们的区别: Random.rand(x,y) 在[0,1)平均分布中,随机生成x行y列的数组 import numpy as np a = np . random . rand ( 3 , 4 ) a #返回结果: array ( [ [ 0.21910559 , 0.05793295 , 0.7849145 , 0.05153582 ] , [ 0.30389682 , 0.6197685 , 0.15432231 , 0.28394065 ] , [ 0.02324611 , 0.57761753 , 0.32870006 , 0.23687286 ] ] ) #返回结果中,所有元素都是在[0,1)范围内 Random.random((x,y)) 在[0,1)连续均匀分布中,随机生成x行y列的数组,表达时,括号中需要是元素(x,y) import numpy as np b = np . random . random ( ( 3 , 4 ) ) b #返回结果: array ( [ [ 0.78222625 , 0.33768558 , 0.71446672 , 0.87338934 ] , [ 0.05477066

利用nump生成正态分布样本

馋奶兔 提交于 2020-02-01 20:49:42
numpy.random.randn(d0,d1,…,dn) numpy.random.randn(d0,d1,…,dn) 返回一个或一组符合“标准正态分布“的样本。dn表格每个维度,返回值为指定维度的array。 标准正态分布—-standard normal distribution 标准正态分布又称为u分布,是以0为均值、以1为标准差的正态分布,记为N(0,1)。 1. 当没有参数时,返回单个数据 >>> np.random.randn() 0.2856573215723444 2. 指定维数 >>> np.random.randn(2,4) array([[-1.80031882, 0.10318817, 1.05343294, -0.74251429], [-0.02053998, 0.58558613, -1.02284653, 0.33441884]]) >>> np.random.randn(2,2,2) array([[[ 0.76631648, -1.94176884], [-1.08613881, 0.70950631]], [[-1.04016301, -0.15358818], [-0.95679036, -0.23024994]]]) 3. 生成符合$N(\mu, \sigma^2)$的样本 sigma * np.random.randn(...) +

R语言中的四类统计分布函数

ぐ巨炮叔叔 提交于 2020-02-01 04:25:51
本文转载自: https://www.cnblogs.com/end/p/3718822.html 作者:end 转载请注明该声明。 R语言 中提供了四类有关统计分布的函数(密度函数,累计分布函数,分位函数,随机数函数)。分别在代表该分布的R函数前加上相应前缀获得(d,p,q,r)。如: 1)正态分布的函数是norm,命令dnorm(0)就可以获得正态分布的密度函数在0处的值(0.3989)(默认为标准正态分布)。 2)同理,pnorm(0)是0.5就是正态分布的累计密度函数在0处的值。 3)而qnorm(0.5)则得到的是0,即标准正态分布在0.5处的分位数是0(在来个比较常用的:qnorm(0.975)就是那个估计中经常用到的1.96了)。 4)最后一个rnorm(n)则是按正态分布随机产生n个数据。 上面正态分布的参数平均值和方差都是默认的0和1,你可以通过在函数里显示指定这些参数对其进行更改。如dnorm(0,1,2)则得出的是均值为1,标准差为2的正态分布在0处的概率值。 要注意的是()内的顺序不能颠倒。 关于二项分布的有关函数为: The Binomial Distribution Description Density, distribution function, quantile function and random generation for the

python假设检验实战,是否服从正态分布,异常数据,相关性

我与影子孤独终老i 提交于 2020-01-27 01:49:55
1.要解决的问题 给出的数据集为人体的体温数据,下载链接为 https://pan.baidu.com/s/1t4SKF6U2yyjT365FaE692A* 包括三个数据字段: gender:性别,1为男性,2为女性 Temperature:体温 HeartRate:心率 要解决的问题如下: 人体体温的总体均值是否为98.6华氏度? 人体的温度是否服从正态分布? 人体体温中存在的异常数据是哪些? 男女体温是否存在明显差异? 体温与心率间的相关性(强?弱?中等?) 首先导入数据集: import pandas as pd import numpy as np import matplotlib . pyplot as plt import seaborn as sns from scipy import stats data = pd . read_csv ( 'test.csv' ) temp = data [ 'Temperature' ] gender = data [ 'Gender' ] heartRate = data [ 'HeartRate' ] 查看该数据集的各项数据 data . describe ( ) 输出: Temperature Gender HeartRate count 130.000000 130.000000 130.000000 mean 98

第九周 第二部分

拥有回忆 提交于 2020-01-26 20:11:58
多元高斯分布 x1 ,x2大概为线性关系,一些浅绿色的叉根据p(x1) *p(x2) 不太异常,但实际异常圆圈上的异常情况应该大致一致,但p(x1) *p(x2) 差异较大 那么,开发一种 改良版的异常检测算法 要用到一种 叫做多元高斯分布或者多元正态分布的东西 它能捕捉到一些之前的算法检测不出来的异常 多元高斯分布的参数 包括向量 µ 和一个 n×n 矩阵 Σ 被称为协方差矩阵 Σ 的行列式 (determinant) 它是一个矩阵的数学函数     改变协方差矩阵 非对角线上的元素 你会得到一种不同的高斯分布 所以当我将非对角线的元素 所以当我将非对角线的元素 从 0.5 增加到 0.8 时 我会得到一个 更加 窄和高 的 沿着 x=y 这条线的分布 然后这个等高线图告诉我们 x 和 y 看起来是 一起增加的 概率高的地方是这样的 要么 x1 很大 x2 也很大 或者 x1 很小 x2 也很小 或者是这两者之间 然后随着这个值 0.8 增大 你会得到这样一个高斯分布 差不多全部的概率 都在一个很窄的范围内 也就是 x 几乎等于 y 它是一个非常高 而且非常薄的分布 几乎完全在 x 非常接近于 y 的这样一个 非常窄的范围内 改变均值u: 改变峰值的位置,移动分布的中心 总结1 : 不同的图片 展示 多元高斯分布 所能描述的概率分布是什么样的 它最重要的优势 就是它可以让你

Batch Normalization 批量标准化

喜欢而已 提交于 2020-01-26 10:12:10
本篇博文转自:https://www.cnblogs.com/guoyaohua/p/8724433.html  Batch Normalization作为最近一年来DL的重要成果,已经广泛被证明其有效性和重要性。虽然有些细节处理还解释不清其理论原因,但是实践证明好用才是真的好,别忘了DL从Hinton对深层网络做Pre-Train开始就是一个 经验领先于理论分析 的偏经验的一门学问。本文是对论文《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》的导读。   机器学习领域有个很重要的假设: IID独立同分布假设 ,就是假设训练数据和测试数据是满足相同分布的,这是通过训练数据获得的模型能够在测试集获得好的效果的一个基本保障。那BatchNorm的作用是什么呢? BatchNorm就是在深度神经网络训练过程中使得每一层神经网络的输入保持相同分布的。   接下来一步一步的理解什么是BN。   为什么深度神经网络 随着网络深度加深,训练起来越困难,收敛越来越慢? 这是个在DL领域很接近本质的好问题。很多论文都是解决这个问题的,比如ReLU激活函数,再比如Residual Network,BN本质上也是解释并从某个不同的角度来解决这个问题的。 一、