2 views (last 30 days)
gujax on 22 Oct 2020
Commented: gujax on 23 Oct 2020
Matlab has the MLE tool : mle(data,pdf)
I have a custom distribution :pdfM
I have generated data the following way: [size of data, trials]
For example data(1,100) means for each trial I pick 1 data randomly from this distribution and
data(500,100) means I pick 500 data points in 'each' trial so its a matrix of data points x number of trials
But mle(data, pdf) isn't working. I read that instead I have to provide a vector for the data. So this is confusing!
Does it mean for the case of data(500,100), I have to do this
for j=1:trials %=100
mle(data(500,j),pdfM,'start',some number here)
end
And the next question is when I run the above code and get parameter of interest, I will have N sets of the same parameter where N=number of trials. Should I be using that to calculate standard deviation and confidence intervals? Thanks

the cyclist on 22 Oct 2020
Let's step back to the big conceptual picture. The mle function is estimating the most likely parameters for a distribution of sample data. One distribution. That sample distribution is contained in a vector -- not a matrix.
So, yes, you estimate one set of parameters from one vector of data (one sample distribution).
If you have 100 trials (and therefore 100 distributions) then a loop like the one you wrote would come up with 100 set of MLE parameters, yes.
I don't know if that's what you want, but you can do that.

#### 1 Comment

gujax on 23 Oct 2020
Thanks @the cyclist, that is what I wanted. I thought there was some parallelization method for trials because the trials are independent.