SNR estimation in segmented speech signals
The given equation should be used with caution. Not always we can separate powers of two mixed signals just like that. It will require them to be orthogonal (or independent and at least one of them zero-mean).

In your formula the power of signal $y[n]$ is defined as $$P=\frac{1}{N}\sum_{i=1}^{N}|y[i]|^2$$
where $N$ is the length of $y$. You shouldn't forget the normalizing factor $\frac{1}{N}$. 

Just to make it clear, $x$ should be a recording of signal plus noise, and $n$ should be just noise (silence/ no speech). The oscillogram of $n$ should look like the background of oscillogram of $x$ for the formula to make sense.

Regarding the negative values, logarithm of a number less than one is negative. It implies that the numerator is smaller than the denumerator, or the signal power is less than that of noise. A negative SNR can be seen in practice, where the signal is weak in nature. GPS signal can be a good example. But I really think that your noise is polluted with some sort of harmonics that don't appear in $x$, that is why the overall result is less than one and the SNR becomes negative.