Запуск функции внутри цикла 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'