如何在 Scipy 中实现日志均匀分布?

     2023-03-12     122

关键词:

【中文标题】如何在 Scipy 中实现日志均匀分布?【英文标题】:How to implement a log uniform distribution in Scipy? 【发布时间】:2018-09-07 08:27:00 【问题描述】:

我不明白如何在 Scipy 中实现对数均匀概率分布。根据this post 的cmets,可以通过只定义_pdf 来实现。另外,我从this source 知道 pdf 的实际推导。

但是,我不知道将ab 参数放在哪里,以及如何设置a 这样a>0。另外,请注意,我希望 ab 成为该范围的实际最小值和最大值。另请注意,最后,我真的只是希望能够使用.rvs() 方法,因此任何具有均匀分布的技巧都是可以接受的。

这是我的当前(非工作)代码:

from scipy.stats import rv_continuous
import numpy as np

class log_uniform_gen(rv_continuous):
    "Log-uniform distribution"
    def _pdf(self, x):
        if np.exp(self.a) <= x <= np.exp(self.b):
            temp = x / (self.b - self.a)
        else:
            temp = 0.

        return temp
log_uniform = log_uniform_gen(a=0.1, b=1.0, name='log-uniform')

【问题讨论】:

【参考方案1】:

这是我使用.rvs() 方法获取对数均匀分布实例的技巧:

import numpy as np
import scipy as sp

class log_uniform():        
    def __init__(self, a=-1, b=0, base=10):
        self.loc = a
        self.scale = b - a
        self.base = base

    def rvs(self, size=None, random_state=None):
        uniform = sp.stats.uniform(loc=self.loc, scale=self.scale)
        if size is None:
            return np.power(self.base, uniform.rvs(random_state=random_state))
        else:
            return np.power(self.base, uniform.rvs(size=size, random_state=random_state))

它可以用log_uniform(a=2, b=10).rvs(size=10) 调用,其中a 是范围开始的指数,b 是范围结束的指数。可以使用base 参数修改基数。

【讨论】:

如何使用具有不同分片数量的索引在 ElasticSearch 上实现负载的均匀分布?

】如何使用具有不同分片数量的索引在ElasticSearch上实现负载的均匀分布?【英文标题】:HowtoachieveevendistributionofloadonElasticSearchwithindexeswithdifferentamountofshards?【发布时间】:2020-12-1413:22:17【问题描述】:我们正在研究解决ES集群... 查看详情

如何在python中实现这五类强大的概率分布

参考技术AR编程语言已经成为统计分析中的事实标准。但在这篇文章中,我将告诉你在Python中实现统计学概念会是如此容易。我要使用Python实现一些离散和连续的概率分布。虽然我不会讨论这些分布的数学细节,但我会以链接的... 查看详情

如何在python中实现概率分布的合并?

】如何在python中实现概率分布的合并?【英文标题】:HowtoimplementConflationforprobabilitydistributioninpython?【发布时间】:2021-01-2810:26:09【问题描述】:我在网上寻找将几个连续概率分布组合成一个连续概率分布的方法。这种方法称为C... 查看详情

如何在python中实现这五类强大的概率分布

要使用Python实现一些离散和连续的概率分布。虽然我不会讨论这些分布的数学细节,但我会以链接的方式给你一些学习这些统计学概念的好资料。在讨论这些概率分布之前,我想简单说说什么是随机变量(randomvariable)。随机变... 查看详情

如何在 Python 中实现 KS-Test

】如何在Python中实现KS-Test【英文标题】:HowtoimplementaKS-TestinPython【发布时间】:2019-09-3019:55:48【问题描述】:scipy.stats.kstest(rvs,cdf,N)可以对数据集rvs执行KS-Test。它测试数据集是否遵循概率分布,其cdf在此方法的参数中指定。现... 查看详情

如何在springcloud分布式系统中实现分布式锁?

最近在看分布式锁的资料,看了JosialL的《RedisinAction》的分布式锁的章节。实现思路是利用springcloud结合redis实现分布式锁。注意:这篇文章有问题,请看这一篇http://blog.csdn.net/forezp/article/details/70305336一般来说,对数据进行加锁... 查看详情

在python中创建生成稀疏矩阵(均匀分布高斯分布)(代码片段)

文章目录一、前言二、准备工作三、稀疏均匀分布随机矩阵四、稀疏高斯分布随机矩阵五、总结一、前言在Python中产生稀疏矩阵一般使用的是scipy包中的sprase.rand方法,但是产生的是0-1区间内的均匀分布的数,于是便自己... 查看详情

如何在任何 MQ 平台中实现这个单一并发分布式队列?

】如何在任何MQ平台中实现这个单一并发分布式队列?【英文标题】:HowcanIimplementthissingleconcurrencydistributedqueueinanyMQplatform?【发布时间】:2017-06-1804:19:02【问题描述】:我目前正在努力寻找实现特定类型队列的解决方案,这需要... 查看详情

在可可中实现分布式对象

...)。我需要从守护进程调用主应用程序中的一些方法。我如何在这里使用分布式对象?有人可以为此建议一个完整的教程(Apple文档除外)吗?【问题讨论】:看看this。【参考方案1】:我的(否则现在已经 查看详情

如何在springcloud分布式系统中实现分布式锁?

一、简介一般来说,对数据进行加锁时,程序先通过acquire获取锁来对数据进行排他访问,然后对数据进行一些列的操作,最后需要释放锁。Redis本身用watch命令进行了加锁,这个锁是乐观锁。使用watch命令对于频繁访问的键会引... 查看详情

在 python 中实现 2D、基于 FFT 的核密度估计器,并将其与 SciPy 实现进行比较

】在python中实现2D、基于FFT的核密度估计器,并将其与SciPy实现进行比较【英文标题】:Implementinga2D,FFT-basedKernelDensityEstimatorinpython,andcomparingittotheSciPyimplimentation【发布时间】:2013-09-2602:47:25【问题描述】:我需要代码来执行2D核... 查看详情

iPhone:如何在 iPhone 中实现崩溃报告功能?

】iPhone:如何在iPhone中实现崩溃报告功能?【英文标题】:iPhone:HowtoimplementCrashReportfunctionalityiniPhone?【发布时间】:2011-08-0606:29:57【问题描述】:有没有办法在应用程序崩溃并且应用程序启动时保存崩溃日志显示邮件对话以发送... 查看详情

如何在没有像 Quartz Clustering 这样的集中式解决方案的情况下在分布式环境中实现 cron 作业/计划作业? [复制]

】如何在没有像QuartzClustering这样的集中式解决方案的情况下在分布式环境中实现cron作业/计划作业?[复制]【英文标题】:HowcanIimplementcronjobs/scheduledjobsinadistributedenvironmentwithoutcentralizedsolutionlikeQuartzClustering?[duplicate]【发布时间】... 查看详情

在 Java 应用程序中实现日志记录

】在Java应用程序中实现日志记录【英文标题】:ImplementinglogginginaJavaapplication【发布时间】:2012-09-0922:42:49【问题描述】:免责声明:很抱歉这个问题太长了。我已经添加了代码,因为我探索了这里提出的建议,并在提出我最初... 查看详情

在 KORBA 中实现分布式对象编程以下载文件

】在KORBA中实现分布式对象编程以下载文件【英文标题】:ImplementingDistributedobjectsprogramminginCORBAtodowloadfile【发布时间】:2014-08-1819:34:35【问题描述】:当我运行客户端时,控制台上出现以下错误。我正在按照以下链接中的示例进... 查看详情

在 SciPy 中拟合分布时如何检查收敛性

】在SciPy中拟合分布时如何检查收敛性【英文标题】:HowtochecktheconvergencewhenfittingadistributioninSciPy【发布时间】:2021-10-1614:43:47【问题描述】:在SciPy中拟合分布时有没有办法检查收敛性?我的目标是将SciPy发行版(即JohnsonS_U发行... 查看详情

您如何在 map/reduce 中实现排名和排序?

】您如何在map/reduce中实现排名和排序?【英文标题】:Howdoyouimplementrankingandsortinginmap/reduce?【发布时间】:2012-05-1303:37:19【问题描述】:我正在学习Hadoop中的Javamap/reduceAPI,并试图集中精力思考map/reduce。这是我针对apachehttp服务... 查看详情

在windows中实现flume日志收集

一、flume的简介任何一个系统在运行的时候都会产生大量的日志信息,我们需要对这些日志进行分析,在分析日志之前,我们需要将分散在生产系统中的日志收集起来。Flume就是这样的日志采集系统。  1.主要有三个... 查看详情