精华内容
下载资源
问答
  • 赛马正态分布图1.制作IQ数据图import numpy as npimport pandas as pdimport matplotlib.pyplot as plt#使用%matplotlib命令可以将matplotlib的图表直接嵌入到Notebook之中,或者使用指定的界面库显示图表,它有一个...

    赛马正态分布图

    1.制作IQ数据图

    import numpy as np

    import pandas as pd

    import matplotlib.pyplot as plt

    #使用%matplotlib命令可以将matplotlib的图表直接嵌入到Notebook之中,或者使用指定的界面库显示图表,它有一个参数指定matplotlib图表的显示方式

    *#inline表示将图表嵌入到Notebook中。

    %matplotlib inline

    #为了使画出来的图支持 retina格式

    %config InlineBackend.figure_format = 'retina'

    iq_data = pd.read_csv('IQscore.csv')

    len(iq_data)

    70

    iq = iq_data['IQ']

    mean = iq.mean()

    mean

    100.82857142857142

    std = iq.std()

    std

    15.015905990389498

    #normfun正态分布函数,mu: 均值,sigma:标准差,pdf:概率密度函数,np.exp():概率密度函数公式

    def normfun(x,mu, sigma):

    pdf = np.exp(-((x - mu)**2) / (2* sigma**2)) / (sigma * np.sqrt(2*np.pi))

    return pdf

    # x的范围为60-150,以1为单位,需x根据范围调试

    x = np.arange(60, 150,1)

    # x数对应的概率密度

    y = normfun(x, mean, std)

    # 参数,颜色,线宽

    plt.plot(x,y, color='g',linewidth = 3)

    #数据,数组,颜色,颜色深浅,组宽,显示频率

    plt.hist(iq, bins =7, color = 'r',alpha=0.5,rwidth= 0.9, normed=True)

    plt.title('IQ distribution')

    plt.xlabel('IQ score')

    plt.ylabel('Probability')

    plt.show()

    智商正态分布图

    2. 制作赛马数据图

    import numpy as np

    import pandas as pd

    import matplotlib.pyplot as plt

    %matplotlib inline

    %config InlineBackend.figure_format = 'retina'

    stakes_data = pd.read_csv('stakes.csv')

    len(stakes_data)

    89

    stakes = stakes_data['time']

    mean = stakes.mean()

    mean

    149.22101123595513

    std = stakes.std()

    std

    1.6278164717748154

    def normfun(x,mu, sigma):

    pdf = np.exp(-((x - mu)**2) / (2* sigma**2)) / (sigma * np.sqrt(2*np.pi))

    return pdf

    stakes.max()

    153.19999999999999

    stakes.min()

    146.0

    x = np.arange(145, 155,0.2)

    y = normfun(x, mean, std)

    plt.plot(x,y,'g',linewidth = 3)

    plt.hist(stakes, bins = 6,color = 'b',alpha=0.5, rwidth= 0.9, normed=True)

    plt.title('stakes distribution')

    plt.xlabel('stakes time')

    plt.ylabel('Probability')

    plt.show()

    赛马正态分布图

    结论:

    1.概率密度函数是图形中的一条线,而概率则是这条线下方一定数值内的面积。

    2.求某一个精确数值的概率为0.因为对应的面积趋近于0

    3.直方图与正态分布图不完全对应,只有当n充分大,才能更接近于正态分布。

    展开全文
  • 三维正态分布图

    2020-12-19 04:43:31
    听起来你要找的是一个Multivariate Normal Distribution。这在scipy中实现为scipy....所以为了简单起见,将非对角元素保留为零:[X variance , 0 ][ 0 ,Y Variance]下面是一个使用此函数并生成结果分布的三维绘图的...

    听起来你要找的是一个Multivariate Normal Distribution。这在scipy中实现为scipy.stats.multivariate_normal。重要的是要记住,你要传递一个协方差矩阵给函数。所以为了简单起见,将非对角元素保留为零:[X variance , 0 ]

    [ 0 ,Y Variance]

    下面是一个使用此函数并生成结果分布的三维绘图的示例。我添加了colormap以使查看曲线更容易,但可以随意删除它。import numpy as np

    import matplotlib.pyplot as plt

    from scipy.stats import multivariate_normal

    from mpl_toolkits.mplot3d import Axes3D

    #Parameters to set

    mu_x = 0

    variance_x = 3

    mu_y = 0

    variance_y = 15

    #Create grid and multivariate normal

    x = np.linspace(-10,10,500)

    y = np.linspace(-10,10,500)

    X, Y = np.meshgrid(x,y)

    pos = np.empty(X.shape + (2,))

    pos[:, :, 0] = X; pos[:, :, 1] = Y

    rv = multivariate_normal([mu_x, mu_y], [[variance_x, 0], [0, variance_y]])

    #Make a 3D plot

    fig = plt.figure()

    ax = fig.gca(projection='3d')

    ax.plot_surface(X, Y, rv.pdf(pos),cmap='viridis',linewidth=0)

    ax.set_xlabel('X axis')

    ax.set_ylabel('Y axis')

    ax.set_zlabel('Z axis')

    plt.show()

    给你这个情节:

    Matplotlib v2.2不赞成使用下面的编辑,并将在v3.1中删除

    通过matplotlib.mlab.bivariate_normal提供更简单的版本

    它接受以下参数,因此不必担心矩阵

    matplotlib.mlab.bivariate_normal(X, Y, sigmax=1.0, sigmay=1.0, mux=0.0, muy=0.0, sigmaxy=0.0)

    这里X和Y再次是网格网格的结果,因此使用它重新创建上面的绘图:import numpy as np

    import matplotlib.pyplot as plt

    from matplotlib.mlab import bivariate_normal

    from mpl_toolkits.mplot3d import Axes3D

    #Parameters to set

    mu_x = 0

    sigma_x = np.sqrt(3)

    mu_y = 0

    sigma_y = np.sqrt(15)

    #Create grid and multivariate normal

    x = np.linspace(-10,10,500)

    y = np.linspace(-10,10,500)

    X, Y = np.meshgrid(x,y)

    Z = bivariate_normal(X,Y,sigma_x,sigma_y,mu_x,mu_y)

    #Make a 3D plot

    fig = plt.figure()

    ax = fig.gca(projection='3d')

    ax.plot_surface(X, Y, Z,cmap='viridis',linewidth=0)

    ax.set_xlabel('X axis')

    ax.set_ylabel('Y axis')

    ax.set_zlabel('Z axis')

    plt.show()

    给予:

    展开全文
  • 1.正态分布简介正态分布(normal distribtution)又叫做高斯分布(Gaussian distribution),是一个非常重要也非常常见的连续概率分布。...在python中画正态分布直方先直接上代码import numpy as npim...

    1.正态分布简介

    正态分布(normal distribtution)又叫做高斯分布(Gaussian distribution),是一个非常重要也非常常见的连续概率分布。正态分布大家也都非常熟悉,下面做一些简单的介绍。

    假设随机变量XX服从一个位置参数为μμ、尺度参数为σσ的正态分布,则可以记为:

    20190708104529.jpg

    而概率密度函数为

    20190708104535.jpg

    2.在python中画正态分布直方图

    先直接上代码

    import numpy as np

    import matplotlib.mlab as mlab

    import matplotlib.pyplot as plt

    def demo1():

    mu ,sigma = 0, 1

    sampleNo = 1000

    np.random.seed(0)

    s = np.random.normal(mu, sigma, sampleNo)

    plt.hist(s, bins=100, normed=True)

    plt.show()

    上面是一个标准正态分布的直方图。最后输出的图像为:

    20190708104543.jpg

    很多同学心里会有疑惑:这个图像看上去虽然是有点奇怪,虽然形状有点像正态分布,但是差得还比较多嘛,不能算是严格意义上的正态分布。

    为什么会有这种情况出现呢?其实原因很简单,代码中我们设定的smapleno = 1000。这个数量并不是很大,所以整个图像看起来分布并不是很规则,只是有大致的正态分布的趋势。如果我们将这个参数加大,相当于增加样本数量,那么整个图像就会更加接近正态分布的形状。跟抛硬币的原理一致,抛的次数越多,正面与反面的出现概率更接近50%。

    如果我们将sampleno设置为1000000,分布图像如下。

    20190708104552.jpg

    下面这个图像是不是看起来就漂亮多了!

    3.画直方图与概率分布曲线

    import numpy as np

    import matplotlib.mlab as mlab

    import matplotlib.pyplot as plt

    def demo2():

    mu, sigma , num_bins = 0, 1, 50

    x = mu + sigma * np.random.randn(1000000)

    # 正态分布的数据

    n, bins, patches = plt.hist(x, num_bins, normed=True, facecolor = 'blue', alpha = 0.5)

    # 拟合曲线

    y = mlab.normpdf(bins, mu, sigma)

    plt.plot(bins, y, 'r--')

    plt.xlabel('Expectation')

    plt.ylabel('Probability')

    plt.title('histogram of normal distribution: $\mu = 0$, $\sigma=1$')

    plt.subplots_adjust(left = 0.15)

    plt.show()

    最后得到的图像为:

    20190708104602.jpg

    以上这篇在python中画正态分布图像的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

    本文标题: 在python中画正态分布图像的实例

    本文地址: http://www.cppcns.com/jiaoben/python/264874.html

    展开全文
  • 用python画正态分布图

    千次阅读 2020-12-23 10:33:23
    正态分布的pdf为:y=12πσe−(x−μ)22σ2y=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x-\mu)^2}{2\sigma^2}}y=2π​σ1​e−2σ2(x−μ)2​ 用python实现 #均值为u=0,标准差为sigma=1 u = 0 sigma = 1 #定义域 x = ...

     我们常见的正态分布图可能是一些样本数据的直方图模拟出的,即服从正态分布的随机数的直方图,见随机数的生成。而有时我们需要将其与标准的正态分布图作为对比,看数据是否真的服从正态分布。

    理论知识

    正态分布的pdf(概率密度函数)为: y = 1 2 π σ e − ( x − μ ) 2 2 σ 2 y=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x-\mu)^2}{2\sigma^2}} y=2π σ1e2σ2(xμ)2

    用python实现

    #均值为u=0,标准差为sigma=1
    u = 0
    sigma = 1
    
    #选定定义域为[u-3*sigma, u+3*sigma],并生成1000个点
    #np.linspace(a, b, n)的意思是生成[a, b]内的n个点(包括a,b),每两个相邻的点距离相等,即均分。
    x = np.linspace(u - 3 * sigma, u + 3 * sigma, 1000)
    
    #值域,这个是我们自己编写的正态分布的pdf,也可以用scipy.stats.norm.pdf
    y = np.exp(-(x - u) ** 2 / (2 * sigma ** 2)) / (np.sqrt(2 * np.pi) * sigma)
    
    #画图
    plt.plot(x, y)
    #显示网格
    plt.grid(True)
    plt.show()
    

    结果为:
    在这里插入图片描述

     由上可知,我们可以画出标准的任意分布的图,只要我们知道其pdf。

    展开全文
  • 2、计算出绘制正态分布图所需要的一些参数 分别是:最大值(MAX)、最小值(MIN)、平均值(AVERAGE)、标准差(STDEV.S),组数 ,组距。 组距可以(max-min)/(组数-1),也可以自己定义。 3、确定区间 ...
  • height: 270px">div> div> div> template> <script> export default { name: 'DistributeMathBar', description: '残差分布图', mixins: [], components: {}, props: { objInfo: Object }, data() { return { ...
  • 用excel、matlab、python绘制正态分布图

    千次阅读 2021-03-23 20:18:38
    用excel、matlab、python绘制正态分布图excel绘图matlab绘图python绘图 为加深对统计知识的理解,老师要求用excel和matlab绘图,在这想介绍3个常见的绘图软件来绘制正态分布密度函数曲线和正态分布分布函数曲线。 ...
  • 正态分布 公式:f(x)=12πσ2e−(x−μ)22σ2f(x)=\frac{1}{\sqrt{2\pi \sigma^2}}e^{-\frac{(x-\mu)^2}{2\sigma^2}}f(x)=2πσ2​1​e−2σ2(x−μ)2​ Python代码 import numpy as np import matplotlib.pyplot as...
  • 今天使用python画了几个好玩的3d展示,现在分享给大家。先贴上图片使用的python工具包为:from matplotlib import pyplot as pltimport numpy as npfrom mpl_toolkits.mplot3d import axes3d在贴代码之前,有必要...
  • 下面我们就来看看详细的制作教程,以后只要将新的样本数据替换,就可以随时做出正态分布图来,很简单,请看下文详细介绍。一、计算均值,标准差及相关数据1、假设有这样一组样本数据,存放于A列,首先我们计算出样本...
  • MATLAB二维正态分布图

    2021-04-18 03:22:35
    %将Z值对应到相应的坐标上 figure set(gcf,'Position',get(gcf,'Position').*[1 1 1.3 1]) subplot(2,3,[1 2 4 5]) surf(X,Y,p),axis tight,title('二维正态分布图') subplot(2,3,3) surf(X,Y,p),view(2),axis tight...
  • 原始数据直方图、正态分布图请自行调整51.7规格中心数据个数300最大值5850.6规格上限最大值57.90最小值5157.9规格下限最小值50.60区间756.9平均值54.10直方图柱数1856.7标准偏差1.15直方图组距0.4356.755.356.1序号...
  • import matplotlib.pyplot as plt import ...plt.plot(x,y2,c='k',lw=2) plt.legend() plt.show() 标签:plt,python,mu,sample1,sample2,np,pdf,正态分布 来源: https://www.cnblogs.com/rrrrraulista/p/12430162.html
  • package smartbi.demo.javaquery;import java.io.BufferedReader;import java.io.Reader;import java.security.InvalidParameterException;import java.sql.Connection;import java.sql.PreparedStatement;...
  • 功能需求:x轴设置成某一段区间 解决思路:一般正常设置,只能一个刻度对应一个值。而现在需要使用两个x轴来实现。 效果展示: 代码: let xAxis= ['0', '10', '20', '30', '40', '50', '60', '70', '80', '90', '...
  • 笔者最近遇到这样的事情,因版权问题,公司的minitab使用受到限制,有部分同事需要绘制正态分布图来统计产品良率。那怎么办?笔者之前也调查了一些用户,了解他们使用minitab的原因,有部分其实只是绘制一下正态分布...
  • 正态分布图

    2021-12-06 09:41:01
    公式已设置好,有200组数据可以填,直接生成正态分布图
  • 我用matlab拟合了一下,得到最好结果是: y= 1/(2*pi)^0.5/sig0 *exp (- (x-x0)^2/2/sig0^2) x0=626, sig=180 (第一组)对应的百分比为: 8.87, 44.86,42.87, 3.05 0.36 x0=435,... ylabel('分布'); xx0,sig0,
  • 摘录自:《深入浅出统计学》
  • 下面是一个正态分布的例子,介绍的很详细,通过对引用函数的改变还可以绘制诸如卡方分布,t分布等常见分布函数的绘制。 Let????be a random variable that follows the normal distribution, i.e., ????∼????(???...
  • 用matlab可以做出二维正态分布密度函数的图像。本文简单介绍二维正态分布及其性质,并给出用matlab的做图程序。很多现象服从二维正态分布。例如某年龄段小女孩的身高和腿长,某种昆虫的触角长和翼长,成年男子的身高...
  • 标准正态分布函数图像

    千次阅读 2020-12-30 09:34:34
    %正态分布函数 normpdf(x,mu,sigma) figure;%创建新窗口 axes1=axes(‘Pos’,[0.1 0.1 0.85 0.85]);%使用指定的一些属性创建坐标系(不太懂) plot(x,y);%拟合二维曲线 set(axes1,‘YLim’,[-0.01 0.43],‘XLim’,[-3 ...
  • 本例中原始数据:51.7,50.6,57.9,56.9,56.7,56.7,55.3,56.1,53.7,54.5,56.9,51.9,52.1,55.1,54.9,54.7,55.3,55.3,54.5,54.9,54.5,55.3,54.9,54.3,53.7,53.5,53.7,53.1,54.5,53.1,53.9,53.5,53.3,53.9,53.5,53.5,52.5...
  • www.ChaXia.com很好很强大,用用就知道^_^^_^Excel做正态分布图用正态分布函数NORMSDIST正态分布函数的语法是...如果画正态分布图,则为0。例如均值10%,标准值为20%的正态分布,先在A1中敲入一个变量,假定-50...
  • 今天给大家如何利用Excel绘制直方正态分布曲线,还是先上几幅不同配色的来看一下:作图思路 先对原始的数据进行分割(组),计算每个分组的频数与正态分布后。然后插入柱形与折线,调整...
  • MATLAB画分布统计以及正态分布拟合

    千次阅读 多人点赞 2021-01-27 11:13:42
    假设现有一个名为data的1x500的数据,这里我们使用normrnd随机生成一个正态分布的数据 data=normrnd(0,5,[1,500...方法一是直接使用histfit函数,histfit函数会直接生成一个带分布直方正态分布拟合 histfit(data

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 55,202
精华内容 22,080
关键字:

正态分布图