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.


The fitting is supposed to account for the noise. Nevertheless, I am also a pragmatist who observes he gets more believable results if he smoothed the data first. I’m curious to see the take of theorists, to learn if I introduce problems by doing the signal pre-processing.
The data you have seem to be “filterable” using a low pass Fourier Transform filter, at first glance. I only recently read into that technique, and now I’m slapping myself for all those times that I did it in much more difficult ways.
