Вы можете добавить белый шум к данным. Он работает лучше в сочетании с другими показанными методами, но также может использоваться сам по себе, если вам не нужно иметь много структуры в вашем шуме:
x = np.linspace(0, x_max, n_points)
y = np.linspace(0, y_max, n_points) + np.random.normal(size=n_points)
Если вы хотите, чтобы конечные точки были зафиксированы, вы должны держать их постоянными:
y = np.linspace(0, y_max, n_points)
y[1:-1] += np.random.normal(size=n_points - 2)