Python отбрасывает случайные числа бета-дистрибутива - PullRequest
0 голосов
/ 28 июня 2018

У меня есть вопрос о бета-распределениях и случайных переменных. Мои данные включают данные о производительности с 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] 

Мой следующий шаг - извлечь случайные числа из бета-распределения на основе прошлых значений каждого месяца. Поэтому я хочу использовать пакет scipy и numpy.random. Проблема в том, что я не знаю, как ... мне нужно только 20 чисел, но я не знаю, как я могу определить значения a и b. Мне просто нужно попробовать случайные значения или я могу извлечь соответствующие значения из моих прошлых данных? Я благодарен за любую помощь!

1 Ответ

0 голосов
/ 29 июня 2018

Попробуйте подогнать (= найти параметры) бета-распределение для каждого месяца, используя scipy.stats.beta.fit(MONTH). См. здесь для краткого описания его выходных данных или подробностей в исходном коде (плохо документировано, к сожалению).

К вашему сведению Более подробное обсуждение подгонки бета-дистрибутива можно найти в этом посте , поскольку я сам не часто использовал эту функцию.

...