class_docstr: Construct the Brownian Motion model with unknown scale parameters.
  
  This models a Brownian Motion process with a Gaussian observation model.
  
  ```none
  innovation_noise_scale ~ LogNormal(loc=0, scale=2)
  observation_noise_scale ~ LogNormal(loc=0, scale=2)
  
  locs[0] ~ Normal(loc=0, scale=innovation_noise_scale)
  for t in range(1, num_timesteps):
    locs[t] ~ Normal(loc=locs[t - 1], scale=innovation_noise_scale)
  
  for t in range(num_timesteps):
    observed_locs[t] ~ Normal(loc=locs[t], scale=observation_noise_scale)
  ```
  
  This model supports missing observations, indicated by NaNs in the
  `observed_locs` parameter.
class_docstr_tok: ["Construct","the","Brownian","Motion","model","with","unknown","scale","parameters",".","This","models","a","Brownian","Motion","process","with","a","Gaussian","observation","model",".","``","`","none","innovation_noise_scale","~","LogNormal","(","loc=0",",","scale=2",")","observation_noise_scale","~","LogNormal","(","loc=0",",","scale=2",")","locs","[","0","]","~","Normal","(","loc=0",",","scale=innovation_noise_scale",")","for","t","in","range","(","1",",","num_timesteps",")",":","locs","[","t","]","~","Normal","(","loc=locs","[","t","-","1","]",",","scale=innovation_noise_scale",")","for","t","in","range","(","num_timesteps",")",":","observed_locs","[","t","]","~","Normal","(","loc=locs","[","t","]",",","scale=observation_noise_scale",")","``","`","This","model","supports","missing","observations",",","indicated","by","NaNs","in","the","`","observed_locs","`","parameter","."]
code: def _prior_distribution(self):
      return self._prior_dist
  
imports: import functools
  import tensorflow.compat.v2
  import tensorflow_probability
  from inference_gym.internal import data
  from inference_gym.targets import bayesian_model
  from inference_gym.targets import model
  from inference_gym.targets.ground_truth import brownian_motion_missing_middle_observations
  from inference_gym.targets.ground_truth import brownian_motion_unknown_scales_missing_middle_observations
label_desc: Use image node_id 2 for calling the BrownianMotionUnknownScales obj's underlying member method code with example usage: obj._prior_distribution() and returns: self