So your data should be the linearly increasing time steps, while your target is the (at first sight) random data?
I would split the data and target in __getitem__ and just return both values, as this makes the training loop cleaner in my opinion.
You could do it in __init__ or __getitem__ as it shouldn’t really matter.