how to run multiple number of regressions?

1 vue (au cours des 30 derniers jours)
alpedhuez
alpedhuez le 29 Juil 2021
Modifié(e) : alpedhuez le 30 Juil 2021
I have table T with
Date Location Sales Visitors
1/1 NY 10 5
1/1 LA 7 3
1/2 NY 9 5
1/2 LA 4 1
Then I want to run regressions
(sales)=a_i*(visitor)+b_i
for each i = {NY, LA}. Is there any simpler way to do this?

Réponse acceptée

dpb
dpb le 29 Juil 2021
tRegress=rowfun(@(x,y)polyfit(x,y,1),T,'GroupingVariables',{'Location'}, ...
'InputVariables',{'Visitors','Sales'}, ...
'NumOutputs',1, ...
'OutputVariableNames',{'Coefficients'});
  3 commentaires
dpb
dpb le 30 Juil 2021
tRegress=rowfun(@(x,y)fitlm(x,y,'linear'),T,'GroupingVariables',{'Location'}, ...
'InputVariables',{'Visitors','Sales'}, ...
'NumOutputs',1, ...
'OutputVariableNames',{'Model'}, ...
'OutputFormat',"cell");
If it gets too much more complicated may have to use an m-file for the function instead of anonymous function...also have to switch to a cell output to catenate the model outputs instead of table.
alpedhuez
alpedhuez le 30 Juil 2021
Modifié(e) : alpedhuez le 30 Juil 2021
Let me work on it.

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Produits


Version

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by