Detecting Spikes in a 1-D discrete time series data with unknown underlying distribution I have a discrete 1-D data set with a value range of 0-100. The underlying distribution is unknown --although we have enough data to fit a model-- to summarize it is a highly right-skewed data set, with a vast majority of values between 0-5.
My goal is to detect spikes in this data set. Spikes such as [0, 0, 0, 20, 15, 5, 0, ...]. One problem is that although spikes peak very visibly, they do not fade out as sharply. For example, in the previous example, I like to detect [20, 15] part as a single spike, although many mechanisms give them as two distinct "outlier points".
I do not have a strong statistical background, I am a systems engineer.
What are the steps to follow in this scenario?
Thank you for your help,

The standard approach in this situation is to smooth the time series and then consider the difference between the real value of the time series and the smoothed one. If this is larger than some configured threshold $t$, you have an outlier.
You can configure the amount of smoothing and the threshold $t$ yourself, i.e. you can tune them to your needs so that the above procedure will mainly detect those points as outliers that you consider as such. For example, you would tune the smoothing and threshold such that in the example you described only one spike would be detected.
There is a lot of software available that can help you with this task, e.g. in R here or here.
