8
$\begingroup$

The interesting comments to this question get into how signal-to-noise ratio plays into ability to make predictions. Being more explicit about it, how does signal-to-noise ratio factor into how good predictions can be? For instance, what, exactly, is meant by signal-to-noise ratio? What does it imply about predictive modeling?

EDIT

After seeing further comments to the linked answer, I am wondering if (population-level) mutual information or KL divergence is the right way to think about this. Is that the signal, and (population-level) entropy of the outcome the noise?

$\endgroup$
3

4 Answers 4

7
$\begingroup$

I think the following examples bring out several important points.

First, consider how much lower than $R^2$ is $R^{2}_\text{adj}$ when $R^2$ is large compared to when it's small. There is much more drop when it's small.

Second, consider an industrial $2^5$ factorial design with tight control and high S:N ratio, i.e., minimum errors in measurements, high inherent $R^2$, and very importantly, all 2nd-order interaction terms and main effects are orthogonal to each other (zero collinearities) because of the balanced design. If you wanted to allow for all possible interactions you could fit a model with $2^{5} = 32$ parameters. Instead, fit a model with all main effects and two-way interactions, for a total of $5 + 5\times 4 / 2 = 15$ parameters. You can easily and reliably fit this model with $n=32$ observations.

For some experimental designs (perhaps the central composite design) you can sometimes have one observation per parameter, with 3-5 extra observations in the center just to estimate $\sigma^2$.

$\endgroup$
6
$\begingroup$

I don't think I have ever come across a rigorous, formal and commonly accepted definition of "signal", "noise" or the "signal to noise ratio". Even in the original thread, it turns out that there are different definition of the SNR in play. So I would say the first order of business is to clearly define what we are talking about in each specific instance.

And here, I believe there is not just "signal" or "noise". One modeler's noise is another one's signal, depending on your information set. And more, see below.

Suppose I am forecasting retail sales. If I know that a promotion happened in the past, I can model it and achieve a higher fit: there is signal in my data. Beware of overfitting past data, so it's more useful to think about future promotions: if I know a promotion is coming up, my predictions will probably be better than if I didn't know, so there is "future" signal in my data. If I know my supplier cannot deliver and I will run out of stock, I can probably predict zero sales: again there is signal. If I know the shopping list of every customer coming in today, I will probably be even better in predicting - and of course this is unrealistic. Without knowing about promotions, these spikes in my data will be unexplainable noise.

So "noise", in this proposal, would simply be what is left over: residual error in predictions after taking all the information we have into account. See below on how this "taking into account" is doing a lot of work here.

And now we can play around, and perhaps divide the reduction in mean squared error between our sophisticated model and a simple baseline model (this is "signal") by the MSE that is left over when we compare the sophisticated predictions to the actuals (this is "noise"). We now have a "signal to noise ratio", which is defined in one very specific way.

We see a number of consequences:

  • "Signal" and "noise" depend on the information we have. We can only discuss these concepts and the SNR in the context of our information set. More information may improve signal. But:
  • When we overfit, we will think we see "signal", especially in past data. It is very easy to fit past data better and start confabulating stories about just what happened there... only for the more sophisticated model with more information to perform worse on new data. In this case, I would say that the "signal" was spurious, and more generally, I would only rely on prediction accuracy.
  • "Signal" and "noise" depend on the data, especially the aggregation level. It is easier to detect and reliably prediction seasonality on aggregate data. But if we are mainly interested in disaggregate predictions (if we need to replenish each store separately, then forecasts of total demand across all stores are nice to have, but not immediately useful), we need to do some smart things, like estimating seasonal patterns on aggregate levels and pushing them down. Simply fitting seasonal models on disaggregate levels may lead to worse forecasts (I did a simple simulation in Kolassa, 2016). So on disaggregate levels, "seasonality" is not signal if we do a simple model, but it can turn into signal if we do a more sophisticated approach: "signal" depends on the model.
  • "Signal" and "noise" will depend on what we are forecasting. If we forecast expectations, promotion information may improve our forecasts by some $x$ in terms of reduction in MSE. But perhaps we are more interested in high quantile forecasts for stock control, and the reduction in the pinball loss due to including promotion information may be a completely different value $y$.
  • In the real world, we cannot observe "signal" or "noise". We have data and predictors, we can fit models, we can use holdout samples. So all we can rely on are empirical errors, estimates of the "real" errors. These estimates can be better or worse... so there actually is signal and noise in our estimates of "signal" and "noise"...

Bottom line: all this is hard, and it is good to be very clear what we are talking about.

$\endgroup$
4
  • $\begingroup$ Yes it is all hard. The simplest notion I know is to consider irreducible error as the background noise. This is the extent to which subjects respond differently even though they have the same time-zero measurements for all the measurements one is reasonably capable of measuring. E.g. the residual variance in an oracle model. $\endgroup$ Commented Nov 18 at 12:38
  • 2
    $\begingroup$ @FrankHarrell: true. That "reasonably capable" is doing a lot of heavy lifting here. What is "reasonable" in one context can be quite unreasonable in another one. Even in very similar cases. One retailer A may have invested much more heavily in tracking their customers across channels than another one B, so it might be easier for A to predict what I will buy. $\endgroup$ Commented Nov 18 at 12:45
  • $\begingroup$ How would inaccurate sales data play into this - lets say that sales agents only write down the best guess at the number of sales they've made each day, rather than carefully recording the actual number (and lets say that the errors they make are unbiased). Is this a different type of "noise", or just they same type? Is this a noise source that everyone would call noise? $\endgroup$ Commented Dec 3 at 11:37
  • $\begingroup$ @IanSudbery: I don't know about everyone, but I personally would definitely call this "noise", it's essentially measurement errors. It really ties into my top and bottom bullet points. I didn't go into a "typology" of noise, so I happily don't need to insert this example into it... $\endgroup$ Commented Dec 3 at 11:49
3
$\begingroup$

SNR is defined as a precise measure from the field of signal processing which is ultimately related to the variance of both signal and noise random variables. For ML predictive modeling we only have training data which doesn't directly apply. Usually you need both high-pass and low-pass filters during signal processing to extract signals from the original data via the frequency domain (usually some kind of Fourier transformation).

If you're working with time series data, you may apply both high-pass and low-pass filters to isolate the important information if they exist. The low-pass filter might help you retain the general trends or patterns in the data, while the high-pass filter might help you focus on sudden changes or important peaks.

In image processing, low-pass filters might be used to blur images and remove high-frequency noise, making the overall structure more apparent and high-pass filters might help to enhance edges or fine details in the image. In convolutional neural networks (CNNs), early layers often capture low-frequency broader patterns in the image such as general shape of a face, and deeper layers might capture higher-frequency details such as textures or specific features.

Therefore if your training data are generally of high SNR (hopefully), CNNs can successfully extract the signals which satisfies the manifold hypothesis of ML to train a good predictive model.

$\endgroup$
0
$\begingroup$

Probably the easiest to digest example is a simple detection task. Say you make a measurement $X_m$ of some system and you want to detect whether or not a DC (constant) signal with amplitude $\mu$ is present. However, there is additive white noise in your measurement $\eta \sim \mathcal{N}(0,\sigma^2_\eta)$. If the signal is present, your measurement is $X_{m|S} = \mu + \eta$, but if not, $X_{m|0}=\eta$. $X_{m|S}\sim \mathcal{N}(\mu,\sigma^2_\eta)$.

Naturally, you form two hypotheses.

  1. the null hypothesis---the signal is not present.
  2. the alternative hypotheses---the signal is present.

The optimal approach is to look up the likelihoods of $X_m$ under each hypothesis and compare them via a log-likelihood ratio: $$\text{LLR}=\log\frac{\mathcal L(X_m|H_1)}{\mathcal L(X_m|H_0)}$$ If the LLR is greater than or equal, then reject the null hypothesis, otherwise accept the null. Writing this out explicitly for our example:

$$ \begin{align*} \text{LLR}=&\log \frac{\exp \Big(-\frac{(x-\mu)^2}{2\sigma_\eta^2} \Big)} {\exp \Big(-\frac{x^2}{2\sigma_\eta^2} \Big)}\\ =&\frac{x^2}{2\sigma_\eta^2} -\frac{(x-\mu)^2}{2\sigma_\eta^2}. \end{align*} $$ This will return the LLR for a specific outcome $x$. However, if we want to know how detectable our signal is on average, we can take the expectation of the LLR under the alternative hypothesis:

$$\mathbb E[\text{LLR}|H_1]=\mathcal L(X_m|H_1) \log\frac{\mathcal L(X_m|H_1)}{\mathcal L(X_m|H_0)},$$

which is the definition for KL-divergence $D_{KL}(\ \mathcal p(X_m|H_1)\ ||\ \mathcal p(X_m|H_0))$. Alternatively, if we wanted to find how undetected our signal is instead, we would commute the arguments for KL divergence (expectation of LLR under the null hypothesis). Explicitly we can write out the full statement for our example as

$$\mathbb E[\text{LLR}|H_1]=\int_{-\infty}^\infty dx\ \frac{1}{\sqrt{2\pi}\sigma} \exp \Big(-\frac{(x-\mu)^2}{2\sigma_\eta^2} \Big)\Big(\frac{x\mu}{\sigma_\eta^2} -\frac{\mu^2}{2\sigma_\eta^2}\Big),$$ which simplifies to

$$\frac{\mu^2}{2\sigma^2}=\frac{1}{2}\text{SNR}.$$

As far as I'm aware, the SNR under this specific definition is only proportional to KL divergence for additive white noise.

We can also write this as $\frac{(\mu-\mu_\eta)^2}{2\sigma^2},$ where $\mu_\eta$ is the DC offset for the noise. Take the square root and you have $\frac{1}{\sqrt{2}}\frac{|\mu-\mu_\eta|}{\sigma}=\frac{1}{\sqrt{2}}d',$ where $d'$ (d-prime) is called the sensitivity index which is the favorite statistic used in signal detection theory. If you take $\Phi^{-1}\Big(\frac{d'}{2}\Big)$, $\Phi^{-1}$ being the inverse normal CDF, you would get the proportion of trials you would expect to get this correct $\text{PC}$ for multiple draws of $X_m$, that is $$PC=\frac{\text{true positives }+ \text{true negatives}}{\text{total trials}}.$$

As far as predictive modelling goes, you can think of noise as making your signal less correlated/indicative of the outcome. When you train your model, you are training your model to first detect these correlations. Prediction is then an extrapolation from what has been learned. If your model has a hard time detecting the signal in known conditions, its going to have an even harder time detecting the signal in new conditions. Note that the above formulations are considered optimal (que Neyman-Pearson lemma). Thus, something like SNR will give you an upper bound on your expected prediction performance.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.