Как добавить шум к массиву случайных чисел в цикле отдельной функции - PullRequest
0 голосов
/ 05 января 2019

Запуск функции внутри цикла for для генерации шума вокруг значений y в серии pd, не принимает позиционное значение Y.

Я запускаю старый скрипт, который используется для работы на Python 2, где он генерирует случайные серии данных с шумом, добавленным вокруг значений y. К сожалению, он отвечает, что val отсутствует в качестве позиционного аргумента в noise () def. Но я думаю, что noise () должен принимать значения y_i в цикле for в нижней части функции generate_random_dataset.

def noise(yval):

    np.random.seed(0)
    return 0.2*np.asarray(yval)*np.random.normal(size=len(yval))

# Generate a random dataset
def generate_random_dataset(size_of_array=1000, random_state=0):

    np.random.seed(random_state)
    y = np.random.normal(0, 0.5, size_of_array)
    x = range(0, size_of_array)
    y_new = [y_i + index**((size_of_array - index)/size_of_array) + noise()
     for index, y_i in zip(count(), y)]
    return x, pd.Series(y_new)

x1, y1 = generate_random_dataset()

plot_results(x1, y1, window_size=12, #title_for_plot="Statinoary Standard  Deviation",
                sigma_value=2, text_xlabel="Time in Days", text_ylabel="Value in $")

Ошибка, которую я получаю:

TypeError                                 Traceback (most recent call last)
<ipython-input-92-4b3c87d758ca> in <module>()
 23     return x, pd.Series(y_new)
 24 
---> 25 x1, y1 = generate_random_dataset()
 26 
 27 plot_results(x1, y1, window_size=12, #title_for_plot="Statinoary     Standard Deviation",

<ipython-input-92-4b3c87d758ca> in generate_random_dataset(size_of_array, random_state)
 20     x = range(0, size_of_array)
 21     y_new = [y_i + index**((size_of_array - index)/size_of_array) + noise()
---> 22      for index, y_i in zip(count(), y)]
 23     return x, pd.Series(y_new)
 24 

<ipython-input-92-4b3c87d758ca> in <listcomp>(.0)
 20     x = range(0, size_of_array)
 21     y_new = [y_i + index**((size_of_array - index)/size_of_array) + noise()
---> 22      for index, y_i in zip(count(), y)]
 23     return x, pd.Series(y_new)
 24 

 TypeError: noise() missing 1 required positional argument: 'yval'  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...