I didn't have a separate training set and data set, so I think that's why the graphs came out looking too good. The units on the graphs are also incorrect, I was interpreting PSD as ASD. I haven't been able to get my Wiener filtering code working well- I get unreasonable subtractions like the noise being larger than the unfiltered signal, so Eric showed me this frequency-dependent calculation described here: https://dcc.ligo.org/LIGO-P990002
This seems to be working well so far:
Here's all the plots on one figure:
Let me know if this looks believable.
Seems to good to be true. Maybe you're over fitting? Please put all the traces on one plot and let us know how you do the parameter setting. You should use half the data for training the filter and the second half for doing the subtraction.