Ask MATLAB Expert

Assignment - Bayesian Inference using the Metropolis Algorithm

In the section, you will use the algorithm you coded in the previous part to make inference given real data. The data (when we will call y) is two-dimensional data, where the first column is X1 and the second column is X2. In the example, we will assume that our data follows a multivariate normal distribution with unknown mean vector μ and unknown covariance matrix ∑.

[X1, X2]T ∼ N(μ, ∑)

You are only given 15 data points (rows). Your job will be to make internees on the unknown parameters of the distribution μ and ∑. To do so, we will do some Bayesian data analysis. In Bayesian inference, all unknown parameters are treated as random variables. The goal is to find the distribution of the unknown parameters given the data. Suppose that we have a vector of unknown parameters θ. From Bayes' theorem, we know the following is true:

p(θ|y) = (p(y|θ)p(θ))/p(y) ∝  p(y|θ) p(θ)

In the above expression, p(y|θ) is the likelihood function, which can be interpreted as "how likely did our data come from this distribution given the parameters θ. p(θ) is the prior distribution of the unknown parameters, which can be interpreted as "what do I know about my parameters before doing any inference". p(y) is a normalizing constant which makes p(θ|y) a valid probability distribution. Our Goal is to understand how our data affected our knowledge about the unknown parameters (hence we want to learn p(θ|y)). The problem is that we often do not have p(θ|y) in a nice closed form which we can draw samples from. This is where the Metropolis algorithm comes in. The goal is draw samples from p(θ|y) using the Metropolis algorithm. Before you do anything, here are the specs you need to follow: (1) Under the assumption that our data points are independent and identitcally distributed, the likelihood function of the data can be written as a product over all data points:

p(y|θ) = n=1ΠN p(yn|θ)

(2) We will exploit the fact that p(y) is fuel a normalizing constant and thus will consider that our target distribution is just π(θ) = p(y|θ)p(θ). With this infomration, the task should now be more clear. Warning: this part of the project is not easy, as you will have to do some thinking/researching on your own.

If you need me to point you to other references, please do not hesitate to ask. Here are the specific tasks:

1. Write down the likelihood function for the data you are given. In other words, what is p(y|μ, ∑).

2. You will assume that the prior distribution p(μ, ∑) = p(μ)p(∑). In other words, we assume that before getting any data μ and ∑ are independent. For μ the prior distribution we will choose is multivariate normal distribution and for ∑ we will use the inverse-Wishart distribution (which is a distribution over matrices). Write down both distributions. What are their parameters?

3. After reading a bunch of studies and obtaining prior knowledge, you think the moan parameter μ should be around [-7, 4.5]T. You also think that the covariance matrix should be around [15, 5; 5, 15]. Can you write down some suitable parameters for the prior that will make the expected values of the priors agree with the prior knowledge?

4. Using this information now, write a function called unnormalizsd_posterker.m in MATLAB which takes in values of μ and ∑ and outputs the evaluated values π(μ, ∑).

5. Run the Metropolis algorithm on this distribution. Keep running the loop until you have accepted 5000 samples. In the samples that have been accepted to do any Inference. From these samples, only use the last 4000. Note: You will struggle to choose a suitable random walk so that the acceptance of the samples is high, especially for the random walk of the matrix. Do some research! Ask Google what are proper proposal/candidtate distribution for unknown mean and covariance matrices!

6. Histogram the samples of μ using the hits3 function in MATLAB.

7. Compute the posterior means of both μ and ∑.

Attachment:- Assignment File.rar

MATLAB, Engineering

  • Category:- MATLAB
  • Reference No.:- M92819796

Have any Question?


Related Questions in MATLAB

Assignment - matlab programmingusing appropriate matlab

Assignment - MatLab Programming Using appropriate MatLab syntax, write the code required to analyse and display the data as per the problem description. The order of the MatLab Program should be as follows: Variables and ...

Assignment details -need to write a code for connecting

Assignment Details - Need to write a code for connecting segments (Lines) a special case of TSP. The problem is to connect lines in 2d/ 3d space with path obstructions. Can you help me write the code for this? Hope you m ...

Assignment -we have daily gridded rainfall data of 40 years

Assignment - We have daily gridded rainfall data of 40 years and structure of the dataset is like below; Lat = [6.5:0.25:38.5]; Lon = [66.5:0.25:100]; Rainfall (135x129x365x40) (Lon, Lat, days, years). Now, we looking fo ...

Question a safe prime is a prime number that can be written

Question : A safe prime is a prime number that can be written in the form 2p + 1 where p is also a prime number. Write a MATLAB script file that finds and displays all safe primes between 1 and 1000.

Question - verify the attached paper with matlab and get

Question - Verify the attached paper with matlab and get all the results in the paper and explain step by step the matlab code. Paper - Improving Massive MIMO Belief Propagation Detector with Deep Neural Network. Attachm ...

Assignment -data is given on which want to do computational

Assignment - Data is given on which want to do computational production planning using Metaheuristic MATLAB Programming: 1) Ant Colony Algorithm on both Partial and Total Flexible Problem. 2) Bee Algorithm on both Partia ...

What comparison of means test was used to answer the

What comparison of means test was used to answer the question

Question 1 manipulate spectral imagehyperspectral images

Question 1. Manipulate spectral image Hyperspectral images can be seen as a generalisation of normal colour images such as RGB images. In a normal RGB colour image, there are 3 channels, i.e. channels for red colour, gre ...

Assignment -matlab codes and simulated model in

Assignment - Matlab codes and simulated model in simulink/matlab and truetime. 1. Matlab codes and simulink model for pid controller optimization using particle swarm optimization (PSO) my plant is integer order 1000/(s^ ...

Assignment matlab programmingusing appropriate matlab

Assignment: MatLab Programming Using appropriate MatLab syntax, write the code required to analyse and display the data as per the problem description. The order of the MatLab Program should be as follows: Variables and ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As