首页 > 编程知识 正文

python实用概率统计,cdf累积分布函数

时间:2023-05-03 21:56:40 阅读:143101 作者:1279

假设您知道数据的分布方式,即数据的pdf,则scipy在计算cdf时支持离散数据import numpy as np

导入脚本

import matplotlib.pyplot as plt

import seaborn as sns

x=NP.random.randn(10000 ) generatesamplesfromnormaldistribution (discrete data ) ) ) )。

norm _ CDF=scipy.stats.norm.CDF (x ) # calculate the cdf - also discrete

# plot the cdf

SNS.lineplot(x=x,y=norm_cdf ) ) ) ) )。

plt.show () )

您也可以打印cdf的前几个值,以指示它们是离散打印(norm_CDF[:10] )。

Array(0.39216484、0.09554546、0.71268696、0.5007396、0.76484329、

0.37920836、0.86010018、0.9191937、0.46374527、0.4576634]

类似的cdf计算方法也适用于多维。 使用以下二维数据对mu=NP.Zeros(2) # mean vector进行说明

cov=NP.array ([ 1,0.6,[ 0.6,1 ] ) # covariance matrix

# generate2dnormallydistributedsamplesusing0meanandthecovariancematrixabove

x=NP.random.multivariate _ normal (mean=mu,cov=cov,size=1000 ) # 1000 samples

norm _ CDF=scipy.stats.norm.CDF (x (

打印(norm _ CDF.shape ) )。

(1000,2 ) )。

在上面的例子中,我事先知道我的数据是正态分布的。 这就是使用scipy.stats.norm () )的原因-scipy支持多种分布。 但是,要使用这些函数,必须事先知道数据是如何分布的。 如果不知道数据是如何分布的,也不知道使用什么分布来计算cdf,则很可能会产生不准确的结果。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。