本文含 1845 字,2 图表截屏 建议阅读 10 分钟 引言 本文是「信用风险建模 in Python」系列的第五篇,其实在之前的 Cufflinks 那篇已经埋下了信用风险的伏笔, 信用组合可视化...文中计算条件概率的代码: def cond_PD(p, rho, G): num = norm.ppf(p) - np.sqrt(rho)*G denom = np.sqrt(1-rho...) return norm.cdf(num/denom) 文中计算二维高斯分布的 CDF 的代码: import numpy.linalg as nla import scipy.integrate...as nInt def JDP(x1, x2, rho): bounds = [[-7, norm.ppf(x1)],[-7, norm.ppf(x2)]] f, err = nInt.nquad
补充:python+numpy中矩阵的逆和伪逆的区别 定义: 对于矩阵A,如果存在一个矩阵B,使得AB=BA=E,其中E为与A,B同维数的单位阵,就称A为可逆矩阵(或者称A可逆),并称B是A的逆矩阵,...简称逆阵。...(此时的逆称为凯利逆) 矩阵A可逆的充分必要条件是|A|≠0。 伪逆矩阵是逆矩阵的广义形式。由于奇异矩阵或非方阵的矩阵不存在逆矩阵,但可以用函数pinv(A)求其伪逆矩阵。...函数返回一个与A的转置矩阵A’ 同型的矩阵X,并且满足:AXA=A,XAX=X.此时,称矩阵X为矩阵A的伪逆,也称为广义逆矩阵。...广义逆矩阵),对应于MATLAB中 pinv() 函数 这就是矩阵的逆和伪逆的区别 截至2020/10/4,matrix函数还可以使用,但已经过时,应该是mat函数这种。
我们将在下面使用Python逐步进行计算。 在开始之前,请注意,标准VaR计算假定以下条件: 收益的正态分布 -VaR假设投资组合的收益是正态分布。...VaR,您可以按照以下步骤操作: 计算投资组合中股票的定期收益 根据收益创建协方差矩阵 计算投资组合均值和标准差 (根据投资组合中每只股票的投资水平加权) 用指定的置信区间,标准差和均值计算正态累积分布(PPF...计算投资平均值 (1+port_mean) * initial_investment # 计算投资标准差 initial_investment * port_st 接下来,我们可以将这些变量插入下面的百分比函数(PPF...4)计算具有指定置信区间,标准偏差和均值的正态累积分布(PPF)的逆 # 选择我们的置信区间(我将在此处选择95%) conf_level1 = 0.05 #逆累积分布函数为正态分布 #插入我们投资组合的均值...,标准差 cutoff1 = norm.ppf(conf_level1, mean_investment, stdev_investment) 5)通过从步骤4的计算中减去初始投资,估算投资组合的风险价值
表头的纵向则为整数部分以及小数点后第一位;两者联合作为完整的 x,坐标轴的横轴 表中的值为图中红色区域的面积,也即 cdf,连续分布的累积概率函数,记为 Φ ( x ) \Phi(x)Φ(x) cdf 的逆,...Φ−1(3/4),表示 x 取何值时,阴影部分的面积为 0.75,查表可知,x 介于 0.67 和 0.68 之间; >> from scipy.stats import norm >> norm.ppf...(3/4) 0.6744897501960817 1. cdf 与 ppf(分位函数) from scipy.stats import norm 覆盖的概率范围: ?...0.5 Φ − 1 ( x ) \Phi^{-1}(x)Φ−1(x),通过 norm(x) 进行计算: >> from scipy.stats import norm # Q3 分位点; >> norm.ppf...(3/4) 0.6744897501960817 # Q1 分位点 >> norm.ppf(1/4) -0.6744897501960817 ---- 标准正态分布表
PDF与CDF对比示意图 在 Python 中使用scipy.stats.norm.ppf()计算 CDF import numpy as np from scipy.stats import norm...找到适合的横坐标,百分点函数 #ppf分位点函数(CDF的逆)即累计分布函数的逆函数(分位点函数,给出分位点返回对应的x值)。...#scipy.stats.norm.ppf(0.95, loc=0,scale=1)返回累积分布函数中概率等于0.95对应的x值(CDF函数中已知y求对应的x)。...x = np.linspace(norm.ppf(0.01,loc=np.mean(data), scale=np.std(data)), norm.ppf(0.99,loc...norm_dist_cdf(x) plt.plot(x, y1,'g',label='pdf') plt.plot(x, y2,'r',label='cdf') plt.show() ←PDF与CDF分布曲线对比→ Python
本文介绍在Anaconda环境中,安装Python语言SciPy模块的方法。...SciPy(Scientific Python)是一个开源的Python科学计算库,用于解决科学与工程领域的各种数值计算问题。...scipy.integrate模块包含了这些方法,并提供了用于求解常微分方程的函数。 优化:提供了多种优化算法,用于最小化或最大化函数。...线性代数:提供了线性代数运算的函数,例如求解线性方程组、计算特征值和特征向量、计算矩阵的逆等。scipy.linalg模块包含了这些函数。...在这里,由于我是希望在一个名称为py38的Python虚拟环境中配置SciPy库,因此首先通过如下的代码进入这一环境;关于虚拟环境的创建与进入,大家可以参考文章Anaconda创建、使用、删除Python
var, skew, kurt = randint.stats(low, high, moments=’mvsk’) 显示概率质量函数(pmf): >>> x = np.arange(randint.ppf...(0.01, low, high), … randint.ppf(0.99, low, high)) >>> ax.plot(x, randint.pmf(x, low, high), ‘bo’, ms...’-‘, lw=1, … label=’frozen pmf’) >>> ax.legend(loc=’best’, frameon=False) >>> plt.show() 检查的准确性cdf和ppf...: >>> prob = randint.cdf(x, low, high) >>> np.allclose(x, randint.ppf(prob, low, high)) True 生成随机数: >...ppf(q, low, high, loc=0) 百分比点函数(的倒数cdf—百分位数)。 isf(q, low, high, loc=0) 逆生存函数(sf)。
下面是一个简单的非线性系统示例代码: import numpy as np import matplotlib.pyplot as plt from scipy.integrate import solve_ivp...逆系统方法基本概念 逆系统方法是一种非线性控制设计方法,其基本思想是构造一个与原系统动态特性相反的逆系统,将原非线性系统转化为线性系统,然后使用线性控制理论进行设计。...逆系统方法的基本步骤 确定原系统的数学模型 构造逆系统模型 将逆系统与原系统串联,得到伪线性系统 对伪线性系统设计线性控制器 构成完整的非线性控制系统 下面是一个使用逆系统方法控制非线性系统的示例: import...逆系统方法流程图 下面是逆系统方法的流程图: 图 10:逆系统方法流程图 8-6 非线性控制系统设计 非线性控制系统设计概述 非线性控制系统设计是指针对包含非线性特性的控制系统,设计能够满足性能指标要求的控制器...鲁棒性与稳定性分析 下面是非线性控制系统设计的一般流程思维导图: 图 12:非线性控制系统设计流程思维导图 以上就是《自动控制原理》第八章非线性控制系统分析的全部内容,通过理论介绍、案例分析和 Python
1:导入包numpy from numpy import * 2: 定义初始化矩阵 a1 = mat([[3,4],[2,16]]) //这是一个2×2的矩阵 3:求a1的逆矩阵 a2
Statsmodels库介绍与常用方法 Statsmodels 是一个强大的 Python 库,专注于统计建模和数据分析,广泛应用于经济学、金融、生物统计等领域。...SciPy库介绍与常用方法 SciPy 是一个基于 Python 的开源科学计算库,广泛应用于数学、科学和工程领域。...数值积分(Integration) scipy.integrate 提供了数值积分工具,适用于单重积分、双重积分等。...示例:单重积分 from scipy.integrate import quad # 定义被积函数 def f(x): return np.sin(x) # 计算 sin(x) 从 0 到...线性代数(Linear Algebra) scipy.linalg 提供了丰富的线性代数工具,如矩阵分解、求逆、特征值计算等。
由于最近在做数据分析时用到了,然而看了一些博客,要么是qq图讲解的比较详尽但是没有使用Python;要么是使用Python语言但是没有讲清楚原理。...基于此,想写一篇博客尽量讲清楚原理并且用Python实现出来。 qq图原理是比较两组数据的累计分布函数来判断两组数据是否是服从同一分布,所以第一步我们应该做两组数据的累计分布。...x_label = stats.norm.ppf(yvals) #对目标累计分布函数值求标准正太分布累计分布函数的逆 plt.scatter(x_label, sorted_) 既然做对比那么对比的标准是什么呢...上面是为了说明qq图的原理以及怎么使用pyhton进行手动操作,作为数据分析领域里比较全能的Python,它当然也是有包可以直接绘制qq图。...://stats.stackexchange.com/questions/139708/qq-plot-in-python https://docs.scipy.org/doc/scipy-0.16.0
# 转换到观察空间 a = theta\["a\_dist"\].ppf(a\_unif) Copula推断过程 为了理解所采用的方法,我们需要逐步研究从观察空间到多元正态空间的逆过程。...AI提示词:编写Python代码实现从观察空间到均匀空间的转换,并绘制散点图,使用已定义的变量a和b以及相关分布函数。...# 均匀空间 -> 多元正态空间 a2 = stats.norm(loc=0, scale=1).ppf(a1) 通过以上步骤,我们详细了解了数据生成过程以及逆(推断)过程,这为后续使用PyMC模型进行参数推断奠定了基础...AI提示词:编写使用PyMC估计边缘分布参数的Python代码,定义模型,设置变量和分布,使用给定的观察数据a和b,绘制模型图。...通过逐步解析数据生成过程,从多元正态空间到观察空间的变换,以及逆过程的Copula推断,我们清晰地展示了整个方法的逻辑脉络。
自2017年国务院印发《新一代人工智能发展规划》,明确指出在中小学阶段设置人工智能相关课程后,Python一路逆袭, 作为人工智能时代最合适的语言,Python无疑被越来越多人追捧,被众多程序员誉为...在这样的背景下,Python就像一匹超强的黑马,完成自己的逆袭。因此,它有了自己的Slogan:“人生苦短,我学Python”。...它借着驾乘AI之力,碾压了Java和C++老牌语言,完成了小弟到大哥的逆袭。也成为了最受欢迎语言的常青树。...有人说,“Python除了不会生孩子,什么都会。” 下视频?我用Python; 玩跳一跳?我用Python跳到4999分; 撩妹子?依然用Python; 抢红包?...Python的薪酬果真厉害? 从目前Python的就业前景来看,总结如下: Python就业情况乐观,从TIOBE 8月编程语言指数排行榜以及百度指数的搜索数来看,Python的受欢迎程度越来越高。
1240 自2017年国务院印发《新一代人工智能发展规划》,明确指出在中小学阶段设置人工智能相关课程后,Python一路逆袭, 作为人工智能时代最合适的语言,Python无疑被越来越多人追捧,被众多程序员誉为...在这样的背景下,Python就像一匹超强的黑马,完成自己的逆袭。因此,它有了自己的Slogan:“人生苦短,我学Python”。...它借着驾乘AI之力,碾压了Java和C++老牌语言,完成了小弟到大哥的逆袭。也成为了最受欢迎语言的常青树。...有人说,“Python除了不会生孩子,什么都会。” 下视频?我用Python; 玩跳一跳?我用Python跳到4999分; 撩妹子?依然用Python; 抢红包?...Python的薪酬果真厉害? 从目前Python的就业前景来看,总结如下: Python就业情况乐观,从TIOBE 8月编程语言指数排行榜以及百度指数的搜索数来看,Python的受欢迎程度越来越高。
统计系列(三)利用Python进行参数估计 点估计 样本均值估计为总体均值,样本比例估计为总体比例。...sigma = np.sqrt(0.6) x = [14.6, 15.1, 14.9, 14.8, 15.2, 15.1] xbar = np.mean(x) low = xbar-ss.norm.ppf...102.1, 100.5] xbar = np.mean(x) s2 = np.var(x, ddof=1) # 样本方差除以n-1 s = np.sqrt(s2) low = xbar-ss.t.ppf...估计总体方差置信度为95%的置信区间 from scipy.stats import chi2 n=16; s2=0.0023; p=0.025 low = ((n-1)*s2)/chi2.ppf(1...-p,n-1) up = ((n-1)*s2)/chi2.ppf(p,n-1) print([low,up]) [0.0012550751937877684, 0.005509300678006194
方阵A求逆,先做LU分解。...A的逆等于U的逆乘于L的逆,L的逆就利用下三角矩阵求逆算法进行求解,U的逆可以这样求:先将U转置成下三角矩阵,再像对L求逆一样对U的转置求逆,再将得到的结果转置过来,得到的就是U的逆。...因此,关键是下三角矩阵的求逆。...接下来,利用上面的函数来进行矩阵的求逆。...,并验证求得的逆矩阵和原矩阵相乘是否为单位矩阵。
综合群友们的智慧,今天我们就来看看excel与python如何实现这个需求吧!...[format,png] 目录: excel逆透视技巧 Pandas逆透视技巧1. excel逆透视技巧 excel做逆透视操作是需要用到Power Query。...[format,png] 逆透视列 第五步:可以看到出现了我们需要的结果 [format,png] 逆透视结果 第六步:点击左上角文件,选中关闭并上载 [format,png] 上载数据 第七步:我们发现...,在原始表出现了 表1的页签,里面正是我们期望的逆透视结果,搞定!...Pandas逆透视技巧 我们要做的是透视的逆向操作,也就是逆透视,pandas自然也提供了非常方便的函数方法,让我们来一起看看吧。
而且你可以从python中使用R(需要一些设置)。说了这么多关于R的好处,我们还是要发一篇关于如何在python中使用一个特定的数学工具的文章。...#等同于ppf,但直接从数据中构建 sortedvar=np.sort(var) #绘制 for index,family in enumerate(['Frank', 'clayton...#画出相关数据 np.linspace(0, lognorm.ppf(0.99, sc), sz)plt.plot(t, gkxx.pdf(t), lw=5, alpha=0.6,拟合copula参数没有内置的方法来计算...-kTau)#================#copula生成 #得到协方差矩阵P #x1=norm.ppf(x,loc=0,scale=1) #y1=norm.ppf(y,loc=...t = np.linspace(0, lognorm.ppf(0.99, sc), sz)#从一些df中抽取一些样本X=beta.rvs(a,b,size=sz)Y=lognorm.rvs(sc,size
引言 先吐槽两句,真的是Matlab才不会报这种错,今天计算逆矩阵报了个这么个错,一个简单的2*2的可逆矩阵居然死活求不出来,好气啊。...debug的时候关顾看数值了,没有注意到类型变化,后来输出这个计算后的矩阵发现是Object类型,怪不得不能求逆。真实太气人了!...这样你就能看到它的真实类型改过来了,我也顺利求得了A的逆矩阵。
0.4, 0.4 mean, var, skew, kurt = stats.nbinom.stats(n, p, moments='mvsk') x = np.arange(stats.nbinom.ppf...(0.01, n, p), stats.nbinom.ppf(0.99, n, p)) ax.plot(x, stats.nbinom.pmf(x, n, p), 'bo',...指数分布 指数可以取任意非负值,包括非整数 对指定的参数λ,指数型随机变量的期望值为λ的逆 a = np.linspace(0, 4, 100) expo = stats.expon lambda...plt.subplots(1, 1) a = 1.99 mean, var, skew, kurt = gamma.stats(a, moments='mvsk') x = np.linspace(gamma.ppf...(0.01, a), gamma.ppf(0.99, a), 100) ax.plot(x, gamma.pdf(x, a), 'r-', lw=5, alpha