# Means to estimate the decay rate of a noisy decay process?

I have a decay process which appears essentially like $$f(t) = \xi(t)\exp[-t/\tau],$$ where $$\xi(t)$$ is a stationary Gaussian noise with some mean, variance, and correlation function.

Given a realization of $$f(t)$$ which I measure from an experiment, I would like to estimate the decay timescale $$\tau$$.

Here is an example dataset, generated in Python using an Ornstein-Uhlenbeck process for $$\xi(t)$$:

import numpy as np
import matplotlib.pyplot as plt

dt = 1e-3 # timestep
N = 5000 # number of step
t = np.arange(0,N*dt,dt)

tau = 5 # this is what I want to estimate
np.random.seed(4) # set the random state
noise = [] # list to be filled with noise
n = 9.4 # initial noise value
D = 15 # diffusivity
gam = 2 # damping
i=0
while i<N:  # produce an Ornstein uhlenbeck noise (correlated)
noise.append(n)
n = n + gam*(n0 - n)*dt + np.sqrt(2*D*dt)*np.random.normal()
i+=1

noise = np.array(noise)
plt.plot(t,noise*np.exp(-t/tau))
plt.xlabel('t',fontsize=15)
plt.ylabel('f(t)',fontsize=15)


Given a timeseries like this, I would like to estimate its decay constant $$\tau$$, using some method which is more robust than just fitting a curve and ignoring the noise.

Are there any standard methods for this type of fitting procedure? In my case smoothing is not exactly viable because the correlation time of the noise is often comparable to the decay time of the signal.

• Is it really sensible to have $\xi(t)$ be a gaussian process? That means that there is some (albeit small) probability that $f(t)$ will be negative. Depending on your application a lognormal might be more sensible, if this is the case you could take $\log$'s on both sides and you are left with estimating a linear trend for an otherwise stationary GP which is straightforward using e.g. differencing. Commented Jul 19, 2022 at 7:07