python中 t用法_python scipy stats.t用法及代码示例

本文介绍了Python Scipy库中的t分布,包括概率密度函数的定义、参数调整、统计方法和随机数生成。通过代码示例展示了如何使用t分布进行数据分析,如计算概率、绘制PDF、生成随机样本等。
摘要由CSDN通过智能技术生成

学生的连续随机变量。

作为一个实例rv_continuous类,t对象从中继承了通用方法的集合(完整列表请参见下文),并使用特定于此特定发行版的详细信息来完善它们。

注意:

的概率密度函数t是:

854567a4ab697e3d2e61c4e35ea97106.svg

其中716b4f84accbe970adef90d7cd1b413e.svg是实数和自由度参数9fbb6360400322d05064f410cc4ea8d0.svg(表示为df在实施中)满足cbd01d16996b11439156f02dc7d7edaa.svg303ec71d4816eca97b675fbdfdabc02f.svg是伽马函数(scipy.special.gamma)。

上面的概率密度以“standardized”形式定义。要移动和/或缩放分布,请使用loc和scale参数。特别,t.pdf(x, df, loc, scale)等同于t.pdf(y, df) / scale与y = (x - loc) / scale。

例子:

>>> from scipy.stats import t

>>> import matplotlib.pyplot as plt

>>> fig, ax = plt.subplots(1, 1)

首先计算一下:

>>> df = 2.74

>>> mean, var, skew, kurt = t.stats(df, moments='mvsk')

显示概率密度函数(pdf):

>>> x = np.linspace(t.ppf(0.01, df),

... t.ppf(0.99, df), 100)

>>> ax.plot(x, t.pdf(x, df),

... 'r-', lw=5, alpha=0.6, label='t pdf')

或者,可以调用分发对象(作为函数)以固定形状,位置和比例参数。这将返回固定固定给定参数的“frozen” RV对象。

冻结发行版并显示冻结的pdf:

>>> rv = t(df)

>>> ax.plot(x, rv.pdf(x), 'k-', lw=2, label='frozen pdf')

检查的准确性cdf和ppf:

>>> vals = t.ppf([0.001, 0.5, 0.999], df)

>>> np.allclose([0.001, 0.5, 0.999], t.cdf(vals, df))

True

生成随机数:

>>> r = t.rvs(df, size=1000)

并比较直方图:

>>> ax.hist(r, density=True, histtype='stepfilled', alpha=0.2)

>>> ax.legend(loc='best', frameon=False)

>>> plt.show()

f39c99d059b7ba92fb628255f1e7af5a.png

方法:

rvs(df, loc=0, scale=1, size=1, random_state=None)

随机变量。

pdf(x, df, loc=0, scale=1)

概率密度函数。

logpdf(x, df, loc=0, scale=1)

概率密度函数的对数。

cdf(x, df, loc=0, scale=1)

累积分布函数。

logcdf(x, df, loc=0, scale=1)

累积分布函数的日志。

sf(x, df, loc=0, scale=1)

生存函数(也定义为1 - cdf,但sf有时更准确)。

logsf(x, df, loc=0, scale=1)

生存函数的日志。

ppf(q, df, loc=0, scale=1)

百分比点函数(的倒数cdf—百分位数)。

isf(q, df, loc=0, scale=1)

逆生存函数(sf)。

moment(n, df, loc=0, scale=1)

n阶非中心矩

stats(df, loc=0, scale=1, moments=’mv’)

均值(‘m’),方差(‘v’),偏斜(‘s’)和/或峰度(‘k’)。

entropy(df, loc=0, scale=1)

RV的(微分)熵。

fit(data, df, loc=0, scale=1)

通用数据的参数估计。

expect(func, args=(df,), loc=0, scale=1, lb=None, ub=None, conditional=False, **kwds)

函数(具有一个参数)相对于分布的期望值。

median(df, loc=0, scale=1)

分布的中位数。

mean(df, loc=0, scale=1)

分布的平均值。

var(df, loc=0, scale=1)

分布的差异。

std(df, loc=0, scale=1)

分布的标准偏差。

interval(alpha, df, loc=0, scale=1)

包含分布的Alpha百分比的范围的端点

广义极值分布是一种概率分布,通常用于描述一组随机变量的极端值。在Python,可以使用SciPystats.genextreme模块来计算广义极值分布的参数和概率密度函数。 下面是一个示例代码,展示了如何使用stats.genextreme模块来拟合广义极值分布,并绘制其概率密度函数: ```python import numpy as np from scipy.stats import genextreme import matplotlib.pyplot as plt # 生成一组随机变量 x = np.random.normal(size=1000) # 计算广义极值分布的参数 params = genextreme.fit(x) # 绘制概率密度函数 fig, ax = plt.subplots(1, 1) x_axis = np.linspace(genextreme.ppf(0.01, *params), genextreme.ppf(0.99, *params), 100) ax.plot(x_axis, genextreme.pdf(x_axis, *params), 'r-', lw=5, alpha=0.6, label='genextreme pdf') plt.show() ``` 在代码,我们首先生成了一组随机变量x。然后使用genextreme.fit()函数来计算广义极值分布的参数,保存在params变量。最后,使用genextreme.pdf()函数来计算概率密度函数,并使用matplotlib库将其绘制出来。 需要注意的是,genextreme.fit()函数可以自动选择最适合数据的参数估计方法。如果需要手动指定参数估计方法,可以使用fitmethod参数来指定。例如,可以将fitmethod参数设置为MLE来使用最大似然估计方法: ```python params = genextreme.fit(x, fitmethod='MLE') ``` 总之,使用Scipystats.genextreme模块可以方便地计算和绘制广义极值分布的概率密度函数,从而对一组随机变量的极端值进行建模和分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值