Python删除Beta分布的随机数

时间:2018-06-28 20:59:00

标签: python beta-distribution numpy-random

我对Beta分布和随机变量有疑问。我的数据包括每小时2012年至2016年的绩效数据。我每月重新计算一次数据,所以每个月只有一个值。之后,我创建了一个新的df,其代码示例中显示了一个月的所有值。

import numpy as np
import pandas as pd
from scipy.stats import beta
import matplotlib.pyplot as plt

output = pd.read_csv("./data/external/power_output_hourly.csv", delimiter=",", parse_dates=True, index_col=[0])
print(output.head())

output_month = output.resample('1M').sum()
print(output_month.head())

jan = output_month[:1]
jan = jan.append(output_month[12:13])
jan = jan.append(output_month[24:25])
jan = jan.append(output_month[36:37])
jan = jan.append(output_month[48:49])
print(jan)

...

months = [jan, feb, mar, apr, mai, jun, jul, aug, sep, okt, nov, dez] 

我的下一步是根据每个月的过去值从beta分布中提取随机数。因此,我想使用scipy软件包和numpy.random。问题是,我不知道如何……我只需要20个数字,但是我不知道如何确定ab的值。我只需要尝试随机值还是可以从过去的数据中提取相应的值?感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

尝试使用scipy.stats.beta.fit(MONTH)拟合(=查找参数)每个月的Beta分布。参见here以获得其输出的简短描述,或阅读源代码以获取详细信息(不幸的是,文献记载不充分)。

仅供参考,this post中有更多关于拟合beta分布的讨论,因为我本人并没有经常使用该功能。