Message Boards Message Boards

Rearrange a matrix of data to Map LinearModelFit?

GROUPS:

Hello, Community

I have built the following matrix (10,10) of data

xdata = Table[RandomVariate[NormalDistribution[], n], 10];
\[Epsilon]data = Table[RandomVariate[NormalDistribution[0, RandomChoice[{1/3, 1, 3}]], n], 10];
\[Beta]data = Table[RandomChoice[{1/3, 1, 3}, n], 10];    
ydata = xdata \[Beta]data + \[Epsilon]data;

I rearranged the data according to

data = Table[Transpose[{ydata[[k]], xdata[[k]]}], {k, 10}];

But when I map LinearModelFit to estimate 10 equations like below,

lsFunc = LinearModelFit[#, x, x] & /@ data

It doesn't work {:^(

Can someone please let me know my mistake and how to fix it?

Also, how can I Map properties to the LinearModelFit results? For example, I want to extract the list of "BestFitParameters".

Answer
3 months ago

OK, it wasn't working then but it's working now...Go figure!

enter image description here

I still need help with Mapping the properties of LinearModelFit to the results. The following, for example, doesn't work:

parametersLs = Map[lsFunc["BestFitParameters"], lsFunc]

I would appreciate any help. Thanks in advance,

Thad

Answer
3 months ago

OK, this worked like a charm:

Table[lsFunc[[j]]["BestFitParameters"], {j, 10}]

Cheers,

Thad

Answer
3 months ago

You can also get the parameters with this:

Through[lsFunc["BestFitParameters"]]

It is equivalent to Table[[lsFunc[[k]]["BestFitParameters"], {k, 10}].

By the way, you can also construct data like this:

data = Transpose[{ydata, xdata}, {3, 1, 2}];
POSTED BY: Michael Rogers
Answer
3 months ago

Group Abstract Group Abstract