好吧,你似乎对一些事情很困惑。让我们从头开始:你提到了一个“多维函数”,但接着讨论通常的单变量高斯曲线。这是而不是一个多维函数:当你集成它时,你只集成一个变量(x)。区别很重要,因为是一个称为“多元高斯分布”的怪物,它是一个真正的多维函数,如果被集成,则需要集成两个或多个变量(使用前面提到的昂贵的蒙特卡罗技术)。但是你似乎只是在讨论正则的单变量高斯函数,它更容易处理,积分,以及所有这些。

单变量高斯分布有两个参数,sigma和mu,是我们将要表示的x的单变量函数。您似乎还携带了一个规范化参数n(这在一些应用程序中很有用)。标准化参数通常不包含在计算中,因为您只需在结尾处将它们加回去(记住,积分是一个线性运算符:int(n*f(x), x) = n*int(f(x), x))。但如果你愿意,我们可以随身携带;我喜欢的正态分布符号是

N(x | mu, sigma, n) := (n/(sigma*sqrt(2*pi))) * exp((-(x-mu)^2)/(2*sigma^2))

(读作“给定的sigma,mu,和n的正态分布由…)到目前为止,很好;这与你得到的函数匹配。注意,这里唯一的真正变量是x:对于任何特定的高斯函数,其他三个参数都是固定的。

现在来看一个数学事实:所有高斯曲线都有相同的形状,这是可以证明的,它们只是稍微移动了一下。所以我们可以使用N(x|0,1,1),称为“标准正态分布”,并将结果转换回一般的高斯曲线。所以如果你有N(x|0,1,1)的积分,你可以简单地计算任何高斯函数的积分。这个积分经常出现,因此它有一个特殊的名称:错误函数erf。由于一些旧的约定,它并不完全是的erf;还有一些加法和乘法因子也被携带。

如果Phi(z) = integral(N(x|0,1,1), -inf, z);也就是说,Phi(z)是标准正态分布从负无穷到z的积分,那么根据误差函数的定义

Phi(z) = 0.5 + 0.5 * erf(z / sqrt(2))。

同样,如果Phi(z | mu, sigma, n) = integral( N(x|sigma, mu, n), -inf, z);也就是说,Phi(z | mu, sigma, n)是给定参数mu,sigma,和n从负无穷到z的正态分布的积分,那么通过定义错误函数

Phi(z | mu, sigma, n) = (n/2) * (1 + erf((x - mu) / (sigma * sqrt(2))))。

好吧,这应该是足够的背景解释了。回到你的(编辑过的)帖子。你说“scipy.special中的erf(z)需要我精确定义t最初是什么”。我不知道你的意思;时间在哪里一点也不介意?希望上面的解释稍微揭开了错误函数的神秘面纱,现在更清楚了为什么错误函数是正确的函数。

您的Python代码是可以的,但是我更喜欢闭包而不是lambda:def make_gauss(N, sigma, mu):

k = N / (sigma * math.sqrt(2*math.pi))

s = -1.0 / (2 * sigma * sigma)

def f(x):

return k * math.exp(s * (x - mu)*(x - mu))

return f

使用闭包可以对常量k和s进行预计算,因此每次调用返回的函数时所需的工作更少(如果要集成它,这一点很重要,这意味着它将被多次调用)。此外,我避免使用指数运算符**,这比只写平方运算要慢,并将除法从内环中取出,用乘法代替它。我根本没看过它们在Python中的实现,但从我上次使用原始x87程序集为纯速度调整内部循环开始,我似乎还记得加法、减法或乘法s每个占用大约4个CPU周期,除以大约36,然后指数化大约200。那是几年前的事了,所以就拿这些数字来说吧;尽管如此,它还是说明了它们的相对复杂性。同样,计算exp(x)暴力方式是一个非常糟糕的主意;当编写exp(x)的良好实现时,可以使用一些技巧,使其比一般的a**b式指数运算更快更准确。

我从未使用过常量pi和e的numpy版本;我一直坚持使用普通的旧数学模块的版本。我不知道你为什么会喜欢这两个。

我不知道你要用这个电话干什么。quad(gen_gauss, -inf, inf, (10,2,0))应该把一个重新规范化的高斯从负无穷大积分到正无穷大,并且应该总是吐出10(你的规范化因子),因为高斯在实线上积分到1。任何远不到10的答案(我不希望确切地10,因为quad()毕竟只是一个近似值)意味着某个地方出了问题。。。在不知道实际返回值和quad()的内部工作方式的情况下,很难说是什么搞砸了。

希望这已经消除了一些困惑,并解释了为什么错误函数是解决问题的正确答案,以及如果你好奇的话,如何自己做这一切。如果我的解释不清楚,我建议先快速浏览一下维基百科;如果你还有问题,不要犹豫。

python高斯函数表达式_编写集成高斯函数的Python函数的最佳方法?相关推荐

  1. python高斯函数表达式_编写集成高斯函数的Python函数的最佳方法是什么?

    好吧,你似乎对几件事感到很困惑 . 让我们从头开始:你提到了"multidimensional function",然后继续讨论通常的单变量高斯曲线 . 这不是一个多维函数:当你集 ...

  2. python不会怎么办_怕你还不会Python函数,我特意为你整理了一篇博客

    什么是函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可以自己 ...

  3. python编程自然数表达式_[宜配屋]听图阁

    普通的数学运算用这个纯抽象的符号演算来定义,计算结果只能在脑子里存在.所以写了点代码,来验证文章中介绍的演算规则. 我们来验证文章里介绍的自然数及自然数运算规则.说到自然数,今天还百度了一下,据度娘说 ...

  4. 请给出计算231-1的python表达式_计算 2 31 -1 的 Python 表达式是 。_学小易找答案

    [填空题]国内教学目标分类的二维层次模型中,教学内容被分为哪五个层次:事实.概念.技能.______.问题解决. [多选题]报表子系统提供的图表格式一般包括? [填空题]激发和维持学生学习动机的模型- ...

  5. python函数助手_转jmeter(十五)函数助手

    由于时间和版本问题,其中有些内容和排版我做了修改和重新整理,使其更符合最新的jmeter版本. 一.使用jmeter函数助手 启动jmeter后,可以在JMeter的选项菜单中找到函数助手对话框(快捷 ...

  6. numpy是python标准库吗_吐血 整理!140种Python标准库、第三方库和外部工具都有了...

    Python数据工具箱涵盖从数据源到数据可视化的完整流程中涉及到的常用库.函数和外部工具.其中既有Python内置函数和标准库,又有第三方库和工具. 这些库可用于文件读写.网络抓取和解析.数据连接.数 ...

  7. python基础知识教学_【松勤教育】Python基础知识

    1.算法是什么? 定义:对如何完成一项任务的详尽描述.在编程中,算法即:计算机可以理解的语言,这类对机器友好的描述叫做程序,程序主要包含表达式和语句. 表达式:计算机程序的组成部分,用于表示值,表达式 ...

  8. python主要用于系统编程_一文带你了解python是什么?能做什么?为什么(附赠40G项目实战+绝版电子书)...

    什么是 Python? Python 是一门流行的编程语言.它由 Guido van Rossum 创建,于 1991 年发布. 它用于:当然小编这里也准备一份适合你的学习资料爬虫 ,python学习 ...

  9. python语言的开发者_写给.NET开发者的Python教程(一):引言

    距离上一篇博文已过去8个月了,这段时间发生了很多事情导致没能持续更新博客.这段时间除了工作繁忙,业余时间都投入到AI技术的学习中,后面一段时间将会给大家分享我作为一个.NET开发人员在深度学习领域学习 ...

最新文章

  1. [原]软件设计的一些感悟
  2. python绘制动态模拟图-用python生成地球运动的动态模拟动态图
  3. tf.arg_min
  4. 计算平面坐标某点(x,y)与原点(0,0)的角度
  5. AsynTask用法
  6. bzoj 1085: [SCOI2005]骑士精神(IDA*)
  7. 爬取豌豆荚app数据(总结篇)
  8. micropython常用模块-Python时间模块之datetime
  9. 灵格斯怎么屏幕取词_灵格斯词霸(Lingoes)基础使用教程
  10. java企业员工健康体检预约系统 python/php小程序 医院体检预约系统
  11. Windows10彻底关闭安全中心
  12. 第三章:顺序结构程序设计(练习题)
  13. android平板 双清,什么是小米平板2刷机前的双清
  14. 【BUUCTF】[WUSTCTF2020]alison_likes_jojo
  15. 基于PHP的旅游管理系统
  16. 国科大数字图像处理(复习与整理)
  17. Eclipse使用入门指南及技巧
  18. Hostapd的安装与使用
  19. 科技企业捐赠武汉最新最全排名(截止2月13日)
  20. ROS_IP选用WIFI(无线局域网)网段,当wifi连接断开,出现Master崩溃

热门文章

  1. OpenStack简述
  2. 2021会考高考成绩查询考6,2020会考成绩查询网站入口 学业水评考试成绩查询方法...
  3. redis初步认识-基本操作-Sring get and sett示例(一)
  4. 思科DHCP配置命令
  5. WindowsAndroid: 在Windows中运行Android系统
  6. 计算机工程师理想作文,我的工程师理想作文
  7. MBA 拓展训练总结
  8. labelme生成的json文件批量转化为label图片
  9. java 有哪些关键字_JAVA的常用关键字有哪些?
  10. 【SWT】自定义数据表格