我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python矩与矩生成函数是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python矩与矩生成函数是什么

本篇内容主要讲解“Python矩与矩生成函数是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python矩与矩生成函数是什么”吧!

斜度

值得思考的是,期望和方差足以用来描述一个分布吗?如果答案是可以,那么我们就没有必要寻找其它描述量的。事实上,这两个描述量并不足以完整的描述一个分布。

我们来看两个分布,一个是指数分布:

f(x)={ex0ififx≥0x<0f(x)={exifx≥00ifx<0

它的期望为E(x)=1E(x)=1,方差为Var(x)=1Var(x)=1。

我们用Y = 2-X来获得一个新的随机变量,及其分布:

f(y)={e2−y0ifify≤2y>2f(y)={e2−yify≤20ify>2


该密度曲线与原来的密度曲线关于直线X=1对称,与原来的分布有相同的期望值和方差。期望为E(x)=1E(x)=1,方差为Var(x)=1Var(x)=1

我们绘制两个分布的密度曲线,如下图:
Python矩与矩生成函数是什么

可以看到,即使期望值和方差保持不变,两个分布曲线明显不同。第一条曲线下的面积偏向左,而第二条曲线则向右侧倾斜。为了表达分布的这一特征,我们引入一个新的描述量,斜度(skewness)。它的定义如下:

Skew(X)=E[(X−μ)3]Skew(X)=E[(X−μ)3]


上面两个分布,第一条曲线向左偏斜,斜度分别为2。另一条曲线的斜度为-2。很明显,斜度的不同可以带来差别巨大的分布(即使期望和方差都相同)。

绘制程序如下

from scipy.stats import exponimport numpy as npimport matplotlib.pyplot as pltrv = expon(scale = 1)x1  = np.linspace(0, 20, 100)x2  = np.linspace(-18, 2, 100)y1 =  rv.pdf(x1)y2 =  rv.pdf(2 - x2)plt.fill_between(x1, y1, 0.0, color = "green")plt.fill_between(x2, y2, 0.0, color = "coral", alpha = 0.5)plt.xlim([-6, 8])plt.title("two distribution")plt.xlabel("RV")plt.ylabel("f(x)")plt.show()

观察方差和斜度的定义,

Var(X)=E[(X−μ)2]Var(X)=E[(X−μ)2]

Skew(X)=E[(X−μ)3]Skew(X)=E[(X−μ)3]


都是X的函数的期望。它们的区别只在于函数的形式,即(X−μ)(X−μ)的乘方次数不同。方差为2次方,斜度为3次方。

上面的描述量都可以归为“矩”(moment)的一族描述量。类似于方差和斜度这样的,它们都是(X−μ)(X−μ)乘方的期望,称为中心矩(central moment)。E[(x−μ)k]E[(x−μ)k]称为k阶中心矩,表示为μkμk,其中k = 2, 3, 4, ...

还有另一种是原点矩(moment about the origin),是XX乘方的期望。 E[Xk]E[Xk]称为k阶原点矩,表示为μ′kμk′,其中k = 1, 2, 3, ...

期望是一阶原点矩:

E(X)=E(X1)E(X)=E(X1)

矩生成函数

除了表示中心、离散程序、斜度这些特性外,更高阶的矩可以描述分布的其它特性。矩统计中有重要的地位,比如参数估计的一种重要方法就是利用了矩。然而,根据矩的定义,我们需要对不同阶的X幂求期望,这个过程包含复杂的积分过程,并不容易。矩同样催生了矩生成函数(moment generating function),它是求解矩的一样有力武器。

在了解矩生成函数之前,先来回顾幂级数(power series)。幂级数是不同阶数的乘方(比如1,x,x2,x3...1,x,x2,x3...)的加权总和:

∑i=1+∞aixi∑i=1+∞aixi

aiai是一个常数。

幂级数是数学中的重要工具,它的美妙之处在于,解析函数都可以写成幂级数的形式,比如三角函数sin(x)sin⁡(x)可以写成:

sin(x)=x−x33!+x55!−x77!+...sin⁡(x)=x−x33!+x55!−x77!+...

将解析函数分解为幂级数的过程,就是泰勒分解(Taylor)。我们不再深入其具体过程。xnxn是很简单的一种函数形式,它可以无限次求导,求导也很容易。这一特性让幂级数变得很容易处理。将解析函数写成幂级数,就起到化繁为简的效果。

(幂级数这一工具在数学上的用途极其广泛,它用于数学分析、微分方程、复变函数…… 不能不说,数学家很会活用一种研究透了的工具)

如果我们将幂级数的x看作随机变量X,并求期望。根据期望可以线性相加的特征,有:

E(f(X))=a0+a1E(X)+a2E(X2)+a3E(X3)+...E(f(X))=a0+a1E(X)+a2E(X2)+a3E(X3)+...

我们可以通过矩,来计算f(X)的期望。

另一方面,我们可否通过解析函数来获得矩呢?我们观察下面一个指数函数,写成幂级数的形式:

etx=1+tx+(tx)22!+(tx)33!+(tx)44!...etx=1+tx+(tx)22!+(tx)33!+(tx)44!...

我们再次将x看作随机变量X,并对两侧求期望,即

E(etX)=1+tE(X)+t2E(X2)2!+t3E(X3)3!+t4E(X4)4!...E(etX)=1+tE(X)+t2E(X2)2!+t3E(X3)3!+t4E(X4)4!...

即使随机变量的分布确定,E(etX)E(etX)的值还是会随t的变化而变化,因此这是一个关于t的函数。我们将它记为M(t)M(t),这就是矩生成函数(moment generating function)。对M(t)M(t)的级数形式求导,并让t等于0,可以让高阶的t的乘方消失,只留下E(X)E(X),即

M′(0)=E(X)M′(0)=E(X)

即一阶矩。如果继续求高阶导,并让t等于0,可以获得高阶的矩。

M(r)(0)=E(Xr)M(r)(0)=E(Xr)

有趣的是,多次求导系数正好等于幂级数系数中的阶乘,所以可以得到上面优美的形式。我们通过幂级数的形式证明了,对矩生成函数求导,可以获得各阶的矩。相对于积分,求导是一个容易进行的操作。

矩生成函数的性质

矩生成函数的一面是幂级数,我们已经说了很多。矩生成函数的另一面,是它的指数函数的解析形式。即

M(t)=E[etX]=∫∞−∞etxf(x)dxM(t)=E[etX]=∫−∞∞etxf(x)dx

在我们获知了f(x)的具体形式之后,我们可以利用该积分获得矩生成函数,然后求得各阶的矩。当然,你也可以通过矩的定义来求矩。但许多情况下,上面指数形式的积分可以使用一些已有的结果,所以很容易获得矩生成函数。矩生成函数的求解矩的方式会便利许多。

矩生成函数的这一定义基于期望,因此可以使用期望的一些性质,产生有趣的结果。

性质1 如果X的矩生成函数为$MX(t)],且[$Y=aX+b$MX(t)],且[$Y=aX+b,那么

MY(t)=eatMX(bt)MY(t)=eatMX(bt)

(将Y写成指数形式的期望,很容易证明该结论)

性质2 如果X和Y是独立随机变量,分别有矩生成函数MX,MYMX,MY。那么对于随机变量Z=X+YZ=X+Y,有

MZ(t)=MX(t)MY(t)MZ(t)=MX(t)MY(t)

(基于独立随机变量乘积的期望,等于随机变量期望的乘积)

练习:

推导Poisson分布的矩生成函数

到此,相信大家对“Python矩与矩生成函数是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python矩与矩生成函数是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python矩与矩生成函数是什么

本篇内容主要讲解“Python矩与矩生成函数是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python矩与矩生成函数是什么”吧!斜度值得思考的是,期望和方差足以用来描述一个分布吗?如果答案
2023-06-02

怎么使用Python实现生成对角矩阵和对角块矩阵

这篇文章主要介绍了怎么使用Python实现生成对角矩阵和对角块矩阵的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Python实现生成对角矩阵和对角块矩阵文章都会有所收获,下面我们一起来看看吧。对角矩阵s
2023-07-06

python转置矩阵函数怎么用

在Python中,可以使用numpy库中的transpose函数来实现矩阵的转置。首先,需要安装numpy库。可以使用以下命令来安装numpy:```pip install numpy```安装完成后,就可以使用numpy的transpos
2023-10-11

如何在R语言中使用matrix函数生成矩阵

今天就跟大家聊聊有关如何在R语言中使用matrix函数生成矩阵,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在R语言中可以使用matrix()函数来创建矩阵,其语法格式如下:matr
2023-06-08

怎么使用Python快速简单生成矩形词云

本文小编为大家详细介绍“怎么使用Python快速简单生成矩形词云”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用Python快速简单生成矩形词云”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。效果实现打开I
2023-07-05

python生成器函数有什么特点

今天就跟大家聊聊有关python生成器函数有什么特点,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;
2023-06-14

Python生成随机数的方法是什么

Python生成随机数的方法有两种:使用random模块:可以使用random模块中的randint()函数生成指定范围的整数随机数,使用random()函数生成0到1之间的随机浮点数。import random# 生成1到10之间的随机整
Python生成随机数的方法是什么
2024-03-05

Python函数的返回值与嵌套函数是什么

这篇文章主要介绍“Python函数的返回值与嵌套函数是什么”,在日常操作中,相信很多人在Python函数的返回值与嵌套函数是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python函数的返回值与嵌套函数
2023-06-02

python函数是什么

Python函数是一种封装了特定任务的可重用代码块。通过将程序分解为更小、更具体的任务,函数提供了一种有效的方式来组织和管理代码,具有很大的灵活性和定制性,可以接受任意数量的参数,并可以有默认值。通过使用函数可以提高代码的可读性、可维护性和
2023-08-09

python中生成器是什么意思

这篇文章将为大家详细讲解有关python中生成器是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。生成器(Generator):通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量
2023-06-16

python特征生成是什么意思

这篇文章给大家分享的是有关python特征生成是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其最初的设计
2023-06-14

python生成词云的原理是什么

Python生成词云的原理是通过对文本进行分词处理,统计每个词出现的频率,然后根据词频的大小,将词语以不同的字体大小和颜色显示在图像上,形成一个视觉化的词云图。生成词云的过程主要包括以下几个步骤:文本预处理:首先将原始文本进行分词处理,将文
2023-10-26

python生成词云的原理是什么

Python中生成词云的原理Python中词云的生成涉及以下步骤:文本预处理:清理文本、删除停用词和标点符号。词频统计:统计每个单词或短语的出现次数。词频权重:根据重要性分配权重。布局和字体:安排单词,选择字体。图像生成:渲染布局,使用颜色和透明度突出重要单词。常用库:wordcloud、PIL、NLTK。应用:文本分析、数据可视化、营销、教育和艺术。
python生成词云的原理是什么
2024-04-10

Python中的生成器原理是什么

这篇文章主要介绍“Python中的生成器原理是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python中的生成器原理是什么”文章能帮助大家解决问题。什么是python生成器生成器是一种特殊的迭
2023-07-06

python中生成器的原理是什么

这篇文章将为大家详细讲解有关python中生成器的原理是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,
2023-06-14

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录