Python 丢弃 beta 分布的随机数

Python drop random numbers of a beta distribution

我对贝塔分布和随机变量有疑问。我的数据包括从 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 值。我只需要尝试随机值还是可以从我过去的数据中提取相应的值?我很感谢你的帮助!

尝试使用 scipy.stats.beta.fit(MONTH) 拟合(=找到参数)每个月的 beta 分布。请参阅 here 以获取其输出的简短描述,或阅读源代码以获取详细信息(不幸的是,文档很少)。

仅供参考 this post 中有关拟合 beta 分布的更多讨论,因为我自己并没有经常使用该函数。