Генерация расширенных данных временных рядов из существующих рядов в Python - PullRequest
0 голосов
/ 03 октября 2018

Ну, я долго искал это решение, но не могу его найти, хотя верю, что это будет довольно легко сделать.У меня есть временной ряд, с интервалом в 1 час на один год.Что я хочу сделать, так это создать поддельные данные за последующие годы, немного повозившись с моими исходными данными.Например, если мои исходные данные выглядят так:

Date standard   Estimated production 

1/1/2016 7:00   0,0  
1/1/2016 8:00   0,0  
1/1/2016 9:00   16,3  
1/1/2016 10:00  29,4   
1/1/2016 11:00  40,6  
1/1/2016 12:00  33,9

(так будет до конца года), я хотел бы создать поддельные данные, которые для каждой соответствующей даты будут похожими.

Date standard   Estimated production 

1/1/2017 7:00   0,01  
1/1/2017 8:00   0,03  
1/1/2017 9:00   16,1 
1/1/2017 10:00  29,3  
1/1/2017 11:00  40,8  
1/1/2017 12:00  33,1

Вышеуказанные изменения, конечно, абсолютно случайны, производство должно быть увеличено или уменьшено на число в пределах установленного предела.Заранее спасибо!

1 Ответ

0 голосов
/ 03 октября 2018

Вы можете использовать DateOffset , чтобы сместить индекс на один год (а затем вы можете изменить значения по своему усмотрению).

Чтобы генерировать шум, вы можете посмотреть на numpy случайный утилит.

import numpy as np
# Same values as 2016, but dates shifted by 1 year (2017)
fake_data = df.loc['2016'].copy()
fake_data.index = fake_data.index + pd.DateOffset(years=1)

# Add gaussian noise, with same standard deviation of production
noise = np.random.randn(len(fake_data)) * fake_data['production'].std()
fake_data['production'] = fake_data['production'] + noise

new_data = pd.concat([data, new_data], axis=0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...