zoukankan      html  css  js  c++  java
  • PIC2, The Cumulative Distribution Function and Quantile Plot

    Defination:

    累积分布函数: The cumulative distribution function (CDF) does just that. The CDF at point x tells us what
    fraction of events has occurred “to the left” of x. In other words, the CDF is the fraction of
    all points xi with xi ≤ x.

    http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.stats.cumfreq.html#scipy.stats.cumfreq 
    # -*- coding: utf-8 -*-
    """
    Created on Thu Oct 23 20:29:33 2014
    
    @author: dell
    """
    
    from scipy import stats
    import matplotlib.pyplot as plt
    import numpy as np
    import random
    
    if __name__ == '__main__':
        ax1 = plt.subplot(211)
        x = [random.gauss(0, 1) for i in range(1000)]
        #res = stats.probplot(x, plot=plt)
        mylist = stats.cumfreq(x, numbins = 100)
        ax1.plot(mylist[0])
        
        ax2 = plt.subplot(212)
        mylist1 = stats.cumfreq(x, numbins = 100, defaultreallimits = [0,1])
        ax2.plot(mylist1[0])
        plt.show()

    defaultreallimits 还是不是很明白是什么定义, 没太看懂。

    分位图:A quantile plot is just the plot of a CDF in which the x and y axes have been switched.

    概率图:probability plot 高斯分布求反函数 这样会落到同一条直线。

     http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.stats.probplot.html

    # -*- coding: utf-8 -*-
    """
    Created on Thu Oct 23 20:06:03 2014
    
    @author: dell
    """
    
    from scipy import stats
    import matplotlib.pyplot as plt
    import numpy as np
    import random
    if __name__ == '__main__':
        nsample = 100
        np.random.seed(7654321)
        
        #A t distribution with small degrees of freedom:
        ax = plt.subplot(321)
        x = stats.t.rvs(3, size=nsample)
        res = stats.probplot(x, plot=plt)
        
        #A t distribution with larger degrees of freedom:    
        ax2 = plt.subplot(322)
        x = stats.t.rvs(25, size=nsample)
        res = stats.probplot(x, plot=plt)
        
        #A mixture of two normal distributions with broadcasting:
        ax3 = plt.subplot(323)
        x = stats.norm.rvs(loc=[0,5], scale=[1,1.5], size=(nsample/2.,2)).ravel()
        res = stats.probplot(x, plot=plt)
        
        #A standard normal distribution:
        ax4 = plt.subplot(324)
        x = stats.norm.rvs(loc=0, scale=1, size=nsample)
        res = stats.probplot(x, plot=plt)
        
        # my test 
        ax5 = plt.subplot(325)
        x = [random.gauss(0, 1) for i in range(100)]
        res = stats.probplot(x, plot=plt)
        
        #my test
        ax6 = plt.subplot(326)
        x = np.random.rand(100) * 100
        res = stats.probplot(x, plot=plt)
        plt.show()
  • 相关阅读:
    GitBook基本使用
    Window 远程桌面漏洞风险,各个厂家的扫描修复方案(CVE-2019-0708)
    应急响应实战笔记(续)
    不同系统下,复制文件时新文件的日期区别
    Window应急响应(六):NesMiner挖矿病毒
    利用python输出000至999中间的数
    揭秘骗局:这是一张会变的图片
    如何查看github排行热度
    zabbix使用自动发现功能批量监控服务器端口的可用性
    使用python脚本批量设置nginx站点的rewrite规则
  • 原文地址:https://www.cnblogs.com/hluo/p/4046436.html
Copyright © 2011-2022 走看看