I think the real trouble here is data. You would need a function that perhaps takes one argument for t’s or dt’s and one for x’s?
If the data is simply sparse but regular (or somewhat so), a masked array (NA’s where data is missing) would work out of the box.
I’m insufficiently well-read on GRW to be sure, but if you stand by sqrt(sd*dt), your problem is solved, eg simply use
pm.GaussianRandomWalk(sd=tt.pow(dt, sd, 0.5), mu=0, observed=x)