精华内容
下载资源
问答
  • 求助,MATLAB中对数分布拟合问题
    千次阅读
    2021-04-20 13:18:46

    在用蒙特卡洛方法算不确定性,卡壳了。。

    思路是这样:

    1.利用数据构建概率密度函数,选择拟合优度最大的

    2.输入参数进行蒙特卡洛模拟

    3.得到数据和概率分布图

    之前用水晶球软件算第一步很简单,但是我的其他几组数据都不足十个,没办法只好用MATLAB代替。

    那么问题来了:

    问题1              我知道怎么判断正态分布、指数分布等,求一个函数能求出一组数据的对数分布函数值。

    比如判断正态分布那个程序是:alpha = 0.05;

    % 正态分布判断

    [mu, sigma] = normfit(A);

    p1 = normcdf(A, mu, sigma);

    [H1,s1] = kstest(A, [A, p1], alpha);

    n = length(A);

    if H1 == 0

    disp('该数据源服从正态分布。')

    else

    disp('该数据源不服从正态分布。')

    end

    这里normfit是求正态分布的,那么对数正态分布对应的函数是什么呢?

    问题2             因为最后还要算一下不确定性范围,可是我数据太少做出来的方差太大,期望值直接INF....

    束手无策求帮助QAQ

    更多相关内容
  • 基于对数分布的雷达杂波产生,主要为对数杂波的MATALAB代码。
  • 关于可见光通信信道建模的有关对数正态pdf的MATLAB代码。
  • 近似几个对数正态分布的随机变量的总和 安装 # From CRAN install.packages( " lognorm " ) # Or the the development version from GitHub: # install.packages("devtools") devtools :: install_github( " bgctw/...
  • 讨论了一种特殊的截断δ冲击模型:假设系统遭受到达时间间隔服从参数为q 的对数分布的冲击,若距上次冲击后,时间超过门限值δ时还没有新冲击到达,则系统失效。使用全期望公式计算了此类截断δ冲击模型系统寿命的概率...
  • 包含对正态分布对数正态分布的直方图数据的拟合。 虽然仍然需要拟合工具箱,但参数的调整方式使 Matlab 可以实际拟合值(例如非常小的 x 值)! 函数返回 mu 和 sigma 参数、缩放因子(对于非单位分布)和拟合...
  • 利用样本协方差矩阵几何平均特征值的对数分布特性,提出了一种新的频谱感知算法。该算法基于样本协方差矩阵最大最小特征值之差与几何平均特征值的比值,通过比较该比值与门限的大小来判断主用户是否占用分配频谱,不...
  • 对数正态分布
  • 基于发声截止频率的对数分布线性回归用于鲁棒语音识别
  • 对数正态分布拟合

    2015-10-10 11:10:47
    在输入大量数据后 对其数据进行对数正态分布拟合
  • 1、应用背景:实际业务场景,我们会遇到一些特征随着时间(量)的变大,实际值的意义成指数衰减或增加。例如: 用户收到的邮件越多,每封邮件对用户的影响越小,因此计算每封... 对数函数:y=log(x) 3.实际应用案例

    1、应用背景:

    实际业务场景,我们会遇到一些特征随着时间(量)的变大,实际值的意义成指数衰减或增加。例如:

    • 用户收到的邮件越多,每封邮件对用户的影响越小,因此计算每封邮件的价值时,我们不能等同计算,需要做一种衰减处理。
    • 用户邮件缺失度:我们期期望收件越少用户确实度越大,当收件量大到一定程度时,邮件缺失度不变。

    2、常见的应用函数

    • 指数函数:y=a^x

    这里写图片描述
    这里写图片描述

    • 对数函数:y=log(x)

    这里写图片描述
    这里写图片描述

    3.实际应用案例:

    计算用户邮件缺失度: 根据当天收件量,计算用户当天邮件缺失度。

    1)计算当天所有活跃用户平均收件u
    2)当用户当天收件量=u时,设用户邮件缺失度为0.6.
    3)定义衰减函数: y=exp(-aX),其中X为用户当天截止目前收件量,a为变化幅度。
    4)根据:exp(-aX)=exp(-au)=0.6, 计算出a值。
    5)然后利用y=exp(-aX),计算所有用户的邮件缺失度。

    具体如下:
    这里写图片描述

    展开全文
  • 06-jun-05 将三种概率分布(正态、对数正态、威布尔)之一拟合到输入数据向量。 如果将分布指定为“最佳”,则会自动选择最适合数据的分布。 输入如果 nargin==1,则提示“分布”并交互输入 数据 - nx 1 或 1 xn ...
  • python中的对数正态分布

    千次阅读 2020-12-18 06:44:32
    你说I have a sample data, the logarithm of which ...使此数据适合使用scipy.stats.lognorm的对数正态分布,使用:s, loc, scale = stats.lognorm.fit(data, floc=0)假设mu和sigma是基本正态分布。得到这些值...

    你说I have a sample data, the logarithm of which follows a normal distribution.

    假设data是包含样本的数组。使此数据适合

    使用scipy.stats.lognorm的对数正态分布,使用:s, loc, scale = stats.lognorm.fit(data, floc=0)

    假设mu和sigma是

    基本正态分布。得到这些值的估计值

    从该配合中,使用:estimated_mu = np.log(scale)

    estimated_sigma = s

    (这些是而不是的平均值和标准差的估计值

    data中的样本。有关公式,请参见wikipedia page

    对于对数正态分布的均值和方差,用mu和sigma表示。)

    要组合直方图和PDF,可以使用,例如import matplotlib.pyplot as plt.

    plt.hist(data, bins=50, normed=True, color='c', alpha=0.75)

    xmin = data.min()

    xmax = data.max()

    x = np.linspace(xmin, xmax, 100)

    pdf = stats.lognorm.pdf(x, s, scale=scale)

    plt.plot(x, pdf, 'k')

    如果想查看数据日志,可以执行以下操作

    下面。注意,使用了正态分布的PDF

    在这里。logdata = np.log(data)

    plt.hist(logdata, bins=40, normed=True, color='c', alpha=0.75)

    xmin = logdata.min()

    xmax = logdata.max()

    x = np.linspace(xmin, xmax, 100)

    pdf = stats.norm.pdf(x, loc=estimated_mu, scale=estimated_sigma)

    plt.plot(x, pdf, 'k')

    顺便说一下,与stats.lognorm匹配的另一种方法是匹配log(data)

    使用stats.norm.fit:logdata = np.log(data)

    estimated_mu, estimated_sigma = stats.norm.fit(logdata)

    相关问题:

    展开全文
  • python 拟合对数正态分布

    千次阅读 2020-11-18 10:53:42
    用python拟合对数正态分布使用的是scipy.stats.lognorm这个包,这个包的使用看官方文档就行,但是其中有一个很迷的地方,网上也有人提到了这个很迷的地方:关于scipy对数正态分布的误区,然后Stack Overflow里也有人...

    用python拟合对数正态分布使用的是scipy.stats.lognorm这个包,这个包的使用看官方文档就行,但是其中有一个很迷的地方,网上也有人提到了这个很迷的地方:关于scipy对数正态分布的误区,然后Stack Overflow里也有人给出了解释Stack Overflow大佬的解释说明,,其实Stack Overflow和官网都有解释,可能是我的英语还是太差了吧,导致始终觉得需要看好久才能理解,所以这里来记录下这个漏洞以及我给出的例子。官网链接还是必须的,不管其他人写的多清楚,看下官网总没错。
    Stack Overflow中的解释说明:
    在这里插入图片描述

    1. 参数的解释

    下图是官网的说明,首先对数正态分布的概率密度函数就看下面的就行了。要调用这个包的概率密度函数的参数主要是有如下几个lognorm.pdf(x, s, loc, scale),下面就说明下各个参数的含义:
    x也就是自变量,是一个list或series啥的都可以,返回的是每个x处的对数正态分布的概率密度函数。s是形状参数,loc是一个参数,你的数据都会被加上loc,以便使得0成为数据范围的下确界,对方差没有影响。因为对数正态分布嘛,取了对数的,一般都是(0,无穷)。scale类似于标准差,但不是。听我下面的说明。
    在这里插入图片描述
    我们假设一个一维的数组x,这个一维的数组x的分布是对数正态分布。那么要得到这个一维数组x的概率密度函数就可以使用lognorm.pdf(x, s, loc, scale),其中的x可以输入该数组,也可以输入一个自己设置的,比如x1=np.linspace(0,3,200),因为这个是参数估计,所以只要得到参数值,其实就已经确定分布了,这个x就没用了,任何一个一维数组都可以给出对应位置的概率密度值。那么如何根据x得到lognorm.pdf(x, s, loc, scale)中的参数呢?下面一个一个参数来说明:

    1. s:s=np.std(np.log(x)),也就是先对x求log,得到正态分布的数组,然后对这个正态分布的数组求标准差,这个标准差就是s。
    2. loc设置为0就可以,用默认值就行,不用去设置。如果源数据有偏移可以设置下loc。这个参数我简单尝试试验了下,但不确定,若有问题,大佬可以指正,谢谢。
    3. scale:scale=math.exp(np.mean(np.log(x))),也就是说先对x求log,得到正态分布的一维数组,然后对正态分布的x求均值,然后exp(得到的均值)就是scale了。
      这里贴上Stack Overflow上的一个例子。
    import math
    from scipy import stats
    
    # standard deviation of normal distribution
    sigma = 0.859455801705594
    # mean of normal distribution
    mu = 0.418749176686875
    # hopefully, total is the value where you need the cdf
    total = 37
    
    frozen_lognorm = stats.lognorm(s=sigma, scale=math.exp(mu))
    frozen_lognorm.cdf(total) # use whatever function and value you need here
    

    下面有个老兄也吐槽scipy的这个参数非人类,哈哈,贴上给大家一乐。
    在这里插入图片描述

    2. 我写的例子,证明上述说明

    为了方便我就放图了,反正也很简单,大家看看就完了,我感觉也不必去自己跑了。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    代码如下:

    # 生成正态分布的一维数组
    import numpy as np
    ser1 = np.random.normal(1, 2, 10000)
    print(np.mean(ser1), " ", np.var(ser1))
    
    #生成对数正态分布的一群点
    ser2 = np.exp(ser1)
    print(ser2)
    
    print(ser1)
    
    print("符合对数正态分布一维数组的均值和标准差",np.mean(ser2),np.var(ser2))
    
    # 验证对数正态分布的均值和方差
    mu = math.exp(1+2)
    sig2 = (math.exp(4)-1)*math.exp(2*1+4)
    print("均值{0},方差{1}".format(mu , sig2))
    ### 验证成功,方差因为比较大,有一定差异,但是相对误差还是不大的。
    
    ### 使用lognorm这个函数取输出理论的均值和标准差,
    ### 可以看到和我们计算出的理论值完全一样。
    ### 这既证明理论值是正确的,也证明我们对这个函数的参数的说明是正确的。
    mu = lognorm.mean( s=2 , scale=math.exp(1))
    sig2 = lognorm.var( s=2 , scale=math.exp(1))
    print("均值{0},方差{1}".format(mu , sig2))
    
    # 绘制对数正态分布概率密度函数图形
    x=np.linspace(0,50,20000)
    plt.plot(x,lognorm.pdf(x=x , s=2 , scale=math.exp(1)))
    plt.show()
    
    
    # 对loc这个参数进行一些试验,以简单了解loc这个参数的含义
    mu = lognorm.mean( s=2 , loc = 4,scale=math.exp(1))
    sig2 = lognorm.var( s=2 ,loc =  4, scale=math.exp(1))
    print("均值{0},方差{1}".format(mu , sig2))
    
    # 对loc这个参数进行一些试验,以简单了解loc这个参数的含义
    mu = lognorm.mean( s=2 , loc = -4,scale=math.exp(1))
    sig2 = lognorm.var( s=2 ,loc =  -4, scale=math.exp(1))
    print("均值{0},方差{1}".format(mu , sig2))
    
    mu = lognorm.mean( s=2 , scale=math.exp(1))
    sig2 = lognorm.var( s=2 , scale=math.exp(1))
    print("均值{0},方差{1}".format(mu , sig2))
    

    结束啦

    展开全文
  • 对数分布的置信区间的R语言代码

    千次阅读 2021-02-21 23:52:39
    #对数分布的置信区间 #sigma已知u的1-α置信区间 duishuci1 <-function(n,mu,sigma,alpha) { x=rlnorm(n,mu,sigma) shuzhou <-sum(log(x))/n mucimin <-shuzhou-sigma*(n**(-1/2))*qnorm(alpha/2,0,1,...
  • 绘制瑞利分布和莱斯分布的曲线
  • LOGINV函数用于计算x的对数累积分布函数的反函数,ln(x)是含有mean与standard_dev参数的正态分布...LOGINV函数的语法如下:LOGINV(probability,mean,standard_dev)其中,probability参数是与对数分布相关的概率,me...
  • 我想使用Scipy拟合对数正态分布。我之前已经使用Matlab来完成它,但由于需要将应用程序扩展到统计分析之外,我正在试图在Scipy中重现拟合值。拟合对数正态分布使用Scipy与Matlab下面是Matlab代码我用适合我的数据:%...
  • Python对数正态分布函数,python,中,的

    千次阅读 2021-01-11 22:56:15
    你说I have a sample data, the logarithm of which ...使此数据适合使用scipy.stats.lognorm的对数正态分布,使用:s, loc, scale = stats.lognorm.fit(data, floc=0)假设mu和sigma是基本正态分布。得到这些值...
  • 你有对数正态分布的模式和标准偏差。要使用scipy的rvs()方法,必须根据形状参数s参数化分布,这是基本正态分布的标准差sigma,而{},即{},其中{}是基础分布的平均值。在您指出,进行这种重新参数化需要求解四次...
  • 对数正态分布的概率密度函数为 对数正态分布均值为,方差为 首先产生正态分布的随机变量 y ,然后通过变换产生对数正态分布的随机变量 x。具体方法如下: (1)产生正态分布的随机数 y ,即 (2)计算 1、lognorm...
  • 目标:用python生成一组具有上下限的对数正态分布随机数。思路:利用python的scipy.stats生成截断正态分布,再将正态分布转化为对数正态分布。要求:生成的目标对数正态分布随机数要介于区间[log_lower,log_upper]内...
  • 这是数学模型板块的第二篇推文,上篇介绍了几种离散型分布,从本篇开始介绍连续型概率分布。假定某个连续型分布的取值范围为[a, b](a、b可以取无穷),则其概率密度函数与概率分布函数的关系:...
  • I could not find a built-in function in Python to generate a log uniform distribution given a min and max value (the R equivalent is here), something like: loguni[n, exp(min), exp(max), base] that ret...
  • R语言对数正态分布函数Log Normal Distribution(dlnorm, plnorm, qlnorm & rlnorm)实战 目录 R语言对数正态分布函数Log Normal Distribution(dlnorm, plnorm, qlnorm & rlnorm)实战 #生成对数正态...
  • 利用Pearson2χ2距离和最大距离的定义,探讨了对数伽玛分布与负对数伽玛分布的Pearson2χ2距离、最大距离及其渐近性。
  • matlab 概率图纸代码 正态分布 对数正态分布 伽马分布
  • 对数正态随机变量 创建一个用对数绘制填充的或数组。 安装 $ npm install distributions-lognormal-random 要在浏览器中使用,请使用 。 用法 var random = require ( 'distributions-lognormal-random' ) ; ...
  • 对数正态分布

    2021-10-31 18:59:01
    正态分布 令Φ(y)\Phi \left( y \right)Φ(y),φ(y)\varphi \left( y \right)φ(y)分别表示正态分布N(μ,σ2)N\left( \mu ,{{\sigma }^{2}} \right)N(μ,σ2)的CDF和PDF,其中 φ(y)=12πσe−(y−μ)22σ2,−∞<...
  • 对数正态分布杂波仿真,包含pdf和概率密度函数

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 69,951
精华内容 27,980
关键字:

对数分布

友情链接: DirectX.rar