def METHOD_NAME(
    num_points: int,
    t_dof: int = 10,
    noise_mult: float = 0.25,
    points_per_sinusoid: int = 100,
    magnitude_sin: float = 1,
):
    """
    Creates noisy sinusoid.
    (Noise distributed as student t with degrees of freedom = t_dof.)
    Returns tensor of shape (1, 1, num_points).
    Arguments:
      num_points: int, number of points in the dataset.
      t_dof: int, degrees of freedom for student t distribution.
      noise_mult: float, standard deviation.
      points_per_sinusoid: int, datapoints per sine period
      magnitude_sin: float, magnitude of sine amplitude
    """
    end = num_points / points_per_sinusoid * 2 * np.pi
    sinusoid = np.sin(np.linspace(0, end, num_points)) * magnitude_sin
    noise = np.random.standard_t(t_dof, num_points) * noise_mult
    values = sinusoid + noise + 5.0
    values = add_spikes(values)
    return torch.tensor(values.reshape(1, 1, -1))