(numpy.random.standard_t)如何确定自由度?

时间:2015-09-13 00:58:13

标签: python statistics distribution

请告诉我如何确定自由度

1。我使用以下代码绘制直方图

的student-t分布
# distribution fitting
param = t.fit(log_rets) 
# now get theoretical values in our interval      
pdf_t = stats.t.pdf(lnspc, param[0], param[1], param[2])
# plot it      
plt.plot(lnspc, pdf_t, label="student t") 
plt.show()

2。我发现param [3]如下

(3.1512592116146094, 0.00046753124755725029, 0.0061044503250347361)

3。我会用student-t生成一个随机数,但不知道如何确定自由度

retvec = []
for i in range (n_obs):
    retvec.append(np.random.standard_t(**<degrees of freedom>**, size=n_assets))

请随时发表评论。

此致,尼尔森。

1 个答案:

答案 0 :(得分:1)

这是一个古老的问题,但对于阅读它的人来说,这里的params [0]是自由度(例如,尾部大小),所以你可以使用scipy随机变量生成你的随机值:

roll = stats.t.rvs(df=params[0], loc=params[1], scale=params[2], size=n_assets)